qmail†
事前準備†
su -
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
groupadd vida
useradd -g vida -d /var/qmail/ -s /bin/false qmailu
useradd -g vida -d /var/qmail/ -s /bin/false authdb
useradd -g vida -d /home/pop/ -s /bin/bash pop
コンパイルとインストール†
wget ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz
wget http://mirror.averse.net/pub/FreeBSD/ports/local-distfiles/sada/qmail-date-localtime.patch.gz
wget http://qmail.oregonfast.net/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch
wget http://www.qmail.org/qmail-smtpd-relay-reject -O qmail-smtp.patch.txt
wget http://www.ckdhr.com/ckd/qmail-103.patch
tar xzfp qmail-1.03.tar.gz
gunzip qmail-date-localtime.patch.gz
cd qmail-1.03
patch -s < ../qmail-date-localtime.patch
patch -s < ../qmail-1.03.errno.patch
patch -s < ../qmail-smtp.patch.txt
patch -s < ../qmail-103.patch
x wget ftp://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch
make setup check
./config-fast 【フルドメインネーム】
/var/qmail/control以下
rcptroutes | SMTPで中継するメールアドレスドメイン【重要】 |
locals | 自分のサーバの中に取り込むアドレスドメイン |
defaultdomain | メールを送信する際につける |
me | from が解らなかった場合につけるメールアドレスドメイン |
plusdomain | 変更不要 |
smtproutes | 上位メールサーバに丸投げする等の場合に設定 |
cp /var/qmail/boot/home /var/qmail/rc
emacs /var/qmail/rc
途中にある ./Mailbox の部分を ./Maildir/ に書き換え
SMTPサーバのインストール(必須)†
wget http://www.emaillab.org/djb/tools/ucspi-tcp/ucspi-tcp-0.88.tar.gz
wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/ucspi-tcp-0.88.errno.patch
tar xzfp ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -s -p1 < ../ucspi-tcp-0.88.errno.patch
make setup check
emacs /etc/tcp.smtp
192.168.:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
旧 mailer の無効化†
/etc/rc.d/init.d/sendmail stop
chkconfig --del sendmail
chmod 0 /bin/mail /usr/sbin/sendmail
mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
この作業を行うと デフォで入ってる logwatch が動作しなくなるので
emacs /etc/logwath/conf/locwatch.conf
Mail の部分を /var/qmail/bin/sendmail におきかえ
emacs /etc/cron.daily/00-logwatch
open(OUTFILE,"|$Config{'mailer'} " . $Config{'mailto'});
に書き換える
qmail-remove (queue の削除ツール)†
wget http://www.linuxmagic.com/opensource/qmail/qmail-remove/qmail-remove-0.94.tar.gz
tar xzfp qmail-remove-0.94.tar.gz
cd qmail-remove-0.94
make
cp qmail-remove /var/qmail/bin
mkdir /var/qmail/queue/yanked
使用法
queue の確認
/var/qmail/bin/qmail-qstat
queue の消去
/var/qmail/bin/qmail-remove -r
起動用スクリプトの記述†
emacs /etc/rc.d/init.d/qmaild
#!/bin/sh
############
# Startup script for the Qmail by Penta
#
# chkconfig: 345 55 15
# description: QMAIL SMTP & POP3サーバー
# processname: qmaild
# pidfile: /var/run/qmaild.pid
# filename /etc/rc.d/init.d/qmaild
#
# Source function library.
. /etc/rc.d/init.d/functions
# See how we were called.
case "$1" in
start)
echo -n "Starting qmaild: "
/usr/local/bin/tcpserver -H -R -x /etc/tcp.smtp.cdb \
-c 100 -u qmaild -g nofiles 0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1 \
/var/qmail/bin/splogger smtpd &
/usr/local/bin/tcpserver -H -R 0 pop3 \
/var/qmail/bin/qmail-popup 【マシン名.ドメイン名】 \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 \
/var/qmail/bin/splogger pop3d &
/var/qmail/rc &
echo
touch /var/lock/subsys/qmaild
;;
stop)
echo -n "Shutting down qmail: "
kill $(/sbin/pidof tcpserver)
kill $(/sbin/pidof qmail-send)
echo
rm -f /var/lock/subsys/qmaild
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {startstoprestart}"
exit 1
esac
exit 0
chmod 755 /etc/rc.d/init.d/qmaild
/sbin/chkconfig --add qmaild
fastforward (/etc/aliases を使うためのツール)†
wget http://cr.yp.to/software/fastforward-0.51.tar.gz
tar xzfp fastforward-0.51.tar.gz
cd fastforward-0.51
(R9 以降では error.h 内の errno を #include <errno.h> に変更)
make setup check
emacs /etc/aliases
root: postmaster@hogehoge.com
/var/qmail/bin/newaliases
emacs ~alias/.qmail-default
| /var/qmail/bin/fastforward -d /etc/aliases.cdb
不正中継テスト†
http://www.rbl.jp/svcheck.php
△ http://www.abuse.net/relay.html
× http://www.nanet.co.jp/rlytest/relaytest.html
queue の確認
qmail-stat
pop3†
wget http://www.emaillab.org/djb/qmail-vida/software/checkpassword-0.90.tar.gz
tar xzfp checkpassword-0.90.tar.gz
cd checkpassword-0.90
emacs error.h
書き換える
#include <errno.h>
make setup check
既存ユーザ用メールディレクトリ作成
su - 【既存ユーザ】
/var/qmail/bin/maildirmake ./Maildir
echo './Maildir/' > ~/.qmail
新規ユーザ(adduserで新たに作られるユーザ)用に自動的に作られる設定
/var/qmail/bin/maildirmake /etc/skel/Maildir
echo './Maildir/' > /etc/skel/.qmail
ezmlm†
wget ftp://ftp.ezmlm.org/pub/patches/ezmlm-0.53.tar.gz
wget ftp://ftp.ezmlm.org/pub/patches/ezmlm-idx-0.40.tar.gz
tar xzfp ezmlm-0.53.tar.gz
tar xzfp ezmlm-idx-0.40.tar.gz
mv ezmlm-idx-0.40/* ezmlm-0.53/
cd ezmlm-0.53
patch < idx.patch
emacs ezmlm-send.c
// szmsgnum[fmt_urlong(szmsgnum,outnum)] = '\0';
sprintf(szmsgnum,"%0*lu",6,outnum);
make clean
make
make setup
reprefix.zip
http://www.qmail.org/rpms/glibc-2.3.1/
http://yassu.no-ip.com/linux/qmail.htm
http://www.marronkun.net/linux/mail/qmail_1-1.html
http://chronoflyer.ddo.jp/doc/qmail.shtml