qmail + qmail-vidaのインストールメモ
仮想メールアドレスを使う事になって、今までのやり方では出来ない事が発覚したらしいのでqmail-vidaを入れる事に。ついでにCRAM-MD5にも対応。
■qmail-vidaの特徴
・checkpasswordの認証方式の追加(CRAM-MD5,APOP対応)
・checkpasswordのSMTP認証対応
・qmail-smtpupプログラムの追加
・仮想ユーザ対応
・バーチャルドメイン対応
・パスワードデータベースは CDB を利用するため、ユーザ数が多くても高速
・D.J.Bernstein氏のライブラリを積極的に利用
■必要なもの
・qmail (or netqmail)
・qmail-vida
・checkpassword
・ucspi-tcp
■Makefileを修正
qmail, checkpassword, ucspi-tcpのソースの位置を修正する。
netqmailを使う時は
${PATCH} -p1 < $${here}/patch/qmail.patch
を
${PATCH} -p1 -F 3 < $${here}/patch/qmail.patch
に変更。
■qmail-vidaでqmailとcheckpasswordを拡張
qmail-vidaを解凍すると patch/ 以下に拡張用のパッチが入ってるのでそれをあてる。
$ make patch
$ make copy
■他のパッチを手動であてる
・qmail-date-localtime.patch
glibcのバージョンが2.3.1以降の場合は次のパッチもあてる。
・qmail-1.03.errno.patch
・qmail-1.03.qmail_local.patch
・checkpassword-0.90.errno.patch
・ucspi-tcp-0.88.errno.patch
・ucspi-tcp-0.88.a_record.patch
・ucspi-tcp-0.88.nobase.patch
■コンパイルとインストール
$ cd ../qmail-1.03/
$ make
# make setup check
# ./config-fast hogehoge.com
$ cd ../checkpassword-0.90/
$ make
# make setup check
$ cd ../ucspi-tcp-0.88/
$ make
# make setup check
$ cd ../qmail-vida/src/vida/
*errnoエラーをなんとかする
$ vi error.h
4行目 extern int errno → #include
$ make
# make setup check
■POPを平文で通すcdbを作る
# /var/qmail/bin/vida-pwdbinit
# vi /usr/local/etc/pop3.rul
# cat /usr/local/etc/pop3.rul
:allow,ALLOWPLAIN="",DOMAINOWNER=""
# tcprules /usr/local/etc/pop3.cdb /usr/local/etc/pop3.tmp < /usr/local/etc/pop3.rul
■起動スクリプト
#!/bin/sh
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 &'
tcpserver -v -u `id -u qmaild` -g `id -g qmaild` -x /var/qmail/etc/tcp.smtp.cdb \
0 smtp /var/qmail/bin/qmail-smtpd 2>&1 \
| /var/qmail/bin/splogger smtpd 3 &
exec env - DOMAINOWNER="pop" \
tcpserver -vHR -l hogehoge.com -x /usr/local/etc/pop3.cdb \
-- 0 587 /usr/bin/fixcrio /var/qmail/bin/qmail-smtpup hogehoge.com \
/var/qmail/bin/checkpassword /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd-sub 3 &
exec env - DOMAINOWNER="pop" \
tcpserver -vHR -l hogehoge.com -x /usr/local/etc/pop3.cdb \
0 110 /var/qmail/bin/qmail-popup hogehoge.com /var/qmail/bin/checkpassword \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 \
| /var/qmail/bin/splogger pop3d &
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: qmail {start|stop}"
exit 1
esac
exit 0
参考文献
Stray Penguin -Linux Memo-
自宅サーバー構築メモ
qmail-vida 解説文書など
qmail-vida の インストール
■qmail-vidaの特徴
・checkpasswordの認証方式の追加(CRAM-MD5,APOP対応)
・checkpasswordのSMTP認証対応
・qmail-smtpupプログラムの追加
・仮想ユーザ対応
・バーチャルドメイン対応
・パスワードデータベースは CDB を利用するため、ユーザ数が多くても高速
・D.J.Bernstein氏のライブラリを積極的に利用
■必要なもの
・qmail (or netqmail)
・qmail-vida
・checkpassword
・ucspi-tcp
■Makefileを修正
qmail, checkpassword, ucspi-tcpのソースの位置を修正する。
netqmailを使う時は
${PATCH} -p1 < $${here}/patch/qmail.patch
を
${PATCH} -p1 -F 3 < $${here}/patch/qmail.patch
に変更。
■qmail-vidaでqmailとcheckpasswordを拡張
qmail-vidaを解凍すると patch/ 以下に拡張用のパッチが入ってるのでそれをあてる。
$ make patch
$ make copy
■他のパッチを手動であてる
・qmail-date-localtime.patch
glibcのバージョンが2.3.1以降の場合は次のパッチもあてる。
・qmail-1.03.errno.patch
・qmail-1.03.qmail_local.patch
・checkpassword-0.90.errno.patch
・ucspi-tcp-0.88.errno.patch
・ucspi-tcp-0.88.a_record.patch
・ucspi-tcp-0.88.nobase.patch
■コンパイルとインストール
$ cd ../qmail-1.03/
$ make
# make setup check
# ./config-fast hogehoge.com
$ cd ../checkpassword-0.90/
$ make
# make setup check
$ cd ../ucspi-tcp-0.88/
$ make
# make setup check
$ cd ../qmail-vida/src/vida/
*errnoエラーをなんとかする
$ vi error.h
4行目 extern int errno → #include
$ make
# make setup check
■POPを平文で通すcdbを作る
# /var/qmail/bin/vida-pwdbinit
# vi /usr/local/etc/pop3.rul
# cat /usr/local/etc/pop3.rul
:allow,ALLOWPLAIN="",DOMAINOWNER=""
# tcprules /usr/local/etc/pop3.cdb /usr/local/etc/pop3.tmp < /usr/local/etc/pop3.rul
■起動スクリプト
#!/bin/sh
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 &'
tcpserver -v -u `id -u qmaild` -g `id -g qmaild` -x /var/qmail/etc/tcp.smtp.cdb \
0 smtp /var/qmail/bin/qmail-smtpd 2>&1 \
| /var/qmail/bin/splogger smtpd 3 &
exec env - DOMAINOWNER="pop" \
tcpserver -vHR -l hogehoge.com -x /usr/local/etc/pop3.cdb \
-- 0 587 /usr/bin/fixcrio /var/qmail/bin/qmail-smtpup hogehoge.com \
/var/qmail/bin/checkpassword /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd-sub 3 &
exec env - DOMAINOWNER="pop" \
tcpserver -vHR -l hogehoge.com -x /usr/local/etc/pop3.cdb \
0 110 /var/qmail/bin/qmail-popup hogehoge.com /var/qmail/bin/checkpassword \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 \
| /var/qmail/bin/splogger pop3d &
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: qmail {start|stop}"
exit 1
esac
exit 0
参考文献
Stray Penguin -Linux Memo-
自宅サーバー構築メモ
qmail-vida 解説文書など
qmail-vida の インストール
time stamp:2008/05/15 18:36:32
トラックバック(0)|コメント(0)
トラックバック(0)|コメント(0)
この記事のトラックバックURL:
コメントを書く
何かしら