Mailサーバーはqmailを使って構築しました。各種プログラムは下記からダウンロード
qmail-1.0.3.tar.gz http://cr.yp.to/qmail.html
ucspi-tcp-0.88.tar.gz (tcpserver) http://cr.yp.to/ucspi-tcp/install.html
checkpassword-0.90.tar.gz http://cr.yp.to/checkpwd/install.html
qmail-date-localtime.patch.gz http://ftp.sg.freebsd.org/pub/FreeBSD/ports/local-distfiles/sada/
relay-ctrl-2.5.tar.gz http://www.todo.ne.jp/qmail/#download
ダウンロードしたファイルは、以下の手順で解凍して、インストールします。ファイルはすべて/usr/local/binにダウンロードしたものとして記述します。以下のコマンドはrootで実行します。
# mkdir /var/qmail qmailのディレクトリーを作成
# chmod 755 /var/qmail パーミッションの変更
# groupadd -g 201 nofiles nofilesグループの設定。後で使うのでIDを記録しておく。
# useradd -g nofiles -u 201 -d /var/qmail/alias -s /bin/false alias ユーザーaliasの設定
# useradd -g nofiles -u 202 -d /var/qmail -s /bin/false qmaild  ユーザーqmaildの設定。後で使うのでIDを記録しておく。
# useradd -g nofiles -u 203 -d /var/qmail -s /bin/false qmaill 
# useradd -g nofiles -u 204 -d /var/qmail -s /bin/false qmailp
# groupadd -g 202  qmail
# useradd -g qmail -u 205 -d /var/qmail -s /bin/false qmailq
# useradd -g qmail -u 206 -d /var/qmail -s /bin/false qmailr
# useradd -g qmail -u 207 -d /var/qmail -s /bin/false qmails
# cd /usr/local/bin ダウンロードしたディレクトリへ移動
# tar xvfz qmail-1.03.tar.gz qmailの解凍
# gunzip -v qmail-date-localtime.patch.gz Patchの解凍
# cp qmail-date-localtime.patch /usr/local/bin/qmail-1.03 Pathをqmailディレクトリにコピー
# cd /usr/local/bin/qmail-1.03 qmailディレクトリへ移動
# patch -p1 < qmail-date-localtime.patch localtime.patchの適用
# make setup check qmailのインストール
# cd /usr/local/bin ディレクトリーの移動
# tar xvfz ucspi-tcp-0.88.tar.gz tcpserverの解凍
# cd /usr/local/bin/ucspi-tcp-0.88 ディレクトリーの移動
# make コンパイル
# make setup check tcpserverのインストール
# cd /usr/local/bin ディレクトリーの移動
# tar xvfz checkpassword-0.90.tar.gz checkpasswordの解凍
# cd /usr/local/bin/checkpassword-0.90 ディレクトリーの移動
# make コンパイル
# make setup check checkpasswordのインストール
# ./config-fast masa.motoduka.com 設定ファイルのセット。(masa.motoduka.comは自ドメイン)
# cp /var/qmail/boot/home /var/qmail/rc homeファイルをrcにしてコピー
# cd /var/qmail/alias ディレクトリーの移動
# touch .qmail-postmaster 空ファイルの作成
# touch .qmail-mailer-daemon
# touch .qmail-root
# chmod 644 /var/qmail/alias/.qmail* パーミッションの設定
# vi /var/qmail/rc viエディタで/var/qmail/rcの編集(Maildirへの対応)
qmail-start ./Maildir/ splogger qmail qmail-startの行を左のように編集して保存
# /var/qmail/bin/maildirmake /etc/skel/Maildir 新規アカウントを作るときに、自動でMaildirを作成する
# echo ./Maildir/ > /etc/skel/.qmail
# cd /usr/local/bin ディレクトリーの移動
# tar xzvf relay-ctrl-2.5.tar.gz relay-ctrl-2.5の解凍
# cd relay-ctrl-2.5 ディレクトリーの移動
# make コンパイル
# make root-install relay-ctrl-2.5のインストール
# mkdir /etc/relay-ctrl 使用ディレクトリの作成
# mkdir /var/qmail/relay-ctrl
# mkdir /var/qmail/relay-ctrl/spool
# cd /etc/relay-ctrl/ ディレクトリーの移動
# echo '900' > expiry IPアドレスの保持時間の設定
# echo ":allow,RELAYCLIENT=''" > rule ruleの設定
# echo '/etc' > rulesdir ruleのデータベースcdbファイルの場所の指定
# echo 'tcp.smtp.cdb' > smtpcdb ruleのデータベースcdbのファイル名
# echo 'tcp.smtp' > smtprules cdbの元になるテキストファイル名
# echo '/var/qmail/relay-ctrl/spool' > spooldir IPアドレスを記録しておくスプールの指定
# echo '/usr/local/bin/tcprules' > tcprules tcprulesのパスの指定
# crontab -e 定期的にIPアドレスを削除する設定
* * * * * /usr/sbin/relay-ctrl-age 行を追加して保存
# vi /etc/tcp.smtp cdbの元になるテキストファイルを作成して、空のまま保存
# /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 中継ルールのデータベースtcp.smtp.cdbの作成
# vi /etc/tcp.smtp エディタでtcp.smtpの編集
192.168.1.:allow,RELAYCLIENT=""

127.:allow,RELAYCLIENT=""

行を追加して保存
# vi /etc/rc.d/rc.local エディタで起動ファイルの設定
# Start qmail
/bin/csh -cf '/var/qmail/rc &'
qmailの起動
# Start smtpd
/usr/local/bin/tcpserver -vHR -x /etc/tcp.smtp.cdb -v -u 202 -g 201 0 25 /usr/local/bin/rblsmtpd -r relays.ordb.org  /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
tcpserverからsmtpdを起動

1行で記述する。-uの後はqmaildのユーザーIDで、-gの後はnofilesのグループID。25はsmtpのポート番号。rblsmtpdとrelays.ordb.orgの参照はスパム対策

# Start pop3d
/usr/local/bin/tcpserver -vHR 0 110 /var/qmail/bin/qmail-popup masa.motoduka.com /bin/checkpassword /usr/sbin/relay-ctrl-allow /var/qmail/bin/qmail-pop3d Maildir &
tcpserverからpop3dを起動

1行で記述する。110はpop3のポート番号。masa.motoduka.comは自ドメイン名

すでに使っているユーザーにMaildirを設定するには
# /var/qmail/bin/maildirmake $HOME/Maildir それぞれのユーザーが実行する
またすでにsendmailが導入されている場合には、sendmailが起動しないように/etc/rc.d/rc3.dディレクトリで
# mv S80sendmail _S80sendmail スタートアップファイル名の変更

Top