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

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

1.1 ports

 qmail

プロンプト略
cd /usr/ports/mail/qmail/
make
make install
 qmail のインストールでは多くのオプションが用意されています。実際の画面は以下のように出ます。

 オプションは 1.03 のころに比べてずいぶん様変わりしました。
 (オプション説明参考サイト「qmail、vpopmailのインストール&設定 -FreeBSD Lab-」)

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

・LOCALTIME_PATCH  日本時間で処理できるようにする
・DISCBOUNCES_PATCH  ダブルバウンスメールの扱いを他の「MTA」と同様にする

 以下のオプションからはチェックをはずしておきます。

・SMTP_AUTH_PATCH  SMTP 認証機能を追加する
・RCDLINK  qmail の自動起動スクリプトをインストールする(本サイトの設定では使用しません)

 本サイトの設定では SMTP_AUTH_PATCH に対応していませんので チェックを外してください 

 後はデフォルトで構わないかと思います。


 procmail


プロンプト略
cd /usr/ports/mail/procmail/
make
make install
 checkpassword

プロンプト略
cd /usr/ports/security/checkpassword/
make
make install
 tcpserver  SSL ポートを使用する場合、SSL のオプションに必ずチェックをいれておきます。  SSL のチェックをいれると IPV6 と両立できませんので、必ず IPV6 のチェックをはずします。  他のオプションに関して参考サイトを調べています。  参考サイト「qmail による SMTP サーバの構築」- 「10,qmailの受信拒否リスト対応」RSS_DIFF ← (リンク切れになっちゃいました)       「実用qmailサーバ運用・管理術(3)」-「SPAMメール徹底対策 (2/3)」

プロンプト略
cd /usr/ports/sysutils/ucspi-tcp/
make
make install
 インストールが成功すれば /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 の作成

 sendmail では、メールは、/var/spool/mail/user というディレクトリにためられますが、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
 すべてのユーザに対して、これを行わなければなりません。  既に作ってしまっているユーザに対しては、これをやらなければ仕方ありませんがこれから、新しいユーザを作るたびにこれをやらなければならないとするとたまりませんね。  adduser のたびに自動的に ~user/Maildir、.qmail、.procmailrc を作成するようにしましょう。

> cd /usr/share/skel
> /var/qmail/bin/maildirmake Maildir
 とやってまず、ユーザ用の Maildir ディレクトリを作っておきます。  それから、同じ /usr/share/skel のディレクトリ内に、さきほどと同じ内容を記述した、dot.qmail、dot.procmailrc というファイルを作っておきます。  こうしておけば、~user/Maildir、.qmail、.procmailrc の雛型が作成され、その後 adduser する毎に自動的に、個々の qmail 用の設定を行ってくれます。

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

 不正中継させないためには以下のような設定を行います。  不正中継されると SPAM メールの中継地点として利用され、多くの人々に迷惑をかけてしまいます。その上、MAPS、RBL/ORB UK という2つの SPAM メールデータベースに登録されてしまうと、こちらから送信するメールを誰も受取ってくれなくなる恐れがあります。  tcpserver は、もうインストールしていますね。  通常は /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 を更新しますので注意してください。