qmailのinstall

[ Nob's Home | qmail ]

2002.03.13改訂

qmailをFreeBSD 4.2にinstallしてみました。

日本のmirrorからqmail-1.03.tar.gzをget。

localtime表示にするpatchもgetしておきます。

さらに、不正な中継をさせないpatchhttp://www.qmail.org/qmail-smtpd-relay-rejectもgetしておきます。

$ tar zxvf qmail-1.03.tar.gz -C src
$ cp qmail-date-localtime.patch src/qmail-1.03
$ cp qmail-smtpd-relay-reject src/qmail-1.03
$ cd src/qmail-1.01
$ patch < qmail-date-localtime.patch
$ patch < qmail-smtpd-relay-reject
$ su

# mkdir /var/qmail

/etc/groupに
	qmail:*:2107:
	nofiles:*:2108:
を追加

vipwで

alias:*:7790:2108::0:0::/var/qmail/alias:/sbin/nologin
qmaild:*:7791:2108::0:0::/nonexistent:/sbin/nologin
qmaill:*:7792:2108::0:0::/nonexistent:/sbin/nologin
qmailp:*:7793:2108::0:0::/nonexistent:/sbin/nologin
qmailq:*:7794:2107::0:0::/nonexistent:/sbin/nologin
qmailr:*:7795:2107::0:0::/nonexistent:/sbin/nologin
qmails:*:7796:2107::0:0::/nonexistent:/sbin/nologin
を追加

もし pw comandが使用できる場合は、
----------------
#!/bin/sh
pw groupadd  qmail   -g 2107
pw groupadd  nofiles -g 2108

pw useradd alias  -u 7790 -g nofiles -d /var/qmail/alias -s /sbin/nologin
pw useradd qmaild -u 7791 -g nofiles -d /nonexistent -s /sbin/nologin
pw useradd qmaill -u 7792 -g nofiles -d /nonexistent -s /sbin/nologin
pw useradd qmailp -u 7793 -g nofiles -d /nonexistent -s /sbin/nologin
pw useradd qmailq -u 7794 -g qmail   -d /nonexistent -s /sbin/nologin
pw useradd qmailr -u 7795 -g qmail   -d /nonexistent -s /sbin/nologin
pw useradd qmails -u 7796 -g qmail   -d /nonexistent -s /sbin/nologin
----------------
を実行してください。

# make setup check
でinstallします。


# make check
でerrorが出ないことを確認

# ./config
これで /var/qmail/control/****** が設定されます。

# cd /var/qmail/control
このcontrol以下のfileでmailの配送をcontrolします。
詳しくは、/var/qmail/bin/qmail-showctlで見ることができます。

me には自分のFQDNを記述します。
center.y-min.or.jp

locals,rcpthosts は
	localhost
	center.y-min.or.jp

defaultdomainはFQDN-host名で
	y-min.or.jp

# cd /var/qmail/alias
ここには sendmailの/etc/aliasesに記述していた内容を移植します。
このdirectoryの .qmail-hogehoge というfileの内容が
hogehoge 宛てのmailの別名となります。

# touch .qmail-root .qmail-postmaster .qmail-mailer-daemon
して空の3つのfileをつくります。
この場合、root,postmaster,mailer-daemonあてのmailは /var/qmail/alias/Mailbox に届きます。

root宛のmailを自分(nob)にforwardしたいときは、
# vi .qmail-root として
&nob
あるいは、
&nob@makioka.y-min.or.jp
などとします。

echo '&root' > .qmail-bin
echo '&root' > .qmail-daemon
echo '&root' > .qmail-games
echo '&root' > .qmail-ingres
echo '&root' > .qmail-nobody
echo '&root' > .qmail-system
echo '&root' > .qmail-toor
echo '&root' > .qmail-uucp
echo '&root' > .qmail-usenet
echo '&root' > .qmail-news
echo '&nob' > .qmail-www-admin

最後に
chmod 644 .qmail-*
とします。


通常個人宛のmailは/var/mail/user_nameあるいは /var/spool/mail/user_nameとして、
保存されますが、この形式はsequrity上問題がある、とqmailの作者は考えています。

qmailでは、 Maildirの使用を推奨しています。

# /var/qmail/bin/maildirmake $HOME/Maildir
# echo ./Maildir/ > ~/.qmail
としてMaildir directoryを作成します。

# cp /var/qmail/boot/home /var/qmail/rc
# csh -cf '/var/qmail/rc &'
以上でqmailを起動します。
ps ax で
28369  p0  S      0:00.20 qmail-send
28370  p0  I      0:00.03 splogger qmail
28371  p0  I      0:00.03 qmail-lspawn
28372  p0  I      0:00.03 qmail-rspawn
28373  p0  I      0:00.03 qmail-clean
を確認
# echo To: nob | /var/qmail/bin/qmail-inject これで、/home/nob/Mailboxができて、mailがきていることを確認します。 次に、error mailを試してみます。実在しないhogehoge宛にmailを出して見ます。 # echo To: hogehoge | /var/qmail/bin/qmail-inject mailer-daemonあてにbounceされてくればOKです。 次に、他のhostにmailを出してみます。 # echo To: nob@makioka.y-min.or.jp | /var/qmail/bin/qmail-inject nob@makioka.y-min.or.jpのところは、 qmailをinstallしたhost以外の自分のmail addressにしてください。 そこへ空のmailが届けばOKです。 ps axでsendmailのpidを確認 # kill sendmailのpid # mv /usr/sbin/sendmail /usr/sbin/sendmail.bak /etc/rcのsendmail起動のところを csh -cf '/var/qmail/rc &' にします。 # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail qmail-smtpdの起動はtcpserverによる起動を参照してください。

[ Nob's Home | qmail ]
nob@makioka.y-min.or.jp