-
qmail のインストール
nice# /usr/ports/mail/qmail
nice# make install
-
確認
nice# vipw
で以下のユーザが追加されていることを確認
alias:*:81:81::0:0:User &:/var/qmail/alias:/nonexistent
qmaill:*:83:81::0:0:User &:/var/qmail:/nonexistent
qmaild:*:83:81::0:0:User &:/var/qmail:/nonexistent
qmailp:*:83:81::0:0:User &:/var/qmail:/nonexistent
qmailq:*:83:81::0:0:User &:/var/qmail:/nonexistent
qmailr:*:83:81::0:0:User &:/var/qmail:/nonexistent
qmails:*:83:81::0:0:User &:/var/qmail:/nonexistent
-
/var/qmail/control ディレクトリのファイルに以下の記述を設定。
nice# cat defaultdomain
nice.kaze.com
nice# cat locals
localhost
nice.kaze.com
nice# cat me
nice.kaze.com
nice# cat plusdomain
nice.kaze.com
nice# cat rcpthosts
localhost
nice.kaze.com
-
postmaster, mailer-daemon, root 宛メールの処理の設定
メール管理者のメールアドレスを設定する。
nice# cd /var/qmail/alias
nice# ll
total 3
-rw-r--r-- 1 root qmail 21 Sep 15 04:10 .qmail-mailer-daemon
-rw-r--r-- 1 root qmail 21 Sep 15 04:11 .qmail-postmaster
-rw-r--r-- 1 root qmail 21 Sep 15 04:11 .qmail-root
nice# cat .qmail-mailer-daemon
[email protected]
nice# cat .qmail-postmaster
[email protected]
nice# cat .qmail-root
[email protected]
-
Maildir ディレクトリの作成
これは各ユーザモードで行う。
root で作成した時は chown コマンドで各ユーザをオーナーとします。
$ /var/qmail/bin/maildirmake $HOME/Maildir
$ echo ./Maildir/ > ~/.qmail
以上をユーザごとに行う。
-
ブートスクリプトのコピー
nice# cp /var/qmail/boot/home /var/qmail/rc
このファイルは後で編集することになるが、一応。
-
確認
/usr/local/etc/rc.d に qmail.sh があることを確認
nice# ll /usr/local/etc/rc.d
lrwxr-xr-x 1 root wheel 13 Sep 10 05:13 qmail.sh -> /var/qmail/rc
結局、qmail.sh は /var/qmail/rc そのものなんだ!
ports インストールしているので、ただ感心すればよろしい。
-
sendmail の停止と無効化
nice# ps -ax | grep sendmail
nice# kill
nice# chmod 0 /usr/sbin/sendamail
nice# mv /usr/sbin/sendmail /usr/sbin/sendmail.orig
-
えせ sendmail の設定
nice# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
qmailは、えせ sendmail を持っているのだ!
-
binmail の無効化
nice# chmod 0 /usr/bin/mail
-
おまじない
本当にこれが必要かどうか???だけど、おまじない。
/etc/rc.conf に
sendmail_enable="NO"
を追加
-
tcpserver のインストール
tcpserverはinetd.confより頑丈でIPフィルタリングができます。
nice# cd /usr/ports/sysutils/ucspi-tcp
nice# make install
/usr/local/bin/tcpserver ができるはずです。
-
tcpserver が使う smtp 関連データベースの作成
内部からのメール発信が常に可能なように smtp関連データベースを作成します。
-
/etc/tcp.smtp を以下のように記述します。
「211.7.156.112」は nice.kaze.com のIPアドレスです。
tcpserver を IPパケットが通過する時、nice.kaze.com または localhost からの IPパケットなら RELAYCLIENT=ON として通過させ、それ以外の IPパケットは RELAYCLIENT=OFF として通過させる設定です。
nice# cat /etc/tcp.smtp
211.7.156.112:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
:allow
-
/etc/tcp.smtp をデータベース化します。
/etc/tcp.smtp.cdb というデータベースが出来上がります。
nice# /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
-
checkpassword をインストール
checkpassword はpop3 認証の時に ID とパスワードをチェックします。
nice# cd /usr/ports/security/checkpassword
nice# make install
/usr/local/bin/checkpassword ができるはずです。
-
pop5smtp
pop5smtp は
pop before smtp
を行います。
pop認証してから10分間だけsmtpが有効になります。
pop5smtpは
かみやさとし さんのホームページ
から入手します。
私は /usr/ports/mail/smtp5pop ディレクトリを作成してここに解凍しました。
nice# mkdir /usr/ports/mail/smtp5pop
nice# cp pop5smtp.tar.gz /usr/ports/mail/smtp5pop
nice# cd /usr/ports/mail/smtp5pop
nice# tar -xzvf pop5smtp.tar.gz
いろいろファイルができますが、Makefileの以下の記述を変更します。
変更前:install -c -m 2711 -o qmaild -g nofiles pop5smtp /var/qmail/bin/
変更後:install -c -m 2711 -o qmaild -g qnofiles pop5smtp /var/qmail/bin/
nice# make install
/var/qmail/bin/pop5smtp ができるはずです。
以下のファイルを作成・変更します。
nice# touch /var/qmail/pop5smtp.db
nice# chown qmaild /var/qmail/pop5smtp.db
nice# chgrp qnofiles /var/qmail/pop5smtp.db
nice# chmod 664 /var/qmail/pop5smtp.db
nice# chgrp qnofiles /var/qmail/bin/pop5smtp
nice# chmod 2711 /var/qmail/bin/pop5smtp
-
/var/qmail/rc の変更
以下のように /var/qmail/rc を変更します。
「-u 81 -g 81」は
nice# id alias
uid=81(alias) gid=81(qnofiles) groups=81(qnofiles)
で調べた uid, gid です。
nice# cat /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&
# for SMTP server
/usr/local/bin/tcpserver -R -H -l0 -u 81 -g 81 \
-x /etc/tcp.smtp.cdb \
0 smtp /var/qmail/bin/pop5smtp \
/var/qmail/bin/qmail-smtpd &
# for POP3 server
/usr/local/bin/tcpserver -R -H -l0 0 pop3 \
/var/qmail/bin/qmail-popup `/bin/hostname` \
/usr/local/bin/checkpassword \
/var/qmail/bin/pop5smtp \
/var/qmail/bin/qmail-pop3d Maildir &
-
adduser でユーザ追加をした時に自動的に Maildir の設定をする
nice# /var/qmail/bin/maildirmake /usr/share/skel/Maildir
nice# ls /usr/share/skel
Maildir dot.login dot.mail_aliases
dot.profile dot.shrc dot.cshrc
dot.login_conf dot.mailrc dot.rhosts
このディレクトリに dot.qmailファイルを作成し、以下の記述を入れる。
nice# cat /usr/share/skel/dot.qmail
./Maildir/
-
メールの保存期限を30日にする
/var/qmail/control/queuelifetime ファイルを作成し、以下の記述を入れる。
数値の単位は秒です。
nice# cat /var/qmail/control/queuelifetime
2592000
-
リブートして確認
mail address: [email protected]
pop3: nice.kaze.com
smtp: nice.kaze.com
pop3認証をしないとsmtpが使えないことを確認します。
後はメールの送受信テストです。