[개발자가 하는 일4] 본격적인 서버 구축 - vsftpd설치,FTP 디자인 및 개발
2016.09.10. 11:37



4화 본격적인 서버 구축 - vsftpd 설치,FTP

이전 화에선 운영체제를 설치하고 기본 설정을 확인했습니다.


필요할 프로그램들을 설치하겠습니다.

먼저 vsftpd를 먼저 설치합니다.


설치하기 전에 vsftpd의 사용 목적부터 생각해보겠습니다.

 

* vsftpd는 왜 설치할까요


저는 이미지 서버 구축 및 서버 프로그램을 업로드/다운로드 하려는 목적으로 vsftpd를 설치합니다.
이제 vsftpd 를 설치하려는 목적이 생겼습니다.

* vsftpd는 무엇일까요

vsftpd는 파일전송 규약(File Transfer Protocol, FTP)으로 파일을 원활하게 업로드/다운로드 하는게 목적입니다.

예를 들어 내 컴퓨터에 있는 이미지 파일 서버로 업로드 하거나 서버에 있는 이미지 파일을 내 컴퓨터로 내려받기 위함입니다. 서버 프로그램을 올리거나 기타 파일을 업/로드 내려받기 위해 설치하고 사용합니다.

위에 내용 중 파일전송규약이라는 말이 나오는데 파일전송규약에 대해 한번 알아 보겠습니다.

* 파일 전송 규약(File Transfer Protocol,FTP)의 역사

일전송규약(File Transfer Protocol,FTP) 의 기원부터 찾아보겠습니다.

파일전송규약(File Transfer Protocol,FTP)란 파일 전송 프로토콜(File Transfer Protocol)의 약자로 네트워크 상에서 컴퓨터 간에 파일을 교환하기 위해 1971년에 최초로 공개된 통신 규약입니다. 
Abhay Bhushan 란 분이 1971년 4월 16일에 작성하였습니다. 
이후 기능이 계속해서 계량되었습니다. 굵직한 내용만 요약해서 보면 아래와 같습니다.
위처럼 역사는 파일전송규약(FTP)의 역사는 약 40년 정도 되었습니다.
이후 계속되는 규약을 계량을 통해 오늘날에 이르렀습니다.

 
그럼 FTP란 정의일까요?

"The 
File Transfer Protocol  ( FTP ) is a standard  network protocol  used to transfer  computer files  between  a client and server  on a  computer network ."

위키피디아의 내용을 번역하면 
파일전송규약이란 클라이언트 컴퓨터와 서버 컴퓨터의 파일 표준 네트워크 규약입니다.

위키의 내용을 풀어 보면 이렇습니다.
네트워크에 연결된 컴퓨터끼리 데이터를 원활하게 교환하기 위한 목적으로 개발되었습니다.

저는 이 위 문장을 보며 말이 어렵다 생각이 들었습니다.

그래서 예를 들어보면  택배를 꼭 박스에 집어넣어서 보내자고 규칙을 정하는 것 처럼
컴퓨터 파일도 하나의 약속을 하는것입니다. 

이제 정의와 기원에 대해 알아 보았습니다.

그럼 이제 서버 프로그램을 설치해 볼까요


1) FTP의 설치 여부 확인
[root@mobileflow ~]# rpm -qa vsftpd* 
vsftpd-2.2.2-21.el6.x86_64

2) FTP설치 

[root@mobileflow ~]# yum install vsftpd -y 
complete!

3) FTP의 설치 여부 확인

[root@mobileflow ~]# service vsftpd status 
vsftpd is stopped

4) FTP의 설정

[root@mobileflow ~]# vi /etc/vsftpd/vsftpd.conf 
anonymous_enable=NO #익명 사용자의 접속 여부 local_enable=YES #익명 사용자의 접속 여부 write_enable=YES #업로드 허용 xferlog_enable=YES #파일 전송 로그 남김 허용 connect_from_port_20=YES #20 포트 사용 허용 xferlog_file=/var/log/xferlog #파일 전송 로그 위치 설정 #chroot_local_user=YES #루트 폴더 접근제한 listen=YES #vsftpd 데몬 동작 방식 지정(yes -> standalone, no -> xinted)
       
       
       
local_root=/var/www/static #접속 경로 설정 pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES listen_port=45000 #파일 전송 접속 포트 설정 port_enable=YES pasv_enable=YES ftp_data_port=45001 #파일 전송 데이터 포트 설정 pasv_min_port=45000 pasv_max_port=45001 session_support=YES userlist_enable=YES #유저 목록 사용

5) FTP의 시작 및 시작 확인
service vsftpd start 
Starting vsftpd for vsftpd:  [ OK ]
[root@mobileflow ~]# netstat -anp | grep vsftpd 
tcp 0 0 0.0.0.0:45000 0.0.0.0:* LISTEN 2267/vsftpd
6) FTP의 리부팅시 자동 재시작 설정
[root@mobileflow ~]# chkconfig vsftpd on [root@mobileflow ~]# chkconfig --list | grep vsftpd 
vsftpd 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제

7) 테스트 계정 생성
[root@mobileflow ~]# useradd testing [root@mobileflow ~]# passwd testing 
testing 사용자의 비밀 번호 변경 중 새 암호: 잘못된 암호: 사전에 있는 단어를 기반으로 합니다 잘못된 암호: 너무 간단함 새 암호 재입력: passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

이제 남은 과정은 이곳 에 가셔서 설치 테스트 를 진행하시면 됩니다.

vsftpd에 접속 성공하시면  아래와 같은 메시지를 보실 수 있습니다.

Status:      Connecting to IP:PORT...

Status:      Connection established, waiting for welcome message...

Status:      Insecure server, it does not support FTP over TLS.

Status:      Logged in

Status:      Retrieving directory listing...

Status:      Directory listing of ".../static" successful



다음 화 에는 이곳에 올린 파일을 웹상에서 확인하는 방법을 소개 하겠습니다.


이전 내용은 이곳에서 보시면 됩니다.
개발의뢰