[Qmail]
vpopmailを入れることでバーチャルドメインの運用が楽になります。またqmailadminを入れることでウェブインターフェース上からユーザの追加や削除などが行えるようになります。以下RHES 3にインストールした時の覚え書き。
#まず必要なソースファイルをダウンロード
[root@www src]# wget http://www.qmail.org/netqmail-1.05.tar.gz
[root@www src]# wget ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
[root@www src]# wget http://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch
[root@www src]# wget ftp://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
[root@www src]# wget http://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch
[root@www src]# tar xvzf netqmail-1.05.tar.gz
[root@www src]# tar xvzf ucspi-tcp-0.88.tar.gz
[root@www src]# cd netqmail-1.05
[root@www netqmail-1.05]# ./collate.sh
[root@www netqmail-1.05]# cd netqmail-1.05
[root@www netqmail-1.05]# patch -p1 < ../../qmail-date-localtime.patch
patching file date822fmt.c
[root@www netqmail-1.05]# mkdir /var/qmail
[root@www src]# tar xvzf ucspi-tcp-0.88.tar.gz
[root@www src]# cd netqmail-1.05
[root@www netqmail-1.05]# ./collate.sh
[root@www netqmail-1.05]# cd netqmail-1.05
[root@www netqmail-1.05]# patch -p1 < ../../qmail-date-localtime.patch
patching file date822fmt.c
[root@www netqmail-1.05]# mkdir /var/qmail
#ユーザとグループを作成 (src内にあるINSTALL.idsを参照)
[root@www netqmail-1.05]# groupadd nofiles
[root@www netqmail-1.05]# useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
[root@www netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmaild
[root@www netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmaill
[root@www netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmailp
[root@www netqmail-1.05]# groupadd qmail
[root@www netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmailq
[root@www netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmailr
[root@www netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmails
[root@www netqmail-1.05]# useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
[root@www netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmaild
[root@www netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmaill
[root@www netqmail-1.05]# useradd -g nofiles -d /var/qmail -s /bin/false qmailp
[root@www netqmail-1.05]# groupadd qmail
[root@www netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmailq
[root@www netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmailr
[root@www netqmail-1.05]# useradd -g qmail -d /var/qmail -s /bin/false qmails
#qmailのビルド
[root@www netqmail-1.05]# make setup check
[root@www netqmail-1.05]# ./config-fast www.ksknet.net
[root@www netqmail-1.05]# ./config-fast www.ksknet.net
#tcpserverのインストール
[root@admin99 netqmail-1.05]# cd ../../ucspi-tcp-0.88
[root@admin99 ucspi-tcp-0.88]# patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
patching file error.h
[root@admin99 ucspi-tcp-0.88]# patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.a_record.patch
patching file rblsmtpd.c
[root@admin99 ucspi-tcp-0.88]# make
[root@admin99 ucspi-tcp-0.88]# make setup check
./install
./instcheck
[root@admin99 ucspi-tcp-0.88]# patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch
patching file error.h
[root@admin99 ucspi-tcp-0.88]# patch -p1 < ../netqmail-1.05/other-patches/ucspi-tcp-0.88.a_record.patch
patching file rblsmtpd.c
[root@admin99 ucspi-tcp-0.88]# make
[root@admin99 ucspi-tcp-0.88]# make setup check
./install
./instcheck
#vpopmailのインストール
#インストール前に他のサービスがポート110を使用していないか確認
#まずグループとユーザの作成
[root@www src]# groupadd vchkpw
[root@www src]# useradd -g vchkpw -s /bin/false -M vpopmail
[root@www src]# mkdir /home/vpopmail
[root@www src]# chown vpopmail:vchkpw /home/vpopmail
[root@www src]# useradd -g vchkpw -s /bin/false -M vpopmail
[root@www src]# mkdir /home/vpopmail
[root@www src]# chown vpopmail:vchkpw /home/vpopmail
#/home/vpopmail/etcディレクトリの作成
#先にこのディレクトリを作成しないと./configure時に以下のようなメッセージがでる可能性があります。
#checking whether we can locate the tcp.smtp file... configure: WARNING: Unable to find your tcpserver relay file.
#configure: WARNING: Creating tcp.smtp in "/home/vpopmail"/etc/tcp.smtp.
[root@www vpopmail-5.4.2]# mkdir /home/vpopmail/etc
[root@www vpopmail-5.4.2]# chown vpopmail:vchkpw /home/vpopmail/etc
[root@www vpopmail-5.4.2]# chown vpopmail:vchkpw /home/vpopmail/etc
# http://sourceforge.net/projects/vpopmail/ よりソースを取得
[root@www src]# wget http://keihanna.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.10.tar.gz
[root@www src]# tar xvzf vpopmail-5.4.10.tar.gz
[root@www src]# cd vpopmail-5.4.10>
[root@www src]# tar xvzf vpopmail-5.4.10.tar.gz
[root@www src]# cd vpopmail-5.4.10>
#POP before SMTP認証をするため --enable-roaming-users=yとする
#relayがclearされる時間を10分にする(デフォルトでは180分) --enable-relay-clear-minutes=10
#エラーだけでなく、すべてのログイン情報をログに取る --enable-logging=y
[root@www vpopmail-5.4.2]# ./configure --enable-roaming-users=y --enable-relay-clear-minutes=10
[root@www vpopmail-5.4.2]# make
[root@www vpopmail-5.4.2]# make install-strip
[root@www vpopmail-5.4.2]# make
[root@www vpopmail-5.4.2]# make install-strip
#データベースを10分ごとにclearするようcronに登録
#vpopmailのrelay情報は/home/vpopmail/etc/open-smtp内に書き込まれます。
#clearopensmtp
0-59/10 * * * * root /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
0-59/10 * * * * root /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null
#起動スクリプト /var/qmail/rcを作成
[root@www qmail]# cd /var/qmail/
[root@www qmail]# vi ./rc
[root@www 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
# 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@www qmail]# chmod 755 ./rc
#smtpとpopの起動スクリプトを作成
[root@admin99 home]# vi /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@www qmail]# chmod 755 /etc/rc.d/init.d/qmail
#ntsysvなどでサービス起動・停止の選択ができるようにサービスを追加
[root@www qmail]# chkconfig --add qmail
#vadddomainコマンドにてドメインごとのマスターパスワードを設定
[root@www src]# /home/vpopmail/bin/vadddomain ドメイン名
[root@www src]# Please enter password for postmaster:
[root@www src]# enter password again:
[root@www src]# Please enter password for postmaster:
[root@www src]# enter password again:
#qmailadminのインストール
#まずrequirementのezmlmをインストール
[root@www src]# cd /usr/local/src/
[root@www src]# wget http://www.inter7.com/devel/ezmlm-0.53-idx-0.41.tar.gz
[root@www src]# tar xvzf ezmlm-0.53-idx-0.41.tar.gz
[root@www ezmlm-0.53-idx-0.41]# make
[root@www ezmlm-0.53-idx-0.41]# make setup
[root@www src]# wget http://www.inter7.com/devel/ezmlm-0.53-idx-0.41.tar.gz
[root@www src]# tar xvzf ezmlm-0.53-idx-0.41.tar.gz
[root@www ezmlm-0.53-idx-0.41]# make
[root@www ezmlm-0.53-idx-0.41]# make setup
#qmailadminのインストール
#http://sourceforge.net/projects/qmailadmin/ よりソースファイルを取得してください
[root@www ezmlm-0.53-idx-0.41]# cd ../
[root@www src]# wget http://jaist.dl.sourceforge.net/sourceforge/qmailadmin/qmailadmin-1.2.8.tar.gz
[root@www src]# wget http://jaist.dl.sourceforge.net/sourceforge/qmailadmin/qmailadmin-1.2.8.tar.gz
※autoresponderを入れていないので、--enable-autoresponder-path=nとする
[root@www qmailadmin-1.2.8]# ./configure --enable-autoresponder-path=n
[root@www qmailadmin-1.2.8]# make
[root@www qmailadmin-1.2.8]# make install-strip
[root@www qmailadmin-1.2.8]# make
[root@www qmailadmin-1.2.8]# make install-strip
#最後にサービスを起動して、メールの送受信ができるかどうか確認してください。
#qmailadminへのアクセスはhttp://ホスト名/cgi-bin/qmailadminにてアクセスできます。
#vpopmail "unable to write pipe" とエラーがでる場合は起動スクリプトに問題あり。vchkpwのスペルなどを確かめてください。
関連記事
vpopmailでのユーザ管理
qmHandle - qmailでのキューの処理
dsn=5.1.3, stat=User unknown
qmailで送受信されたメールのコピー
qmail-date-localtime.patch
qmailadminにログインできない
qmail + vpopmail + qmailadmin インストール
qmail-qstat - Qmailキューの情報を表示
qmail - conf-split
qmail - 最大同時接続数を120以上にするには
tcpserverの書式
tcp.smtp.cdbの作成
vpopmailでmysqlを使用する
vadddomainが失敗する
qmailのインストール
qmHandle - qmailでのキューの処理
dsn=5.1.3, stat=User unknown
qmailで送受信されたメールのコピー
qmail-date-localtime.patch
qmailadminにログインできない
qmail + vpopmail + qmailadmin インストール
qmail-qstat - Qmailキューの情報を表示
qmail - conf-split
qmail - 最大同時接続数を120以上にするには
tcpserverの書式
tcp.smtp.cdbの作成
vpopmailでmysqlを使用する
vadddomainが失敗する
qmailのインストール
広告