본문 바로가기

Linux/기타

vpopmail + cdb 설치

===================================================================== QMAIL-LAB7> vpopmail + cdb 설치하기 *** 시스템 유저로 메일이 잘 받아졌다면 이제는 가상도메인을 사용할 수 있게 *** vpopmail 을 구축한다. *** 가상도메인의 장점 : 사용자를 얼마든지 추가/삭제할 수 있고 *** 서버의 시스템에 사용자를 생성할 필요가 없으므로 부담이 없다. -- 설치 순서 -- 1. vpopmail 관련 사용자와 그룹 추가 2. vpopmail 설치 3. 기본 도메인 설정 및 SMTP 릴레이 설정 4. clearopensmtp 설정 5. qmail smtp 스크립트 변경 6. vpopmail을 위한 디렉토리와 스크립트 생성 7. pop3 서버 실행 8. pop3 서버 포트 확인 9. pop3 서비스 연결 10. pop3 데몬 스크립트 작성 -- 설치 순서 -- 최신버전 : http://sourceforge.net/projects/vpopmail 참고 문서 : https://wiki.kldp.org/KoreanDoc/html/Qmail%2Bvpopmail-KLDP/index.html 1. vpopmail 관련 사용자와 그룹 추가 - vpopmail 관련 사용자와 그룹을 추가한다. - vpopmail 운영을 위한 유저와 그룹을 만들어주어야 한다. - 아래 -r 옵션은 시스템 계정(uid 500미만)으로 유저를 생성한다. - vpopmail의 기본디렉토리는 /home/vpopmail/ 입니다. 56.150(QMAIL)# groupadd -r vchkpw => -r 옵션은 시스템 사용자를 만들 때 사용하는 옵션 56.150(QMAIL)# useradd -r -g vchkpw vpopmail 56.150(QMAIL)# mkdir -p /home/vpopmail/etc/ ==> 시스템 사용자를 생성할 때는 디렉토리가 생성되지 않으므로 56.150(QMAIL)# chmod 777 /home/vpopmail/etc/ 사용할 디렉토리를 따로 생성해준다. 2. vpopmail 설치 - vpopmail을 설치한다. - 이전에 시스템 사용자로 메일을 받을 때의 릴레이 파일을 복사한다. - 없다면 다음처럼 touch 로 만들어준다. - # touch /home/vpopmail/etc/tcp.smtp 56.150(QMAIL)# cp /etc/tcp.smtp* /home/vpopmail/etc/ 56.150(QMAIL)# tar xzf vpopmail-5.4.13.tar.gz 56.150(QMAIL)# cd vpopmail-5.4.13 - 환경설정을 한다. 56.150(QMAIL)# ./configure \ --enable-roaming-users=y \ --enable-tcprules-prog=/usr/local/bin/tcprules \ --enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp \ --enable-relay-clear-minutes=15 \ --enable-auth-logging=y \ --enable-logging=e - 컴파일 한다. 56.150(QMAIL)# make - 설치한다. 56.150(QMAIL)# make install-strip 56.150(QMAIL)# chmod 755 /home/vpopmail/etc/ 56.150(QMAIL)# chown vpopmail.vchkpw /home/vpopmail/etc/ 56.150(QMAIL)# chown vpopmail.vchkpw /home/vpopmail 56.150(QMAIL)# rm -fv /etc/tcp.smtp* - 위 configure 옵션으로 pop3 인증후 15분동안 아무런 서버 사용이 없으면 - 자동으로 relay를 닫아 open relay가 되어 스패머들의 타겟이 되는것을 - 막도록 한다. - 그리고 tcp.smtp 릴레이 파일을 임시생성하는 이유는 위 옵션에 파일경로를 - 지정해줬기 때문이다. - 굳이 tcpserver-file을 지정해주는 이유는 옵션으로 넣어주지 않으면 - 시스템에서 자동으로 찾게되는데 정상적으로 smtp 릴레이 파일을 찾는 - 경우도 있지만 릴레이 파일을 정상적으로 찾지 못하는 머신을 - 간혹 세팅해본 경험이 있기 때문이다. 3. 기본 도메인 설정 및 SMTP 릴레이 설정 - 기본 도메인 설정 및 SMTP 릴레이를 설정한다. - default-domain의 파일은 ~vpopmail/etc/defaultdomain 입니다. 56.150(QMAIL)# echo "sbs.com" > /home/vpopmail/etc/defaultdomain 56.150(QMAIL)# chown vpopmail.vchkpw /home/vpopmail/etc/defaultdomain 56.150(QMAIL)# chmod 640 /home/vpopmail/etc/defaultdomain - clearopensmtp를 해주는 이유는 tcp.smtp를 이용해 tcp.smtp.cdb 파일을 생성하기 위함입니다. 56.150(QMAIL)# /home/vpopmail/bin/clearopensmtp 56.150(QMAIL)# tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp 4. clearopensmtp 설정 - clearopensmtp 를 위해 crontab 을 설정한다. - 15분에 한번씩 clearopensmtp를 실행해주기 위해 사용자 크론에 등록한다. - 시스템크론에 (/etc/crontab) 등록해도 상관없다. 56.150(QMAIL)# crontab -e */15 * * * * /home/vpopmail/bin/clearopensmtp - 등록된 예약을 확인한다. 56.150(QMAIL)# crontab -l */15 * * * * /home/vpopmail/bin/clearopensmtp 5. qmail smtp 스크립트 변경 - qmail smtp 스크립트를 변경한다. - qmail + vpopmail 을 연동하면 tcp.smtp 파일이 /etc/tcp.smtp 에서 - /home/vpopmail/etc/tcp.smtp 파일로 변경되었으므로 qmail을 설치할 때 - 작성한 run script중 하나를 수정해줘야 됩니다. 56.150(QMAIL)# vi /var/qmail/supervise/qmail-smtpd/run -- /var/qmail/supervise/qmail-smtpd/run -- #!/bin/sh Q_UID=`id -u qmaild` Q_GID=`id -g qmaild` exec /usr/local/bin/softlimit -m 70000000 \ /usr/local/bin/tcpserver -vRHl 0 \ -x /home/vpopmail/etc/tcp.smtp.cdb \ -u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd 2>&1 -- /var/qmail/supervise/qmail-smtpd/run -- - 실행파일 링크생성 56.150(QMAIL)# ln -s /home/vpopmail/bin/* /usr/bin 6. vpopmail을 위한 디렉토리와 스크립트 생성 - vpopmail을 위한 디렉토리와 스크립트를 생성한다. 56.150(QMAIL)# mkdir -p /var/qmail/supervise/vpop/log - pop3 서버를 위한 run 파일을 생성한다. 56.150(QMAIL)# install /dev/null /var/qmail/supervise/vpop/run 56.150(QMAIL)# vi /var/qmail/supervise/vpop/run -- /var/qmail/supervise/vpop/run -- #!/bin/sh VPOP_UID=`id -u vpopmail` VPOP_GID=`id -g vpopmail` exec /usr/local/bin/softlimit -m 70000000 \ tcpserver -vRHl 0 -u $VPOP_UID -g $VPOP_GID 0 110 \ /var/qmail/bin/qmail-popup kbs.com \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 -- /var/qmail/supervise/vpop/run -- - pop3 서버의 로그에 관련된 run 파일을 생성한다. 56.150(QMAIL)# install /dev/null /var/qmail/supervise/vpop/log/run 56.150(QMAIL)# vi /var/qmail/supervise/vpop/log/run -- /var/qmail/supervise/vpop/log/run -- #!/bin/sh exec /usr/local/bin/setuidgid qmaill \ /usr/local/bin/multilog t /var/log/qmail/pop3d -- /var/qmail/supervise/vpop/log/run -- - pop3 서버의 로그 디렉토리를 생성한다. 56.150(QMAIL)# install -o qmaill -d /var/log/qmail/pop3d 56.150(QMAIL)# ls -ld /var/log/qmail/pop3d 7. pop3 서버 실행 - pop3 서버를 실행한다. - pop3 서비스를 실행한다. 56.150(QMAIL)# ln -s /var/qmail/supervise/vpop /service 8. pop3 서버 포트 확인 - pop3 서버의 포트를 확인한다. - port 를 확인한다. 56.150(QMAIL)# netstat -nltp | grep 110 tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 12695/tcpserver 9. pop3 서비스 연결 - pop3 서비스로 연결한다. - 접속 형식1 : nc <domain or ipaddr> port - 접속 형식2 : telnet <domain or ipaddr> port 56.150(QMAIL)# nc localhost 110 +OK <21220.1401067278@kbs.com> <-- 멈추면 pop3 서버도 설치 성공!!! 10. pop3 데몬 스크립트 작성 - pop3 데몬 스크립트를 작성한다. - /etc/init.d/vpopd 를 작성한다. : : 나중에 추가할 계획임. =====================================================================


'Linux > 기타' 카테고리의 다른 글

OpenSSH를 xinetd 서버로 구동하기  (0) 2015.06.16
Telnet & OpenSSH & VNC  (0) 2015.06.16
ucspi-tcp 설치하기  (0) 2015.06.12
네임서버 세팅하기  (0) 2015.06.11
연습 2  (0) 2015.05.29