본문 바로가기
Linux/Pogoplug

포고플러그 시리즈4에 아치리눅스 사용하기 (12) - net2ftp 설치 및 사용하기

by 달토끼남편 2022. 10. 4.

net2ftp는 Web기반의 FTP 클라이언트이다.

웹 브라우저만 있으면 내 포고플러그로 파일 업/다운로드가 가능할 뿐 만 아니라, 디렉토리 생성이나 삭제 등은 물론 압축 그리고 파일의 편집까지 가능하다.

 

카페에 소개되었던 내용을 참고하자.

http://cafe.naver.com/pogolinux/2157

 

 

 

net2ftp 홈페이지에서 제공하는 FTP 클라이언트.

 

 

 

 

1. 설치파일 다운로드

 

 

net2ftp 사이트에 접속해서도 이용할 수 있지만 직접 설치파일을 다운받아 어디서든 웹브라우저만 있다면 FTP를 이용할 수 있도록 내 웹서버에서 운영을 해보자.

 

 

 

 

 

풀버전과 라이트 버전 2가지가 있는데, 라이트버전에서는 오직 자바 업로드 플러그인만 포함되어 있다.

풀버전에는 HTML 에디터나 zip 라이브러리 등등이 포함되어 있다.

파일크기가 크지 않으니 5MB가 풀버전을 다운로드하자.

 

파일의 압축을 풀면  files_to_upload 라는 폴더가 있다.

이 폴더 안의 파일들을 전부 웹서버로 올려주면 된다.

아주 간단한 설명이 install.txt 파일에 있다.

 

 

 

2. 설정하기

 

앞서 웹서버의 도큐먼트 경로도 외장하드로 바꾸었을 뿐 아니라 웹서버용 FTP로 http 사용자를 사용하고 있으므로 http 계정으로 FTP에 접속해 우선 n2f 라는 이름의 디렉토리를 하나 만든다.

(여기서 n2f는 임의적으로 붙인 이름이다. 다른 것으로 해도 되지만 net2ftp 처럼 연상이 쉬운 이름은 피하자. 구글 등에서 이러한 디렉토리만 전문적으로 찾아내는 스크립트가 돌고 있을 정도니 좀 위험하다.)

 

만들어준 n2f 디렉토리에 files_to_upload에 있는 파일들을 모두 업로드했으면 temp 디렉토리의 권한을 777로 바꾼다.

 

chmod -R 777 [웹 서버 경로]/n2f/temp

그리고 기본설정은 settings.inc.php 파일에 있다.

간단하게 수정해야 할 부분들을 보자.

 

nano [웹서버 경로]/n2f/settings.inc.php

 

 

$net2ftp_settings["email_feedback"] = "webmaster@enter-your-domain-here.com"; (24번 줄)

 

$net2ftp_settings["max_filesize"]  = "10000000";  // in Bytes, default 10 MB (101번 줄)

 

101번째 줄에 보면 대용량 파일을 업/다운로드하기 위한 제한이 걸려있다.

기본 10MB로 되어 있는데 적당히 본인이 알아서 수정하면 되는데 문제는 메모리 한계에 있다.

따라서, 시리즈4의 메모리가 128MB에 불과하므로 서버가 다운되거나 하는 것을 막기 위해서는 대용량 파일

 

여기서는 20MB 정도로 고쳐보자.

 

$net2ftp_settings["max_filesize"]  = "20000000";  // in Bytes, default 10 MB

 

 

그리고 더불어 php.ini 파일도 수정을 해줘야 한다.

그에 앞서 본인의 아파치 서버에서 돌고 있는 PHP가 FTP를 지원하는 라이브러리를 포함하고 있는지 확인해 볼 필요가 없다. 

(처음에 이것때문에 이틀을 고생했다.)

 

nano [웹서버경로]/info.php

 

 

<?php

phpinfo(); 

 

?>

 

 

웹서버 루트디렉토리에서 위 파일을 만들어서 웹브라우저로 http://[내 도메인 or IP 주소]/info.php 에 접속해 보자.

 

 

 

아마 정상적으로 설치가 되었다면 특별히 설치옵션을 주지 않아도 위와같이 설치가 되었을 것이다.

그리고, 화면을을 내려서 ftp 항목이 보여야 한다.

 

 

 

 

만약 위의 ftp 항목이 보이지 않는다면 php.ini 파일에서 주석을 지워야 한다.

(php.ini 파일의 위치도 위의 화면 Configure Command 아랫 부분에 보면 Loaded Configuration File 항목을 보면 알 수 있다.)

 

 

nano /etc/php/php.ini 

 

extension=ftp.so (; 주석이 있으면 제거한다. ctrl+w 로 찾자)

 

upload_max_filesize = 20M 

post_max_size = 25M (upload_max_filesize보다는 커야한다.)

max_execution_time = 300 (5분 정도로 해주자)

memory_limit = 128M (기본값 그대로 두자.)

그리고 httpd.conf 파일에서도 업/다운로드 파일용량을 제한하기 위해 파일을 열고 맨 마지막에 추가해주자.

20MB 로 제한을 걸었다.

 

nano /etc/httpd/conf/httpd.conf

 

# Use for net2ftp

<Directory /media/pogo/ethan/>

        LimitRequestBody 20480000 

</Directory>

 

 

systemctl restart httpd

 

 

http://[내 도메인/n2f 로 접속을 해보면 로그인 화면이 나오고 FTP 사용자로 로그인하게 되면 해당 사용자의 디렉토리가 보이게 된다.

 

 

 

 

참고로 웹서비스가 제대로 안되거나 문제가 있을 때에는 /var/log/httpd/error_log 파일을 한번 들여다보면 어느 정도 도움이 된다.

 

less /var/log/httpd/error_log (끝낼 때는 q 입력)

 

처음 로그인 후 Warning: ftp_chdir(): Failed to change directory 와 같은 메시지가 나올지도 모르겠다. 

아마도 FTP로 로그인한 사용자의 루트 디렉토리를 제대로 인식하지 못해 일어나는 일 같은데, Advanced login에서 루트디렉토리를 / 로 지정하고 로그인하면 위와 같은 경고문구는 나오지 않는다.

나에게 한정되는 문제일 수도 있고, 다른 디렉토리에 들어갔다 나오면 이러한 메시지는 나오지 않으므로 크게 신경쓰지 말자.