FreeBSD 10.2 RELEASE - qmail - 初期設定


 クラウディア


1. ports
2. コントロールファイルの作成
3. alias の設定
4. Maildir の作成
5. 不正中継させないための設定

1. ports

 「qmail」および「qmail」関連のパッケージをインストールします。

/usr/ports/mail/qmail
/usr/ports/mail/procmail
/usr/ports/security/checkpassword
/usr/ports/sysutils/ucspi-tcp
 「qmail」のインストールでは多くのオプションが用意されています。実際の画面は以下のように出ます。

 オプションは、「1.03」のころに比べてずいぶん様変わりしました。
 デフォルトの設定に加えて、以下のオプションにチェックをいれておきます。

    ・LOCALTIME_PATCH	日本時間で処理できるようにする

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

 インストールが成功すれば /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

2. コントロールファイルの作成

 自分のホスト情報その他を qmail に教えるために、いくつかのファイルを作成します。  /var/qmail/control/に、以下のファイルを作成します。既に出来ているファイルがあるかもしれませんが、それについても編集しなおします。
defaultdomain
locals
me
plusdomain
rcphosts
 defaultdomain は以下のように記述します。

foo.ne.jp
 locals は以下のように記述します。

localhost.foo.ne.jp
local.foo.ne.jp
foo.ne.jp
 me は以下のように記述します。

foo.ne.jp
 plusdmain は以下のように記述します。

ne.jp
 ここの例題が、ネットワーク組織なので、ne.jp にしてますが、あなたの設定するサーバが法人組織のものであれば、co.jp になります。他のところも全部、同様なので間違いのないように御願いします。  rcphosts は以下のように記述します。

localhost.foo.ne.jp
ns.local.foo.ne.jp
foo.ne.jp

3. alias の設定

 qmail では個々のユーザが user-bar という形式の拡張アドレスを管理できます。  user-bar 宛のメールは ~user/.qmail-bar に処理方法を書けます。  ユーザ名で始まっていないアドレスは疑似ユーザ alias により管理されます。 例えば、bar 宛のメールは /var/qmail/alias/.qmail-bar に処理方法を書きます。  sendmailでは、/etc/aliases に転送先を記述しますが、qmail では、/etc/aliases をそのままサポートする機能はありません。  通常のログインユーザ以外のユーザで、メールを受信する可能性のあるものは、/var/qmail/alias/.qmail-bar にその転送先を記述しておきましょう。  最低限、設定しておくべき alias の一覧
 alias 名    意味  
postmaster メール管理者のメールアドレスです。
mailer-daemon 宛先不明のメールの差出先です。宛先不明のメールを受信することにより、メールアドレスをパンチミスしてしまったメールを受け取ることができます。
root FreeBSD では、daemon がこのアドレスに daily、weekly、monthly にログを送ってきます
これらのファイルは、qmail をインストールした時点で作成されています。 それぞれのファイルに、受取るべきメールアドレスを記述します。もしあなたがサーバの管理人であり、これらのすべてのメールを受取るべきであるとします。あなたのメールアドレスを仮に、bar@foo.ne.jp であるとすれば作ったすべてのファイルに

bar@foo.ne.jp
 と記述してください。それで、これらのメールアドレス宛のメールはすべて受取れるようになるはずです。  もちろん、それぞれが別管理であれば、管理人のメールアドレスを記述すればよいわけです。

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 用の設定を行ってくれます。

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 を更新しますので注意してください。

earthcar(アースカー)