2008. 9. 18.

큐메일 서버 구축 #5-1 - vpopmail(roaming) 설치

이 강좌는 여러가지 vpopmail 운영방법중 vpopmail의 roaming을 이용하는 방법 입니다.

1. 유저, 그룹 추가
vpopmail 운영을 위한 유저와 그룹을 만들어주어야 됩니다.
※ 아래 -r 옵션은 시스템 계정(uid 500미만)으로 유저를 생성하겠다는 의미 입니다.
[root@localhost]# groupadd -r vchkpw
[root@localhost]# useradd -r -g vchkpw vpopmail
[root@localhost]# mkdir -p /home/vpopmail/etc/
[root@localhost]# chmod 755 /home/vpopmail

※ vpopmail의 기본디렉토리는 /home/vpopmail/ 입니다.

2. vpopmail 설치 (최신버전 : http://sourceforge.net/projects/vpopmail/)
[root@localhost]# chmod 777 /home/vpopmail/etc/
[root@localhost]# touch /home/vpopmail/etc/tcp.smtp
[root@localhost]# wget http://jaist.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.13.tar.gz
[root@localhost]# tar xfz vpopmail-5.4.13.tar.gz
[root@localhost]# cd vpopmail-5.4.13
[root@localhost]# ./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
[root@localhost]# make
[root@localhost]# make install-strip
[root@localhost]# chmod 755 /home/vpopmail/etc/
[root@localhost]# chown vpopmail.vchkpw /home/vpopmail/etc/

※ 위 configure 옵션으로 pop3 인증후 15분동안 아무런 서버 사용이 없으면 자동으로 relay를 닫아
open relay가 되어 스패머들의 타겟이 되는것을 막도록 합니다.
그리고 tcp.smtp 릴레이 파일을 임시생성하는 이유는 위 옵션에 파일경로를 지정해줬기 때문입니다.
굳이 tcpserver-file을 지정해주는 이유는 옵션으로 넣어주지 않으면 시스템에서 자동으로 찾게되는데
정상적으로 smtp 릴레이 파일을 찾는 경우도 있지만 릴레이 파일을 정상적으로 찾지 못하는 머신을
간혹 세팅해본 경험이 있기 때문입니다.

3. 기본 도메인 설정 및 SMTP 릴레이 설정
vpopmail 5.2.4 버전부터는 default-domain이 설치옵션에서 사라지고 파일로 적용되고 있습니다.
default-domain의 파일은 ~/vpopmail/etc/defaultdomain 입니다.
[root@localhost]# echo "foobar.com" > /home/vpopmail/etc/defaultdomain
[root@localhost]# chown vpopmail.vchkpw /home/vpopmail/etc/defaultdomain
[root@localhost]# chmod 640 /home/vpopmail/etc/defaultdomain
[root@localhost]# vi /home/vpopmail/etc/tcp.smtp
127.0.0.1:allow,RELAYCLIENT=""
192.168.0.2:allow,RELAYCLIENT=""
[root@localhost]# chmod 640 /home/vpopmail/etc/tcp.smtp
[root@localhost]# /home/vpopmail/bin/clearopensmtp

※ 위에서 clearopensmtp를 해주는 이유는 tcp.smtp를 이용해 tcp.smtp.cdb 파일을 생성하기 위함입니다.

4. crontab 설정
clearopensmtp를 자동으로 한번씩 실행해주기 위해 crond 데몬을 이용 합니다.
필자는 15분에 한번씩 실행되도록 설정하겠습니다.
[root@localhost]# crontab -e
*/15 * * * * /home/vpopmail/bin/clearopensmtp


5. qmail smtp 스크립트 변경
tcp.smtp 파일이 변경되었으므로 qmail을 설치할 때 작성한 run script중 하나를 수정해줘야 됩니다.
[root@localhost]# vi /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
Q_UID=`id -u qmaild`
Q_GID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 2000000 \
/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


6. vpopmail을 위한 디렉토리와 스크립트 생성
[root@localhost]# mkdir /var/qmail/supervise/vpop
[root@localhost]# vi /var/qmail/supervise/vpop/run
#!/bin/sh
VPOP_UID=`id -u vpopmail`
VPOP_GID=`id -g vpopmail`

exec /usr/local/bin/softlimit -m 2500000 \
tcpserver -vRHl 0 -u $VPOP_UID -g $VPOP_GID 0 110 \
/var/qmail/bin/qmail-popup foobar.com \
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1
[root@localhost]# chmod 755 /var/qmail/supervise/vpop/run


7. 도메인과 메일계정 생성
[root@localhost]# /home/vpopmail/bin/vadddomain foobar.com
[root@localhost]# /home/vpopmail/bin/vadduser webmaster@foobar.com 1234

※ vadddomain실행시 나오는 패스워드는 qmailadmin에서 사용할 비밀번호 입니다.
또한 vadddomain [도메인] [postmaster 비밀번호] 로도 사용가능합니다.
vadduser 사용법은 vadduser [메일계정] [비밀번호] 입니다.

댓글 없음: