[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]# 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


#ユーザとグループを作成 (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


#qmailのビルド
[root@www netqmail-1.05]# make setup check
[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


#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


#/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


# 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>


#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


#データベースを10分ごとにclearするようcronに登録
#vpopmailのrelay情報は/home/vpopmail/etc/open-smtp内に書き込まれます。


#clearopensmtp
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


#!/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@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:


#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


#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


※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


#最後にサービスを起動して、メールの送受信ができるかどうか確認してください。
#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のインストール
広告