본문 바로가기
FTPd/glFTPd

glFTPd 인스톨 튜토리얼 2부 : PZS-NG 스크립트 적용하기

by 4n0nym0us 2015. 10. 22.


https://github.com/pzs-ng/pzs-ng

http://pzs-ng.com/


PZS-NG을 다운로드 받고 압축을 푼다.


[root@3p1c] # wget https://github.com/pzs-ng/pzs-ng/archive/master.zip


[root@3p1c] # unzip master.zip


[root@3p1c] # cd pzs-ng-master


[root@3p1c] # ./configure --with-install-path=/jail/glftpd


그리고 configure 경로를 지정한다.

그러면 아래와 같이 Symlink 라이브러리 에러가 나오는데 이것은 정상이다.



You might see similar in replies, no worry, just messages:

checking hsregex.h usability... no

checking hsregex.h presence... no

checking for hsregex.h... no

checking for strlcpy... no



이제 zsconfig을 수정하여 본격적인 설정을 해야하는데, 그전에 'README.ZSCONFIG'을 열어서 꼭 읽어보도록 하도록 하자.

지면 관계상 이 부분은 숙지 했다고 가정하고 넘어가겠으며 나중에 별도로 다루어 자세히 설명하겠다.


[root@3p1c] # cd pzs-ng-master/zipscript/conf/


설정파일이 있는 zsconfig.h가 있는 경로로 이동한다.

하지만 그전에 파일명을 먼저 수정 해주어야 편집이 가능할 것이다.



[root@3p1c] # mv zsconfig.h.dist zsconfig.h


[root@3p1c] # nano zsconfig.conf


이렇게 파일명을 수정하고 nano 편집기로 열어보자.


중요한 부분만 몇가지 손 보자면...


#define short_sitename "NG"

사이트의 이니셜을 설정한다.


#define allow_file_resume TRUE

이어받기나 이어올리기의 재시작 허용 여부 옵션이다. TRUE 값을 권장


#define enable_nfo_script TRUE

NFO 스크립트 활성화 옵션이다. TRUE 값을 권장한다.


#define nfo_script "/bin/psxc-imdb.sh"

NFO 스크립트 경로를 지정한다. 기본적으로 imdb을 사용한다.


#define enable_complete_script TRUE

완료 스크립트 활성화 여부인데 TRUE 값을 권장한다.


#define complete_script "/bin/nfoextract.sh"

기본값은 nfo_copy.sh 스크립트를 사용할텐데 nfoextract.sh 스크립트로 바꾸는걸 권장한다.


최대한 README.ZSCONFIG을 참고하여 해당 기능들을 파악한 후 적절하게 모두 수정하도록 하자.


[root@3p1c] # nano /etc/glftpd.conf


calc_crc *

post_check /bin/zipscript-c *

cscript DELE post /bin/postdel

cscript RMD post /bin/datacleaner

cscript SITE[:space:]NUKE post /bin/cleanup

cscript SITE[:space:]UNNUKE post /bin/postunnuke 

cscript SITE[:space:]WIPE post /bin/cleanup


site_cmd RESCAN EXEC /bin/rescan

custom-rescan !8 *


cscript RETR post /bin/dl_speedtest


site_cmd AUDIOSORT EXEC /bin/audiosort

custom-audiosort !8 *


이제 다시한번 glftpd.conf을 열어서 다음 값을 최하단에 그대로 넣어주고 저장하면 끝이다.


[root@3p1c] # make


[root@3p1c] # make install


이제 컴파일을 하기 위해 컴파일을 진행한다.


[root@3p1c] # cd scripts/libcopy/ ; ./libcopy.sh


일부 라이브러리가 필요하기 때문에 복사를 해주어야 한다.


[root@3p1c] # chmod 666 /glftpd/ftp-data/logs/dupelog


그리고 chmod 명령어를 사용하여 dupelog의 퍼미션을 조정한다.


59 23 * * * chroot /glftpd /bin/cleanup >/dev/null 2>&1

29 4 * * * chroot /glftpd /bin/datacleaner >/dev/null 2>&1


앞서 glftpd.conf에 추가 해주었던 cleanup을 스케줄러에 추가 하기 위해 crontab을 편집하자.


[root@3p1c] # chmod -R 777 /glftp/site/*


마지막으로 site의 퍼미션을 조정해주면 끝이다.


이제 파일을 올리면서 Zip 스크립트가 잘 동작하는지 확인 한다. 만약 일부 스크립트가 동작하지 않아, 컴플리트 폴더가 생성되지 않는 문제가 발생한다면 대부분 zsconfig의 설정 문제라 봐야한다. 


특히 색션을 지정할때 대소문자 구분 하므로 필자처럼 삽질하지 말길 바란다. -_-;.

'FTPd > glFTPd' 카테고리의 다른 글

glFTPd 인스톨 튜토리얼 1부 : 설치 및 SSL 설정 하기  (0) 2015.10.22