작성자 : 기술지원부김삼수 <kiss@nextline.net> qpopper 설치 qpopper란무엇인가? 메일수신을하기위해필요한프로그램으로 qpopper는가장인기있는 email 클라이언트에의해사용되는인터넷 email 다운로딩을위한 POP3프로토콜을사용합니다. 그러나 qpopper는 sendmail이나 smail과같이 SMTP프로토콜은포함하고있지않습니다. ( 1 ) 다운로드 http://www.eudora.com/products/unsupported/qpopper/index.html ftp://mirror.aarnet.edu.au/pub/eudora/servers/unix/popper/old/ wget은웹에서자동적으로파일을받아오는데사용되는유틸리티이며 HTTP, HTTPS, FTP 프로토콜을지원합니다. 1 qpopper 프로그램을다운로드합니다. [root@nextline ~]# wget ftp://mirror.aarnet.edu.au/pub/eudora/servers/unix/popper/old/qpopper4.0.4.tar.gz ( 2 ) 압축해제 tar 명령어옵션 tar 명령어는파일을묶거나풀때사용되는리눅스명령어입니다. c : tar 파일을생성할때 ( 여러개의파일을하나의파일로묶을때 ) v : 묶을때나풀어줄때파일들의내용을자세하게보려고할때. z : gzip과관련하여압축이나해제를한꺼번에하려고할때사용. x : 주어진이름의파일에대하여추출사용법 : tar [ 옵션 ] 파일명
1 다운로드한 qpopper4.0.4.tar.gz 파일의압축을해제합니다. [root@nextline ~]# tar zxvf qpopper4.0.4.tar.gz ( 3 ) 환경설정 컴파일을위한환경설정을위해./configure 를실행합니다. 컴파일옵션 --enable-specialauth 보안을위해암호화하거나암호화된 shadow패스워드를사용합니다. --enable-servermode 위옵션은 xinetd모드의반대인독립 (standalone) 데몬을의미하는것이아닙니다. 일반적으로사용자가 pop3서버에접속하면인증후에사용자의메일박스를임시파일 (/var/spool/mail/ 사용자명.pop) 에복사하며, 이후사용자가접속을종료하였을때에삭제되지않은메지시들이원래의메일박스로옮겨지게됩니다. 하지만모든사용자가접속중에모든편지를다읽어서삭제시킨다든지, 아니면모든사용자가접속중에모든편지르삭제하지않고그대로놓아둔다면, 이러한불필요한복사작업은없어질것입니다. 여기서지정하는 servermode란이러한오버헤드를줄이기위하여메일박스자체에락 (locak) 을걸고내용을검사하고다시락 (locak) 을푸는방법을사용합니다. 일반적으로사용하면성능을조금높일수있으니사용하기를권해드립니다. --enable-shy 이옵션은 qpopper버전숨기기위한옵션입니다. 그외옵션 --enable-auto-delete 이옵션은메일을가져간후에가져간메일자동삭제를적용할때사용합니다. --enable-auth-file=path 메일 relay를허용할사용자설정파일을지정합니다. --enable-nonauth-file=path
메일 relay 를허용하지않을사용자설정파일을지정합니다. 1 압축해제된 qpopper4.0.4 디렉토리로이동합니다. [root@nextline ~]# cd qpopper4.0.4 2./configure를실행합니다. [root@nextline qpopper4.0.4]#./configure --enable-specialauth --enable-servermode --enable-shy ( 4 ) 컴파일 1 컴파일을하기위해 make 를실행합니다. [root@nextline qpopper4.0.4]# make ( 5 ) 설치 1 qpopper 설치를위해 make install 를실행합니다. [root@nextline qpopper4.0.4]# make install make install 오류 man페이지디렉토리가생성되지않아발생한오류입니다. /usr/bin/install -c -m 0644 -o root./man/popper.8 /usr/local/man/man8/ /usr/bin/install: cannot create regular file `/usr/local/man/man8/': 디렉토리입니다
make: *** [install] 오류 1 2 /usr/local/man 하위에 man8디렉토리를생성합니다. [root@nextline qpopper4.0.4]# mkdir -p /usr/local/man/man8 3 make install를재실행합니다. [root@nextline qpopper4.0.4]# make install ( 6 ) popper 복사 1 컴파일결과로생성된 popper 실행파일을 /usr/local/lib디렉토리로복사합니다. Popper 실행파일을 popper디렉토리하위에위치하고있습니다. [root@nextline qpopper4.0.4]# cp popper/popper /usr/local/lib 2 복사된 popper 실행파일을확인합니다. [root@nextline qpopper4.0.4]# ls /usr/local/lib ( 7 ) xinetd 등록 vi 에디터사용법 사용형식 : vi [ 옵션 ] [ 생성할파일명 / 편집할파일명 ]
vi 에디터는입력모드, 명령모드, 실행모드로구분됩니다. 입력모드 : vi 편집화면에서문자를입력할수있는모드로서입력모드로진입하기위해서는 i, a, o, I, A, O, R등이있습니다. 즉초기 vi 편집기모드는명령어모드로진입을하기때문에문자를입력하기전에앞의단축키중하나를먼저입력해야원하는문자를입력할수있습니다. 명령모드 : 커서이동 / 문자삭제 / 문자 ( 열 ) 교체 / 문자열검색등을할수있는모드로서입력모드에서편집이완료되면 Esc키를눌러명령모드로진입하면됩니다. x : vi 명령모드에서커서위치의한문자삭제 dw : vi 명령모드에서커서위치의한단어삭제 dd : vi 명령모드에서커서위치의행삭제 Ndd : vi 명령모드에서커서위치의여러행동시삭제 실행모드 : 특별한명령어를실행하는모드로서명령어모드에서 ":"( 콜론 ) 를누르면 vi 화면하단좌측에 vi 특수명령어를입력할수있습니다. 실행모드의일반적으로쓰이는특수명령어 q : 수정작업이이루어지지않은상태에서 vi 편집기에서빠져나옵니다. q! : 수정작업이이루어진부분을적용시키지않고 vi 편집기를강제로빠져나옵니다. w : 수정된작업을저장합니다. wq : 수정된작업을저장하고 vi 편집기에서빠져나옵니다. 초기명령어모드 -> 입력모드진입 -> 편집 -> 명령어모드 -> 실행모드 -> 종료 1 설치한 popper를 xinetd환경에서인식하도록하기위하여다음과같이 /etc/xinetd.d/pop3 파일을 vi 에디터를이용하여생성해줍니다. [root@nextline qpopper4.0.4]# vi /etc/xinetd.d/pop3
2 pop3 스크립트를추가합니다. service pop3 { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/local/lib/popper server_args = qpopper -s log_on_failure += USERID } 위의내용가운데중요한것은 disable = no, server=/usr/local/lib/popper 값입니다. Disable 값이 no로되어있어야만이설정이사용될수있으며 sever값이방금설치하여복사한 popper를정확하게지정하고있어야만합니다. ( 8 ) pop3 구동 1 설치된 qpopper를적용하기위하여다음과같이 xinetd를재시작합니다. qpopper는 xinetd모드로작동이되기때문에 /etc/rc.d/xinetd.d/pop3파일을새로만들거나수정하였을때에는반드시 xinetd를재시작해주셔야합니다. [root@nextline qpopper4.0.4]# /etc/rc.d/init.d/xinetd restart
( 9 ) 포트확인 1 pop3가사용하는 110포트가정상적으로 LISTEN되는지확인합니다. [root@nextline qpopper4.0.4]# netstat -anp grep LISTEN tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 4348/xinetd ( 10 ) pop3 테스트 pop3 가정상적으로실행되는지확인합니다. [root@nextline qpopper4.0.4]# telnet localhost 110