ubuntu ftp 설치하기.

Ubuntu 2020. 6. 12. 08:20

사용유저 추가

먼저 ftp를 사용할 유저를 생성합니다.
기본적으로 리눅스 상의 모든 유저는 ftp를 사용할 수 있습니다. 일반유저 한명만 추가하면됩니다.

$ sudo adduser newuser

저는 worker라는 유저를 추가하였습니다.

$ sudo adduser worker

 

설치

설치하는 방법은 매우 간단합니다. 아래 한줄을 입력하면됩니다.

$ sudo apt-get install vsftpd

 

접속을 위한 계정 IP 확인

호스팅이나 클라우드 서버를 사용하는 경우, 서비스 신청과 동시에 ip를 확인할 수 있지만, 저처럼 가상 pc에 사용하시는 분들은 해당 서버에 접속을 위해 ip를 확인할 필요가 있습니다.

$ sudo ifconfig

이렇게 입력하면 ip가 표시되지만, net-tools가 설치되어 있지 않은 경우, 해당 명령어를 사용할 수 없습니다. 그럴경우 net-tool을 아래와 같이 설치해 주세요.

$ sudo apt-get install net-tools

제 아이피는 아래와 같이 확인이 되었습니다.

 

ftp 접속해 보기

이제 ftp 접속을 해 접속이 가능한지 확인을 해봅시다. 저는 파일질라를 이용해 접속을 했습니다.

연결을 해 보면 바로 접속이 됩니다. 아무런 설정을 하지 않았는데도요.

하지만 파일을 업로드 하려면 파일이 업로드 되지 않을 것 입니다. 

FTP 자체의 쓰기 권한을 주지 않아서 입니다. /etc/vsftpd.conf 파일을 열어 쓰기 권한을 허용해 주면됩니다.

먼저 콘피그 파일 복제.

$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old

파일 열기.

$ sudo vi /etc/vsftpd.conf

write_enable=YES 문자열을 찾아 앞의 #을 제거하고, :wq(저장후 종료)를 눌러 종료합니다.

ftp를 재 시작합니다.

$ sudo service vsftpd restart

저는 파일이 잘 올라 갑니다.

 

업로드 파일 권한설정

파일을 업로드 해보면, 권한이 rw------ 로 잡혀 있을 것 입니다. 이것은 파일 업로드/다운로드에서는 문제가 되지 않지만, 웹서버등을 운영하려고 하면, php 파일등이 실행되지 않거나 웹문서를 표시하지 못할 것 입니다. 콘피그 파일을 열어 local_umask=022 항목의 주석을 제거하면됩니다.

참고로, 마스크 이므로, 파일 업로드시 777 - 022 = 755 로 파일 권한이 설정됩니다.

$ sudo vi /etc/vsftpd.conf

local_umask=022 문자열을 찾아 앞의 #을 제거하고, :wq(저장후 종료)를 눌러 종료합니다.

$ sudo service vsftpd restart

 

 

'Ubuntu' 카테고리의 다른 글

Ubuntu 사용자 계정 관리 명령  (0) 2023.01.03
Ubuntu 사용자 계정 관련 파일  (1) 2023.01.03
Ubuntu 파일 사용 명령  (0) 2023.01.02
Ubuntu 디렉토리 사용명령  (0) 2023.01.02
우분투( ubuntu ) apache + php 설치  (0) 2020.06.12
Posted by 창업닉군
,

작업환경

제 작업환경은 mac의 parallels를 설치, ubuntu 가상 pc를 생성해 작업하였습니다.

OS : ubuntu 18.04

 

참고문서

https://webnautes.tistory.com/1185

 

Ubuntu 18.04에 LAMP ( Apache2, MySQL , PHP 7) 설치하는 방법

Apache2 웹서버, MySQL 데이터베이스 서버, PHP를 Ubuntu에 설치하는 과정을 소개합니다. LAMP는  운영 체제와 오픈 소스 소프트웨어 스택의 조합으로 Linux, Apache, MySQL, PHP의 첫글자만 가지고 만든 약어��

webnautes.tistory.com

 

apache 설치

기본 설치.

$ sudo apt-get update

$ sudo apt-get install apache2

설치 확인.

$ apache2 -v

브라우저 접속확인

홈디렉토리는 /var/www/html 입니다.

 

Mysql 설치

제 작업에는 mysql이 필요가 없었습니다. 하지만, 아파치 php를 설치하며, mysql을 설치하지 않으면 섭섭하므로, 설치만 했습니다.

$ sudo apt-get install mysql-server

 

PHP 설치

$ sudo apt-get install php php-mysql

홈디렉터리에 phpinfo.php 파일을 만들고 php 정보를 볼수 있는 내용을 채워 넣습니다.

$ sudo vi phpinfo.php

<?php phpinfo(); ?>

:wq

그리고 아래와 같이 php 가 표시되면 성공입니다.

 

php.ini 수정

저처럼 서버 관리자가 아니라면, php.ini 설정을 한 군데만 고치면, 될것 같습니다. 오류시 오류 로그 표시.

display_errors = Off 를 display_errors = On 으로 바꿔 주세요.

저장후 아파치 서버를 재시작해 주면 적용됩니다.

$ sudo service apache2 restart

 

 

 

 

 

 

'Ubuntu' 카테고리의 다른 글

Ubuntu 사용자 계정 관리 명령  (0) 2023.01.03
Ubuntu 사용자 계정 관련 파일  (1) 2023.01.03
Ubuntu 파일 사용 명령  (0) 2023.01.02
Ubuntu 디렉토리 사용명령  (0) 2023.01.02
ubuntu ftp 설치하기.  (0) 2020.06.12
Posted by 창업닉군
,

우분투에서 뭔가를 설치한다는 것은 매우 쉬운 일입니다. 너무 간단하기도 하고, 잘 설명된 사이트가 있으므로, 링크만 걸어 둡니다.

 

[ 참고 문서 ]

우분투 몽고DB 서버 설치 : https://zetawiki.com/wiki/우분투_몽고DB_서버_설치 .

 

 

 

 

 

 

 

 

 

'Ubuntu > Ubuntu 옛글' 카테고리의 다른 글

스팸메일로 처리 되지 않게 하기  (0) 2019.06.17
ubuntu sendmail 설치  (0) 2019.06.17
Postfix 설치 (ubuntu, SquirrelMail, apache, php)  (0) 2019.06.10
우분투 18.04 vsftp 설치  (0) 2019.06.04
Posted by 창업닉군
,

ubuntu에서 메일을 주고 받으려면, sendmail 이나 postfix를 설치하면 됩니다. 요즘 postfix를 사용하는 곳이 많은 것 같지만 저와는 상성이 별로 좋지 못하더군요. 저는 쉽게 설치되고, 잘 동작하는 sendmail을 써 보도록 하겠습니다. sendmail을 설치하고, 이 곳 저 곳으로 메일을 보내어 보면, 많은 곳에서 (특히 Gmail) 스팸 처리가 됩니다. 다음 문서에서 스팸 처리를 피하는 것에대해서 다뤄 보려고 합니다. (저도 아직 해 보지 않아 스팸 처리를 피할 수 있는지 확신은 없습니다.)

 

1. sendmail SMTP Server 설치.

설치는 매우 쉽습니다.

apt-get install sendmail

 

2. /etc/mail/sendmail.mc 파일 변경.

/etc/mail/sendmail.mc 파일을 열어 아래 2줄을 지웁니다. (왜 지우는지는 아직 모르겠음->안지워도 잘 갔던 느낌이).

DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MTS-v4, Port=smtp, Addr=127.0.0.1')dnl

 

3. 샌드메일 재 시작.

sudo service sendmail restart

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Ubuntu > Ubuntu 옛글' 카테고리의 다른 글

MongoDB 설치 Ubuntu  (0) 2019.07.04
스팸메일로 처리 되지 않게 하기  (0) 2019.06.17
Postfix 설치 (ubuntu, SquirrelMail, apache, php)  (0) 2019.06.10
우분투 18.04 vsftp 설치  (0) 2019.06.04
Posted by 창업닉군
,

목적 자체는 Postfix를 설치해 메일을 보내는 것 입니다. 하지만, 메일이 잘 오고 가는지 테스트를 해야 하므로, apache + php 설치 후 SquirrelMail이라는 웹메일 프로그램을 설치해, 테스트를 할 예정입니다.

 

[공식문서]

Squirrel Mail : https://squirrelmail.org .
Apache : http://apache.org .
PHP : php.net .
Postfix : postfix.org .
Dovecot : https://www.dovecot.org .

 

[참고문서]

Postfix 설치 : https://www.tecmint.com/setup-postfix-mail-server-in-ubuntu-debian/ .

 

 

 

1. Apache2 and PHP5 설치.

먼저 adt-get update를 해 줍니다. 이 것은 다운로드 가능한 최신 목록을 가지고 오는 명령입니다. 제가 한 번 안하고 설치했다 고생한 경험이 있습니다. 꼭 해 주는 것이 좋습니다.

$ sudo apt-get update

 

그럼 아래의 명령을 이용해 apache2와 php5를 설치하도록 합니다.

$ sudo apt-get install apache2 php

 

다른 곳에서 접속하려면 80번 포트를 열어두어야 함을 잊지 말아야 합니다.

 

 

 

2. postfix mail 서버 설치.

아래와 같이 입력해 postifx를 설치하도록 합니다.

$ sudo apt-get install postfix

 

설치중 첫 항목에서는 인터넷 사이트용으로 설정하도록 선택합니다.

 

그 다음 항목에서 메일을 받기 원하는 주소를 입력해 줍니다. 우리는 도메인을 설정하지 않았으므로, testing 이라고 입력합니다. 블로그를 쓰며 하다보니 'ㅅ'이 들어 갔습니다.

 

그 다음 메일 서버를 다시 시작해 줍니다.

$ sudo service postfix restart

 

 

 

3. Dovecot

다음과 같이 Deovecot을 설치합니다.

$ sudo apt-get install dovecot-imapd dovecot-pop3d

 

dovecot을 재 시작합니다.

$ sudo service dovecot restart

 

 

 

4. Installing SquirrelMail

SquirrelMail을 아래와 같이 입력해 설치 합니다.

$ sudo atp-get install squirrelmail

 

SquireelMail을 설정합니다.

$ sudo squirrel-configuire

 

 

 

*다음에 계속 작성하겠습니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Ubuntu > Ubuntu 옛글' 카테고리의 다른 글

MongoDB 설치 Ubuntu  (0) 2019.07.04
스팸메일로 처리 되지 않게 하기  (0) 2019.06.17
ubuntu sendmail 설치  (0) 2019.06.17
우분투 18.04 vsftp 설치  (0) 2019.06.04
Posted by 창업닉군
,

고객의 요청으로 aws, EC2 node.js 웹 서버를 구축하게 되었습니다. 그래서 파일을 업로드할 ftp 서버를 하게되어, ftp 설치를 하는 김에 같이 하게 되었습니다.

 

[참고문서]

VSFTPD 설치방법 : https://linuxize.com/post/how-to-setup-ftp-server-with-vsftpd-on-ubuntu-18-04/ .

 

 

1. FTP 설치.

- 먼저 우분투에 접속하기 위해 ssh를 켭니다. 그리고, 키 페어를 이용해 로그인합니다. (키페어 관련은 따로 다루지 않습니다.).

$ ssh <키페어파일 위치> <EC2 서버 주소>

 

-  apt를 이용해 설치하기전 apt를 업데이트해 주는 것이 좋습니다.

sudo apt update

 

- 간단히 apt를 이용해 vsftp를 설치하겠습니다. 아래와 같이 명령을 통해, apt를 설치해 주도록 합니다.

$ sudo apt install vsftpd

 

- 그럼 약 10초 정도면 설치가 끝이 납니다. 그리고, vsftpd를 이용해 ftp 상태를 확인합니다.

$ sudo systemctl status vsftpd

명령을 치면 아래와 같이 설치된 위치와 현재 상태등을 확인할 수 있습니다.

 

- 부팅시 자동으로 시작되게 하려면, 아래와 같이 명령합니다.

$ sudo systemctl enable vsftpd

 

그리고 방화벽을 확인해 FTP 트래픽이 허용되어 있는지 확인합니다.

$ sudo ufw status

저는 UFW를 따로 설치하지 않아 다음과 같이 표시되었습니다.

 

 

 

2. AWS  보안 그룹 업데이트.

단독으로 리눅스를 쓰게 되면, UFW를 이용해, 방화벽을 설치해 사용하면 되고, 저처럼 아마존이나, AZURE를 사용하게 되면, 보안 그룹을 업데이트해야 합니다. (기본적으로 모든 포트가 막혀 있습니다.).

저는 AWS를 사용해 업데이트를 하겠습니다. 제 경험상 애저또한 설정이 크게 다르지 않습니다.

 

- 콘솔에 접속 후 EC2 서비스를 눌러 줍니다.

 

- 리소스화면이 나타나면, 보안그룹을 선택해 줍니다.

 

- FTP를 설치한 인스턴스의 보안 그룹을 선택하고, 작업 버튼을 눌러 인바운드 규칙 탭을 누르고, 편집 버튼을 눌러 줍니다.

 

- 인바운드 규칙 창이 나타나면, 규칙 추가 버튼을 눌러 줍니다.

 

- 새로운 규칙입력 필드가 추가되면, 유형은 [사용자 지정 TCP], 포트범위는 [20-21], 소스는 어디서나 접속이 가능하도록 [0.0.0.0/0], 설명은 [FTP]를 입력하고 저장버튼을 눌러 줍니다.

- 그럼 아래와 같이 인바운드 규칙이 추가되었습니다.

 

- 그리고 나서 파일 질라를 통해 접속해 보면 접속이 매우 잘 됨을 확인할 수 있습니다.

 

 

3. 전통적인 id-password 방식 로그인을 위한 계정 추가 및 설정.

위와 같이 키-페어 방식을 사용해 접속을 하면 여러모로 편리하지만, ftp를 지원하는 많은 프로그램 툴들( ATOM VS-CODE 등 )은 위와 같은 방식으로 접속할 수 없거나, 접속되어도 제약이 발생할 수 있습니다. 그래서, 전통적인 id-pass 방식을 통한 접속도 가능하도록 설정해 둘 필요가 있습니다.

 

- 파일을 주고 받을 때 사용할 포트 열기.

id-password 방식은 데이터를 주고 받을 포트를 따로 열어야할 필요가 있습니다. 앞서 열어둔 22번 포트는 로그인등 명령을 주고 받을 때만 사용합니다. 저는 AWS 사용해 이것으로 설명을 하지만, 여러분들은 상황에 맞게 방화벽등의 포트를 열어 두시면되겠습니다.

다시 보안 그룹으로 돌아와 포트를 열어 둡니다.

 

- 유저 추가.

아래와 같이 명령어를 입력하면, 유저가 추가되고, /home 폴더 아래 해당 유저를 위한 폴더가 추가됩니다.

$ sudo adduser ftpuser

 

- ftp 폴더 생성.

상위 폴더에서도 사용이 가능하지만, 아마존에서는 ftp를 위한 폴더를 생성하고 그곳에 사용하도록 권하고 있었습니다. 먼저 ftp만 사용할 폴더를 생성합니다.

$ sudo mkdir /home/ftpuser/ftp

 

그리고, 해당 폴더는 누구나 접근 가능하도록 (아마 아파치 웹과 같이 사용할 경우가 많으므로, 아마존에서는 이렇게 셋팅하도록 하는 것 같습니다.) 소유자를 바꿔줍니다.

$ sudo chown nobody:nobody /home/ftpuser/ftp

 

이 ftp 폴더는 모두가 읽기와 실행만 가능하도록 변경합니다.

$ sudo chmod a-w /home/ftpuser/ftp

 

- ftp 파일 업로드 폴더.

이제 해당 유저를 위한 파일 업로드 폴더를 생성해 줍니다.

$ sudo mkdir /home/ftpuser/ftp/files

 

소유자는 해당 유저로 설정해 줍니다.

$ sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files

 

 

 

4. vim 패키지 추가.

이제 FTP를 설정할 텐데, 이 작업에 사용할 vi 툴이 필요합니다. 기본적으로 설치되어 있지만, 가끔 설치되어 있지 않을 수 있습니다. 아래와 같이 입력해 vim 패키지가 설치되어 있는지 확인합니다.

$ dpkg -l vim

 

설치되어 있지 않다면, 아래와 같이 표시됩니다.

 

아래 명령을 통해 패키지를 설치합니다.

$ sudo apt install vim

 

 

 

5. ftp 콘피그.

/etc/vsftpd.conf 파일에 vsFtp 설정이 들어 있습니다. 조금전 설치한 vi라는 툴을 이용해 이 파일을 설정하겠습니다. 아래 명령을 통해 vi 로 /etc/vsftpd.conf 파일을 읽어 드립니다.

sudo vi /etc/vsftpd.conf

 

- 누구나 FTP를 사용할 수 있는 설정을 no로 하고, 현재 리눅스 로컬 유저의 로그인 방식을 허용 합니다.

설치 후 기본적으로 아래와 같이 되어 있기 때문에, 그렇게 되어 있는가 만 확인하면 됩니다.

local_enable=YES
anonymous_enable=NO

 

- 파일을 업로드 설정.

파일을 업로드할 수 있도록. 다음 문장의 주석 (#)을 제거해 아래와 같은 상태가 될 수 있도록 합니다.

write_enable=YES

 

- 일반 유저가 자신이 권한을 가진 폴더외에는 경로 트리를 보지 못하게 설정합니다. (자신의 홈 디렉토리 부터 볼 수 있음).

chroot_local_user=YES

 

- 각 유저의 로컬 디렉토리를 알려 줄 수 있도록 다음과 같이 설정합니다.

user_sub_token=$USER
local_root=/home/$USER/ftp

 

- 패시브 모드를 위한 설정을 해 줍니다.

pasv_min_port=12000
pasv_max_port=12100

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

 

- [esc]키를 눌러서 아래와 같이 명령하고 vi를 저장과 함께 종료합니다.

:wq

 

- 재시작 및 상태확인.

옵션을 적용하기 위해 재 시작해 줍니다.

$ sudo systemctl restart vsftp

 

그리고 동작상태를 확인해 줍니다.

sudo systemctl status vsftpd

 

잘 설정되었다면 아래와 같이 나옵니다.

 

6. ftp 접속.

파일 질라에서 아래와 같은 요령으로 접속을 합니다.

저는 접속이 잘되었는데 여러분은 어떤가요?

 

 

 

 

 

'Ubuntu > Ubuntu 옛글' 카테고리의 다른 글

MongoDB 설치 Ubuntu  (0) 2019.07.04
스팸메일로 처리 되지 않게 하기  (0) 2019.06.17
ubuntu sendmail 설치  (0) 2019.06.17
Postfix 설치 (ubuntu, SquirrelMail, apache, php)  (0) 2019.06.10
Posted by 창업닉군
,