さくらVPSサーバ(CentOS 6.2)にqmail+vpopmailをインストール

By sengoku - 12/09/25 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

はじめに

こんにちは、仙石です。
先日、さくらVPSサーバ(CentOS 6.2)にqmail+vpopmailをインストールしました。
手順を記載します。
インストールされる際の、参考にして頂ければと思います。
リンク先は本日(2012.09.25)有効ですが、変更されている場合があります。

手順

グループ及びユーザの作成

#su -
#groupadd nofiles
#groupadd qmail
#useradd -g nofiles -s /sbin/nologin -u 490 alias -m -d /var/qmail/alias -k /dev/null
#useradd -g nofiles -d /var/qmail -s /sbin/nologin -u 491 -M qmaild
#useradd -g nofiles -d /var/qmail -s /sbin/nologin -u 492 -M qmaill
#useradd -g nofiles -d /var/qmail -s /sbin/nologin -u 493 -M qmailp
#useradd -g qmail -d /var/qmail -s /sbin/nologin -u 494 -M qmailq
#useradd -g qmail -d /var/qmail -s /sbin/nologin -u 495 -M qmailr
#useradd -g qmail -d /var/qmail -s /sbin/nologin -u 496 -M qmails

ソースファイルの取得

#cd /usr/local/src
#wget http://tomclegg.net/qmail/qmail-1.03.tar.gz
#wget http://tomclegg.net/qmail/qmail-smtpd-auth-0.31.tar.gz
#wget http://www.itheart.com/phpgw/qmail-date-localtime.patch
#wget http://tomclegg.net/qmail/qmail-remote-auth.patch
#wget http://www.qmail.org/qmail-smtpd-relay-reject
#wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch
#wget http://www.ahref.org/tech/image/vpopmail-5.4.25.tar.gz
#wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
#wget http://www.qmail.org/rpms/patches/ucspi-tcp-0.88.errno.patch

作業ディレクトリの作成

#mkdir /var/qmail/
#cd /var/qmail

ソースファイルの解凍と展開

#tar zxvf  ../usr/local/src/qmail-1.03.tar.gz
#tar zxvf ../usr/local/src/qmail-smtpd-auth-0.31.tar.gz
#mv qmail-smtpd-auth-0.31/* qmail-1.03
#cd qmail-1.03
#patch -p1 < ../../usr/local/src/qmail-date-localtime.patch
#patch < auth.patch
#patch < ../../usr/local/src/qmail-smtpd-relay-reject
#patch < ../../usr/local/src/qmail-1.03.errno.patch
#make setup check

vpopmailディレクトリの作成

#./config-fast `hostname`
#mkdir /var/qmail/vpopmail
#chmod 755 /var/qmail/vpopmail

中継許可ホストの設定

#mkdir -p /var/qmail/vpopmail/etc
#vi /var/qmail/vpopmail/etc/tcp.smtp
  こちら、
127.:allow,RELAYCLIENT=""
:allow
  と記述して下さい。
#tcprules /var/qmail/vpopmail/etc/tcp.smtp.cdb /var/qmail/vpopmail/etc/tcp.smtp.tmp < /var/qmail/vpopmail/etc/tcp.smtp
#chown -R vpopmail. /var/qmail/vpopmail/etc/

ソースファイルの解凍と展開

#cd ../
#tar zxvf ../usr/local/src/vpopmail-5.4.25.tar.gz
#cd vpopmail-5.4.25
#groupadd vchkpw
#useradd -g vchkpw -s /sbin/nologin -d /var/qmail/vpopmail -M vpopmail
#chown vpopmail:vchkpw /var/qmail/vpopmail/
#./configure --enable-loggin=y --enable-roaming-users=y --enable-relay-clear-minutes=10 --enable-tcpserver-file=/var/qmail/vpopmail/etc/tcp.smtp  --enable-clear-passwd=n
#make install-strip

権限の変更

#chown root. /var/qmail/vpopmail/bin/vchkpw
#chmod 4755 /var/qmail/vpopmail/bin/vchkpw

ファイルの解凍と展開

#cd ../
#tar zxvf ../usr/local/src/ucspi-tcp-0.88.tar.gz
#cd ucspi-tcp-0.88
#patch < ../../usr/local/src/ucspi-tcp-0.88.errno.patch
#make setup check

仮想ドメイン及び仮想ユーザの設定

#/var/qmail/vpopmail/bin/vadddomain aaaaaaaa
   こちら、aaaaaaaaには仮想ドメインを記述して下さい。
#/var/qmail/vpopmail/bin/vadduser bbbb@aaaaaaaa
  こちら、bbbb@aaaaaaaaには仮想ユーザを記述して下さい。

qmailの起動の準備

#/etc/rc.d/init.d/postfix status
#/etc/rc.d/init.d/postfix stop
#chkconfig postfix off
#chkconfig --list postfix
#rm -r /etc/rc.d/init.d/postfix
   こちら、postfix以外にsendmail, imap4も確認して下さい。
   sendmailが存在する場合、同様に削除して下さい。
vi /etc/init.d/qmail
  こちら、以下のように記述して下さい。
#!/bin/bash
#
# qmail
#
# chkconfig: 2345 80 30
# description: qmail start/stop script

# Source function library.
. /etc/rc.d/init.d/functions
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin
[ -f /var/qmail/rc ] || exit 0
start() {

# Start daemons.
if [ -z $(/sbin/pidof qmail-send) ]; then
echo -n "Starting qmail"

# qmail
csh -cf '/var/qmail/rc &' 2>&1 > /dev/null

# SMTP(21)
tcpserver -qv -l0 -HR -u id -u qmaild -g id -g qmaild -x /var/qmail/vpopmail/etc/tcp.smtp.cdb 0 smtp fixcrio qmail-smtpd hostname /bin/true 2>&1| splogger smtp &

# SMTP(587)
tcpserver -qv -l0 -HR -u id -u qmaild -g id -g qmaild -x /var/qmail/vpopmail/etc/tcp.smtp.cdb 0 587 fixcrio qmail-smtpd hostname /bin/true 2>&1|splogger smtp &

# POP3
tcpserver -H -R -l $HOSTNAME -v 0 pop3 /var/qmail/bin/qmail-popup $HOSTNAME /var/qmail/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3 &
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/qmail
return $RETVAL
else
echo "qmail is already started"
fi
}
stop() {

# Stop daemons.
if [ ! -z $(/sbin/pidof qmail-send) ]; then
echo -n "Shutting down qmail"
/bin/kill $(/sbin/pidof tcpserver)
/bin/kill $(/sbin/pidof qmail-send)
until [ -z $(/sbin/pidof qmail-send) ] && [ -z $(/sbin/pidof tcpserver) ]; do :; done
echo
rm -f /var/lock/subsys/qmail
else
echo "qmail is not running"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
if [ ! -z $(/sbin/pidof qmail-send) ] ; then
echo -n "qmail (pid"
echo -n " /sbin/pidof qmail-send"
echo -n " /sbin/pidof tcpserver"
echo ") is running..."
else
echo "qmail is stopped"
fi
;;
*)
echo "Usage: qmail {start|stop|restart|status}"
exit 1
esac
exit 0

qmailの起動

#chmod +x /etc/init.d/qmail
#cp /var/qmail/boot/home /var/qmail/rc
#sed -i 's/Mailbox/Maildir\//g' /var/qmail/rc
#chmod o+w /var/qmail/rc
#/etc/rc.d/init.d/qmail start
   ここで、メールクライアントからbbbb@aaaaaaaaにメールを送信します。

受信の確認

#more /var/qmail/vpopmail/domains/aaaaaaaa/info/Maildir/new/cccccccc
   new以下にファイルができていれば成功です。
#exit
#exit

参考サイト

以下のサイトを参考にしました。ありがとうございました。
  igreks開発日記 qmail+vpopmail+qmailadmin設定
  PICTNOTES CentOS5.3 にQmail vpopmail qmailadmin をインストール。