1. FreeBSD 10.4 RELEASE - qmail - 初期設定

 
1.1 ports
1.2 メールサーバ用証明書作成
1.3 コントロールファイルの作成・alias の設定
1.4 Maildir の作成
1.5 不正中継させないための設定

1.1 ports


qmail			/usr/ports/mail/qmail/
procmail		/usr/ports/mail/procmail/
checkpassword	/usr/ports/security/checkpassword/
tcpserver		/usr/ports/sysutils/ucspi-tcp/
 qmail インストールのオプションは以下のようになります。

 デフォルトの設定に加えて、以下のオプションにチェックをいれておきます。

・LOCALTIME_PATCH	日本時間で処理できるようにする
 tcpserver のオプションは以下のようになります。

 デフォルトの設定に加えて、以下のオプションにチェックをいれておきます。

・SSL	SSL プロトコルをサポートする
 SSL のオプションと IPv6 のオプションは背反するそうで、以下のオプションのチェックをはずします。
・IPV6	IPV6 プロトコルをサポートする
 インストールが成功すれば /var/qmail/ 以下に qmail 用のディレクトリは自動的に作られていますし、ユーザ群、グループ群も作成されます。  インストール後に vipw コマンドでのぞいてみると

alias:*:81:81::0:0:QMail user:/var/qmail/alias:/nonexistent
qmaild:*:82:81::0:0:QMail user:/var/qmail:/nonexistent
qmaill:*:83:81::0:0:QMail user:/var/qmail:/nonexistent
qmailp:*:84:81::0:0:QMail user:/var/qmail:/nonexistent
qmailq:*:85:82::0:0:QMail user:/var/qmail:/nonexistent
qmailr:*:86:82::0:0:QMail user:/var/qmail:/nonexistent
qmails:*:87:82::0:0:QMail user:/var/qmail:/nonexistent
 という具合に出来上がっているはずです。  以前は sendmail の置き換えについて、くどくど書いていましたが、現在は、qmail インストール後に /var/qmail/scripts/enable-qmail という qmail に置き換えるためのスクリプトが用意されていますので、これを実行します。

> /var/qmail/scripts/enable-qmail

1.2 メールサーバ用証明書作成

 「メールサーバ」の「証明書を使用する」の項を参考にして、証明書を作成しておきます。

1.3 コントロールファイルの作成・alias の設定

 自分のホスト情報その他を qmail に教えるために、いくつかのファイルを作成します。  /var/qmail/control に最低限5つのファイルを作成します。  「メールサーバ」の「/var/qmail/control」の項を参考にして作成してください。  /var/qmail/alias に管理者用のメールアドレスの設定を行います。  「メールサーバ」の「/var/qmail/alias」の項を参考にして設定してください。

1.4 Maildir の作成

 qmail では、~user/Maildir/ というユーザ個々のディレクトリにためられます。  ~user/Maildir を作成するには、それぞれのユーザでログインし、次のコマンドを使います。

> /var/qmail/bin/maildirmake $HOME/Maildir
 .qmail.procmailrc というファイルを作成してデフォルトで次のように記述します。  .qmail

| /var/qmail/bin/preline /usr/local/bin/procmail ./.procmailrc
 .procmailrc

PATH=/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR
 すべてのユーザに対して、これを行わなければなりません。  既に作ってしまっているユーザに対しては、これをやらなければ仕方ありませんがこれから、新しいユーザを作るたびにこれをやるのは面倒なので。  /usr/share/skel にスケルトンを作成しておきます。  ユーザ hogehoge を代表ユーザとして上記を作成したら

> cd /usr/share/skel
> /var/qmail/bin/maildirmake Maildir
> cp ~hogehoge/.qmail dot.qmail
> cp ~hogehoge/.procmailrc dot.procmailrc
 こうしておけば、~user/Maildir.qmail.procmailrc の雛型が作成され、その後 adduser する毎に自動的に、個々の qmail 用の設定を行ってくれます。

1.5 不正中継させないための設定

 不正中継させないためには以下のような設定を行います。  不正中継されると SPAM メールの中継地点として利用され、多くの人々に迷惑をかけてしまいます。その上、MAPS RBL/ORB UK という2つの SPAM メールデータベースに登録されてしまうと、こちらから送信するメールを誰も受取ってくれなくなる恐れがあります。  通常は /etc/ ディレクトリに tcp.smtp というファイルを作成するようですが、わたしは、もう一段階、ネストを下げています。

> mkdir /etc/tcp
 /etc/tcp ディレクトリに、tcp.smtp というファイルを作って次のように編集します。  グローバルネットワークアドレスを仮に xxx.yyy.zzz.0/29 とします。

127.:allow,RELAYCLIENT=""
192.168.0.:allow,RELAYCLIENT=""
xxx.yyy.zzz.0-8:allow,RELAYCLIENT=""
 1行目は、ループバックアドレスです。127.*.*.* のアドレスから、メール中継させるという意味です。  2行目は、ローカルアドレスです。192.168.0.* のアドレスから、メール中継させるという意味です。  3行目は、グローバルアドレスです。xxx.yyy.zzz.0 から xxx.yyy.zzz.8 までのアドレスからメール中継させるという意味です。  他にも、安全が確認できて、どうしても中継させたいアドレスがあれば、上記の表記方法を応用して、記述してください。  先頭行に # を使うとコメント行として使えますので、中継アドレスが多ければ、忘れないように、コメントしておきましょう。もし、中継させないようになったらすぐ消せるようなコメントを書いておきましょう。  tcp.smtp の編集が終わったら、次のコマンドでデータベースを作成します。

> tcprules /etc/tcp/tcp.smtp.cdb /etc/tcp/tcp.smtp.tmp < /etc/tcp/tcp.smtp
 /etc/tcp.smtp を編集しなおす機会があったら、毎回このコマンドを実行してください。  ただし、次節で説明するブートスクリプトを使用するのであれば、起動時に毎回このコマンドを実行しますので、tcp.smtp の編集だけで問題ありません。  qmail-queue の設定を後で行います。このとき /etc/tcp/tcp.smtp を更新しますので注意してください。