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による起動を参照してください。