|
Linux
|
さらばsendmail!
qmailとは?UNIX/Linux用のメールサーバーではsendmailが最も有名ですが、 sendmailはその歴史がセキュリティホールの発見と対策パッチ当ての その点、D.J.Bernstein氏・作のqmail(日本語訳サイト)はシンプルな ここではqmailに八上
全弘氏・作のpbs4q を組み合わせて POP before SMTP対応にすると、ユーザーはsmtpでメールを 既にsendmailでメールサーバーを運営していて後からqmailに 用意するファイル ・qmail ・pbs4q ・localtime用パッチ ・tcp-server ・checkpassword ・cdb
ファイルがたくさんあるのでインストールが大変そうに感じますか?
設定例についてここに記載している設定例は、このサーバー
(ns.planet-green.com)を例に説明して どうしてこんな当たり前の事を書くかというと、以前ここの設定例をそのまま |
qmialのインストールソースを展開する
/var/qmail がqmail用のディレクトリになるので作成しておきます。
それではqmailのコンパイルです。
aliasの設定 これはsendmailにおける/etc/aliasesと同じ機能です。 例えば、/var/qmail/alias/ に .qmail-hogehoge という名前のファイルを作り、 そのファイルの中に &foo (又は、 &foo@xxxxx.or.jp のように完全メールアドレスでもいい) と書くと、hogehoge 宛てのメールが foo に転送されます。 ここでは .qmail-root .qmail-postmaster .qmail-mailer-daemon という空の3つのfileを作成します。
qmailはroot宛てのメールを受信しないので、この設定は必須です。 また、.qmail-defaultを作成し、宛先不明メールの送り先を指定することも出来ます。 /var/qmail/control/内の設定ファイルについて
Maildir形式qmailはデフォルトではsendmailと互換性のあるMailbox形式でメールを保存します。 まずMaildirを作ります。メールサーバーをsendmailからqmailに途中から移行した場合、
次のように設定しておけば、以後、新規ユーザーを登録した時に自動的にMaildirを
起動スクリプトをコピーします。
|
メールの送信テストqmailを開始します。sendmailから移行した場合は、その前にsendmailを停止しておいてください。
自分のhomeにMaildirがあることを確認した後、以下のコマンドでroot宛てにメールを送ります。
~/Maildir/new に新しいメールが来るはずです。 次は、外部への送信テストです。
qmailの sendmail wrapperをMUAから使えるようにします。
tcpserverの導入
従来のtcp wrapperではなく、tcpserverでqmailを制御することにします。 tcpserverのインストール
/etc/inetd.conf の中でsmtpが有効になっていたら、コメントアウトして無効にしておいてください。 popperの設定/etc/services に pop3 110/tcp の行があることを確認します。 checkpasswd をインストールします。
/etc/inetd.conf のpop-2 pop-3をコメントアウトして従来のtcp wrapperからは cdbを導入 qmailはデフォルトではlocalにしか送信できず、設定ファイル control/rcpthosts に これでは不便なので、cdbをインストールして送信先ホストをコントロールするように (2003/12/09追記 tcpserver v0.88にはcdbが含まれているので、別途インストールする必要が
/etc/tcp.smtpを以下のように作ります。
(IPアドレスが 192.168.0.*と127.* であるホストからの接続を許可を意味しています。) tcprulesを以下のように実行し、 tcp.smtp.cdbファイルを作成します。
/etc/tcp.smtpを変更した後は必ずtcprulesを実行して tcp.smtp.cdb も
IPアドレスを指定する事により、アクセス許可/拒否のいずれかを表示します。 |
pbs4qのインストール
|
# tar zxvf pbs4q-0.2.1.tar.gz -C /usr/local/src |
そして最後に /etc/rc.d/rc.local の末尾に次の内容を追加し、再起動すれば完了です。
##start qmail csh -cf '/var/qmail/rc &' ##qmail-smtpd /usr/local/bin/tcpserver -v \ -c 40 -u 903 -g 900 \ (←作成したqmaildとnofilesのユーザー・グループIDに一致するか確認) -x /etc/tcp.smtp.cdb \ ns.planet-green.com smtp \ (←あなたのホストのFQDNに変更) /usr/local/bin/pbs4q2_smtp \ /var/qmail/bin/qmail-smtpd \ 2>&1 | /var/qmail/bin/splogger smtpd 3 & ##qmail-pop3d /usr/local/bin/tcpserver -v -c 40 -u 0 -g 0 \ -x /etc/tcp.smtp.cdb 0 110 \ /var/qmail/bin/qmail-popup \ ns.planet-green.com \ (←あなたのホストのFQDNに変更) /bin/checkpassword \ /usr/local/bin/pbs4q1 \ /var/qmail/bin/qmail-pop3d Maildir \ 2>&1 | /var/qmail/bin/splogger pop3d 3 & |
この設定例ではtcpserverは同時に40までのqmail-smtpdを扱えるようにしてあります。
この制限を変えるには、コマンドライン -c の後を任意の数字にします。
インストールが終わり、メールの送受信テストに成功したなら、無料のWEBサービスを利用して
サーバーが不正中継に利用されないか テストしてみるのも手です。
Googleなどから直接このページにアクセスする方が多いようなのでお知らせします。
筆者はUNIX/Linuxサーバーで動作するネット対戦ゲームを無償配布しているので
よろしくお願いいたします。 http://game1.openspc2.org/~planet/taisellion/
また、このサイトのトップページはhttp://www.planet-green.com/
ですので、
リンクはそちらにお願いいたします。