qmailでメールサーバー構築メモ
[root@test]# cd /usr/local/src/ //任意の場所に移動
[root@test src]# wget http://www.qmail.org/netqmail-1.05.tar.gz //qmailをダウンロード
[root@test src]# wget ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz //エラーがでた
ネットでソースファイルを探してダウンロード 自分のサーバーにも置いてある。
[root@test src]# cp ucspi-tcp-0.88.tar.gz /usr/src/ucspi-tcp-0.88.tar.gz //FTPでアップロードしてコピー
[root@test src]# wget http://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch //これもエラーがでるので
qmail-date-localtime.patchダウンロード
[root@test src]# cp qmail-date-localtime.patch /usr/src/qmail-date-localtime.patch //FTPでアップロードしてコピー
[root@test src]# cd /usr/local/src/ 元のディレクトリへ戻る。
[root@test src]# tar xvzf netqmail-1.05.tar.gz
[root@test src]# tar xvzf ucspi-tcp-0.88.tar.gz
[root@test src]# cd netqmail-1.05
[root@test netqmail-1.05]# ./collate.sh
[root@test netqmail-1.05]# cd netqmail-1.05
[root@test netqmail-1.05]# patch -p1 < ../../qmail-date-localtime.patch
patching file date822fmt.c
[root@test netqmail-1.05]# mkdir /var/qmail
必要なユーザとグループを作成
[root@test netqmail-1.05]# groupadd nofiles
[root@test netqmail-1.05]# useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
[root@test netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmaild
[root@test netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmaill
[root@test netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmailp
[root@test netqmail-1.05]# groupadd qmail
[root@test netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmailq
[root@test netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmailr
[root@test netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmails
[root@test netqmail-1.05]# make setup check
[root@test netqmail-1.05]# ./config-fast xxx.xxxxx.com ←//設定するメールサーバーのホスト名
[root@test netqmail-1.05]# cd ../../ucspi-tcp-0.88
[root@test ucspi-tcp-0.88]# patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
patching file error.h
[root@test ucspi-tcp-0.88]# patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.a_record.patch
patching file rblsmtpd.c
[root@test ucspi-tcp-0.88]# make
[root@test ucspi-tcp-0.88]# make setup check
./install
./instcheck
[root@test ucspi-tcp-0.88]# cd /usr/local/src/
[root@test src]# groupadd vchkpw
[root@test src]# useradd -g vchkpw -s /bin/false -M vpopmail
[root@test src]# mkdir /home/vpopmail
[root@test src]# chown vpopmail:vchkpw /home/vpopmail
[root@test src]# mkdir /home/vpopmail/etc
[root@test src]# chown vpopmail:vchkpw /home/vpopmail/etc
[root@test src]# wget http://keihanna.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.10.tar.gz //エラーが出た。
[root@test]# cp vpopmail-5.4.10.tar.gz /usr/src/vpopmail-5.4.10.tar.gz //FTPでアップロードしてコピー
[root@test]# cd /usr/local/src/
[root@test src]# tar xvzf vpopmail-5.4.10.tar.gz
[root@test src]# cd vpopmail-5.4.10
[root@test vpopmail-5.4.10]# ./configure --enable-roaming-users=y --enable-relay-clear-minutes=10
[root@test vpopmail-5.4.10]# make
[root@test vpopmail-5.4.10]# make install-strip
[root@test]# cd /var/qmail/
[root@test qmail]# vi ./rc
//編集内容
#!/bin/sh
# Using splogger to send the log through syslog.
# Using qmail-local to deliver messages to ~/Mailbox by default.
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir splogger qmail
[root@test qmail]# chmod 755 ./rc
[root@test]# vi /etc/rc.d/init.d/qmail //起動用スクリプト
[root@test ~]# cat /etc/rc.d/init.d/qmail //内容を表示すると
#!/bin/sh
#
# chkconfig: 345 99 99
# description: qmail & vpopmail startup script
#
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
HOSTNAME=`hostname`
QMAILDUID=`id -u qmaild`
QMAILDGID=`id -g qmaild`
[ -f /var/qmail/rc ] || exit 0
case "$1" in
start)
echo "Starting qmail."
csh -cf '/var/qmail/rc &'
#FOR SMTP
tcpserver -H -R -l $HOSTNAME -v \
-x /home/vpopmail/etc/tcp.smtp.cdb -u $QMAILDUID -g $QMAILDGID 0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
#For POP3
#envdir /etc/relay-ctrl relay-ctrl-chdir \
tcpserver -H -R -l $HOSTNAME -v 0 pop3 \
/var/qmail/bin/qmail-popup $HOSTNAME \
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 &
touch /var/lock/qmail
;;
stop)
# Stop daemons.
echo "Shutting down qmail."
PID=`/bin/ps -aefw | grep qmail | awk '{print $2}'`
if [ ! -z "$PID" ] ; then
/bin/kill ${PID} 1> /dev/null 2>&1
fi
rm -f /var/lock/qmail
;;
*)
echo "Usage: S88qmail {start|stop}"
exit 1
esac
exit 0
[root@test]# chmod 755 /etc/rc.d/init.d/qmail
[root@test]# chkconfig --add qmail //サービスに追加する
[root@test]# netstat -ln //ポート番号を確認する
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::443 :::* LISTEN
udp 0 0 xx.xxx.xx.xxx:123 0.0.0.0:*
udp 0 0 127.0.0.1:123 0.0.0.0:*
udp 0 0 0.0.0.0:123 0.0.0.0:*
udp 0 0 ::1:123 :::*
udp 0 0 :::123 :::*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 4007 /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 4233 /var/lib/mysql/mysql.sock