gpffh1011

작업10, Pure FTPD 설치 본문

설정, 세팅, 오류

작업10, Pure FTPD 설치

gpffh1011 2020. 9. 10. 22:47

작업10, Pure FTPD 설치

why FTPD?

프로그램을 돌리기 위해서는(배포를 위해서), 소스코드를 압축해 실행파일로 만들어서 올려야됨.

원격파일 업로드 전송을 하는 파일질라.

실 서버는 서울에 있음. putty는 파일 업로드 하기에는 부적합.

 

 

pure-ftpd 설치 및 활성화

  • 설치 : sudo yum install pure-ftpd -y
  • 설정파일 : sudo vim /etc/pure-ftpd/pure-ftpd.conf
    • MaxClientsNumber 10배 이상 늘리기  // 안함
    • MaxClientsPerIP 100배 이상 늘리기  // 안함
    • MySQLConfigFile /etc/pure-ftpd/pureftpd-mysql.conf > 찾아서 앞에 # 주석 지우고 저장(ftpd의 사용자 권한을 MYSQL을 통해서 하겠다)
  • 설정파일 : sudo vim /etc/pure-ftpd/pureftpd-mysql.conf
    • MYSQLSocket /var/lib/mysql/mysql.sock 로 바꿔줌
      • mysql 소켓 파일 확인은 mysql이 돌아가고 있는 상태에서 updatedb 명령 후 locate mysql | fgrep sock 찾음
    • MYSQLUser pureftpd (# pure-ftpd 에서 mysql 에 접속할 때 사용할 ID)
    • MYSQLPassword sbs123414 (# pure-ftpd 에서 mysql 에 접속할 때 사용할 PW)
    • MYSQLDatabase pureftpd (가 사용할 DB접속 비번 # ftp 사용자 정보 DB)
    • MYSQLCrypt cleartext (# 비번은 평문으로 저장 하겠다.)

 

  • mysql root 계정으로 실행 후 사용자 만듬
    • mysql -u root -p
    • grant all privileges on pureftpd.* to pureftpd@'localhost' identified by 'sbs123414'; (local에서만 접속을 할 수 있는 pureftpd 사용자를 만듬)
    • exit
  • DB만들기
    • SQLyog 에서 아래 쿼리문 실행
    • 아래 코드에서 1000은 본인(myflex) 계정의 계정번호로 대체
    • 계정번호 확인은 vim /etc/passwd 에서
CREATE DATABASE pureftpd;

USE pureftpd;

CREATE TABLE users (
  uidx int(10) unsigned NOT NULL AUTO_INCREMENT,
  `user` varchar(100) NOT NULL,
  `password` varchar(100) NOT NULL,
  `gid` int(10) unsigned NOT NULL,
  `uid` int(10) unsigned NOT NULL,
  `occurDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `status` tinyint(1) unsigned NOT NULL DEFAULT '1',
  `ipaccess` varchar(15) NOT NULL,
  `comment` varchar(100) NOT NULL,
  `ulBandWidth` smallint(5) unsigned NOT NULL,
  `dlBandWidth` smallint(5) unsigned NOT NULL,
  `quotaSize` smallint(5) unsigned NOT NULL,
  `quotaFiles` int(10) unsigned NOT NULL,
  `dir` varchar(100) NOT NULL,
  PRIMARY KEY (`uidx`)
);

insert  into `users`(`uidx`,`user`,`password`,`gid`,`uid`,`occurDate`,`status`,`ipaccess`,`comment`,`ulBandWidth`,`dlBandWidth`,`quotaSize`,`quotaFiles`,`dir`) values 
(1,'site1','sbs123414',1000,1000,NOW(),1,'*','',0,0,0,0,'/web/site1'),
(2,'site2','sbs123414',1000,1000,NOW(),1,'*','',0,0,0,0,'/web/site2'),
(3,'site3','sbs123414',1000,1000,NOW(),1,'*','',0,0,0,0,'/web/site3');

실행 결과
vim /etc/passwd 치고 내 계정번호 확인
 user, gid, uid, dir 변경\

 

 

  • Filezilla 연결 전 먼저 ftpd를 활성화,시작
    • sudo systemctl enable pure-ftpd
    • sudo systemctl restart pure-ftpd
  •  폴더 생성, myflex와 연결작업
    • sudo mkdir /web 
    • cd /web/
    • ls -alh
    • sudo chown myflex:myflex . {.(현재폴더)가 myflex로 바뀌도록}

 

      ** 문제발생 : 쌤과 보여지는 파일이 다름

쌤이랑 다름 (나는 이미 myflex로 되어있었음. 파일도 달라)

 

        ** 원인 : tmp안에서 모든 작업이 이루어 졌어야 하는데, 학원에서 하던 작업을 집에서 이어하다가 놓쳤다.

                     (학원에선 초반부터 tmp안에 들어가서 했기에 잊고있었다.)

 

        ** 해결 : 첨부터 다시 작업 (대부분은 잘 되어있었다.)

root가 myflex로 바뀌었다. 성공!

 

  • web/st/n25생성

 

 

## ftp(내부), 파일질라(외부)로 접속 테스트

  • ftp연결

ftp 깔기
ftp로 내부접속 확인

 

  • Filezilla 연결

전송설정은 능동형으로
연결성공!!
filezilla에 그림판그림.png 올리고 putty에서 올린것 확인 까지 완료!!

 

 

+ 서비스를 늘리고 싶다면 하나씩 추가