[Qmail]


この日記のはてなブックマーク数 このエントリーを含むはてなブックマーク

Qmailをインストールする場合は先にsendmailのパッケージを抜くか、サービスを止めるなりしてください。

1. Qmailのソースとパッチを手にいれる。
cd /usr/local/src
wget ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz
wget http://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch


2. ヘッダの日付をローカルタイムに合わせるためのパッチをあてる。
tar xvzf qmail-1.03.tar.gz
cd qmail-1.03
patch -p1 < ../qmail-date-localtime.patch


3. インストール先やユーザ、グループを作成。
mkdir /var/qmail
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias -s /bin/false alias
useradd -g nofiles -d /var/qmail -s /bin/false qmaild
useradd -g nofiles -d /var/qmail -s /bin/false qmaill
useradd -g nofiles -d /var/qmail -s /bin/false qmailp
groupadd qmail
useradd -g qmail -d /var/qmail -s /bin/false qmailq
useradd -g qmail -d /var/qmail -s /bin/false qmailr
useradd -g qmail -d /var/qmail -s /bin/false qmails


4. コンパイルする。
make setup
make check
./config-fast [FQDN]


5. コントロールファイルの編集
/var/qmail/control


defaultdomain: toヘッダなどにドメイン名が省略された場合、補完されるドメイン名
locals: 受信するホスト名・ドメイン名:qmail-sendが利用
me: 自サーバのFQDN
plusdomain: ドメイン部が+で終わっている場合に付加されるドメイン。「user@host+」なら「user@host.example.jp」と置換される(qmal-injectが利用)
rcpthosts: 受信するホスト名・ドメイン名:qmail-smtpdが利用


6. postmaster, mailer-daemon, rootへの配信設定
cd /var/qmail/alias
touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
chmod 644 .qmail*


7. sendmailラッパーの作成
cd /usr/sbin
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail


8. ユーザごとに以下のコマンドでMaildirを作成
/var/qmail/bin/maildirmake /home/ユーザ名


9. /etc/skelにMaildirを追加
mkdir /etc/skel/Maildir
echo "./Maildir/" > /etc/skel/.qmail


10. tcpserverのインストール
ftp://ftp.jp.qmail.org/qmail/ucspi-tcp-0.88.tar.gz
tar xvfz ../ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88/
make setup check


10. tcp.smtpファイル作成
vi /etc/tcp.smtp
127.:allow,RELAYCLIENT=""


11. cdbファイルの作成
/usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp


12. checkpasswordのインストール(pop3dで使用)
http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
tar xvfz checkpassword-0.90.tar.gz
cd checkpassword-0.90


インストール先を変更
vi ./conf-home


/


と記述(これで/binにインストールされます。)


13. インストール
make
make setup check


これで/bin/checkpasswordがインストールされました。


14. relay-ctrlをインストール
http://untroubled.org/relay-ctrl/


tar xvzf relay-ctrl-3.1.1.tar.gz
cd relay-ctrl-3.1.1


confファイルを編集


vi ./conf-man
/var/qmail/man


vi ./conf-bin
/usr/bin


make
./installer


15. daemontoolsをインストール
http://cr.yp.to/daemontools/install.html
tar xvzf daemontools-0.76.tar.gz
cd admin/daemontools
./package/install


16. 設定ファイルの作成
mkdir /etc/relay-ctrl
mkdir /var/spool/relay-ctrl
mkdir /var/spool/relay-ctrl/allow
cd /etc/relay-ctrl/
echo '/var/spool/relay-ctrl/allow' > RELAY_CTRL_DIR
echo '900' > RELAY_CTRL_EXPIRY


17. 次に、spoolにたまったIPアドレスの記録を定期的に削除する指示をcrontabに追加します。
vi /etc/crontab


#POP before SMTP (reset IP address)
0-59/5 * * * * root /usr/local/bin/envdir /etc/relay-ctrl /usr/bin/relay-ctrl-age


17. /var/qmail/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
--------------------この上まで--------------------


chmod 755 /var/qmail/rc


17. 起動スクリプトを作成
vi /etc/rc.d/init.d/qmaild


注1:以下の箇所はそれぞれの環境に合わせて変更すること。
502 --> qmaildのUID
501 --> nofilesのGID
www.ksknet.net --> FQDN


注2: 移行前で逆引きがひけずに遅い場合は tcpserver -v -HR と
すること。


--------------------この下から--------------------
#!/bin/sh
#
# qmail: /var/qmail
PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin

[ -f /var/qmail/rc ] || exit 0
case "$1" in
start)
# Start daemons.
echo "Starting qmail."
csh -cf '/var/qmail/rc &'

#FOR SMTP
envdir /etc/relay-ctrl relay-ctrl-chdir \
tcpserver -v -u 502 -g 501 0 smtp \
relay-ctrl-check /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &

#For POP3
envdir /etc/relay-ctrl relay-ctrl-chdir \
tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup www.ksknet.net /bin/checkpassword \
/usr/bin/relay-ctrl-allow /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 &
echo
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
echo
rm -f /var/lock/qmail
;;
*)
echo "Usage: S88qmail {start|stop}"
exit 1
esac
exit 0
--------------------この上まで--------------------


18. 起動するランレベルごとにシンボリックリンクを張り完了。



関連記事
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のインストール
広告