Go to TOP Page
Google:


□qmail ってなにが良いのよ?


○sendmail と比較すると、こんな違いがあります。

ってなところでしょうか。sendmail のセキュリティ・ホールの多さにヘコんでいる 方には最適だと思います:-)
んで、オフィシャル・サイトは、コチラ

http://www.jp.qmail.org/

です。ソースのげっちゅーもできます。最新版は、 qmail-1.03.tar.gz だと思います。


□make の前にやっておかなくっちゃいけないこと


○DNS の MX とか、FQDN をちゃんと書いておく

make 後のインストールの際に、インストーラがチェックするそうです。 makeする前に正しく DNS を設定しているかどうかチェックしましょう。 とーぜん、DNS が動作しているだけでわ、ダメで、nslookup できないと ダメよん。


○qmail をインストールしておくようのディレクトリを作っておく

でおっけー。


○qmail daemon が使う用の uid と gid を定義しておく

具体的には、

とかしてください。直接 /etc/passwd と /etc/group を 書き換えても良いんだけどねー。


□make するぞっ!


○Build の手順

げっちゅーしてきたソースは、いままでのお決まり通りに、

して、デコードしておいてくらはい。無事にデコードできたら、

して、カレントにしておいてね。次は、conf ファイルの書き換えだよ。 カレ ントのファイルを見てみると、conf-cc ってのと、conf-ld ってファイルがあり ます。 gcc でコンパイルする場合、この 2 つのファイルを書き換えてからでな いと、コンパイルできません。あと、インストール先のレポジトリをデフォルト の /var/qmail から変えたい場合は、 conf-qmail を書き換えましょう。


conf の書き換え
ファイル 変更前 変更後
conf-cc cc -02 gcc -02
conf-ld cc -s gcc -s
conf-qmail /var/qmail /usr/local/qmail とか・・・

お待たせー。ここで make だよん。設定がちゃんと終わってれば、 su で root になって、

して、暫く、ほったらかしにしておいて下さい。んで、コンパイルが 終わったら、もーちょっとだけ、おまじないです。


○qmail でメールを受信する時のアドレスに FQDN を設定する

そーすると、/var/qmail/control に、ファイルが 5 つ作られてると思います。

の、5 つね。


□ちゅーにんぐ するぞっ!


○postmaster の alias をつくろう!

qmail の稼働中、なにか異常があったり、 SPAM っぽいメールが配信 されてきた場合、postmaster 宛てに、異常を知らせるメールが qmail daemon から送信されてきたりするので、postmaster の alias をキッ チリちゅーにんぐしておきましょう。

ってな感じね。ファイルの中身は、今のトコロはカラッポだけど、 必要に応じて書き換えてもいーんだよ。


○qmail daemon 起動スクリプトをコピーしやう

README とか、 にも書いてあるけど、qmail daemon の起動用スクリプト をコピーしないとダメみたいッポイので、素直にコピーしておきましょう。

です。この rc ファイルが普段、起動するのに使う起動用スクリプト になります。


○Mailスプールをユーザー毎に作る

qmail は、各ユーザのメールスプールを、 ユーザのホームディレクトリ に作ることを推奨してそーな雰囲気です。なので、各ユーザのメール スプールは各ユーザのホームディレクトリに作っておきましょう。
最初に、メールスプールを作るユーザで login しておいてもらって・・

メールスプールのディレクトリ名は、任意の名前をつけることができます。 メールスプールができたら、 .cshrc とか、 .profile なんかにも、MAIL の環境変数を定義しておきましょう。

MAIL の設定
.cshrc の場合 .profile の場合
setenv MAIL $HOME/Mail MAIL=$HOME/MH; export MAIL

とかして Mail の環境変数を設定しておくと、さらに、はっぴーになれる ことでしょう:-)

~/.qmail は各ユーザ専用の qmail コンフィギュレーションファイルです。 メイルボックスのレポジトリとかを書いておきます。最低限、メイルボックス のレポジトリだけは書いておきましょう。記述の具体例は・・・

.qmail の設定
Mailbox 形式 ~/Mail/Mailbox が実体の場合 ./Mail/Mailbox
Maildir 形式 ~/Mail が Directory の場合 ./Mail/

とかです。~/.qmail の書き方は、他にも書けるものがありますが、 今は、これだけ設定しておいてくらさい。この後、カンタンな動作 確認をしますが、Maildir 形式の メイルボックスを設定すると、 Maildir に対応した pop や imap なんかもインストールしないと MTA の動作確認ができなくなるッポイので、まずは、ラクチンな Mailbox 形式で基本的なメール配送の動作確認をしてみてから、 必要に応じて Maildir に移行した方が宜しいのではないかと思います。


○inetd.conf を書き換えるぞっ!

pop や IMAP でメールを取りたいぞっ!って人のためにも、 /etc/inetd.conf に smtp と pop と IMAP のエントリを書き加えておきましょう。


/etc/inetd.conf の設定
pop3 stream tcp nowait root /usr/local/bin/ipop3d ipop3d
imap stream tcp nowait root /usr/local/bin/imapd imapd
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd

ってな感じで 3 行、追加しておいてくらはい。んで、 コメントアウトするエントリ も一つあります。comsat のエントリなんですけれども、これは、メールが到着した ことを知らせるプログラムです。
qmail では、 comsat と同様の機能を持っているので、デフォルトの comsat は 必要ありません。コメントアウトしてしまいましょう。

と、こんな感じでコメントアウトしてね。これで、/etc/inetd.conf の編集はおしまい。
次に inetd を初期化して編集内容を inetd に Read しなおさせます。 ps -ef | grep inetd とかやって、inetd の pid を 調べて、

して、inetd を HUP して初期化してくらはい。これで、 /etc/inetd.conf の変更が inetd に反映されます。Solaris 8 とかの場合、pkill -HUP inetd でもよいね。

でも、気をつけておくことがあります。この設定方法はカンタンでラクチンなのは 良いのですけれども、セキュリティ性がまったく確保されていないので、悪意ある 第 3 者から、SPAM の踏み台にされてしまう可能性がありますので、このまま本格 運用するのはオススメできません。
基本的な動作確認のみにだけ、この設定をして後述する tcpserver を使ってアクセス 制限をしてから本格的に運用した方が良いです。

○ここまできたら起動するぞっ!

手始めに、手作業で起動してみましょう。

です。 ps -ax | grep qmail とかして、qmail の daemon を調べてみると・・・

表示される daemon
qmails xxx x 0 HH:MM:SS ? 0:00 qmail-send
qmaill xxx x 0 HH:MM:SS ? 0:00 splogger qmail
root   xxx x 0 HH:MM:SS ? 0:00 qmail-lspawn ./Maildir
qmailr xxx x 0 HH:MM:SS ? 0:00 qmail-rspawn
qmailq xxx x 0 HH:MM:SS ? 0:00 qmail-clean

とかってゆー daemon が動いてればおっけーです。起動だけはね・・・ ちゃんと配信されるかどーかわ、別の問題(笑)この起動例は、 Maildir での起動例です。


□配信テストをしてみる


○localhost の配信テストから・・・

まずは、以下のコマンドで、メールをローカルユーザ宛てにメールを 送ってみて下さい。

すぐに、カラッポのメールが hogehoge ユーザのメールボックスに届いたと思います。

届いたよね?

届かなかった場合、 /var/qmail/control の中のファイルの内容を書き間違えてな いか、FQDN は正しいか、 $HOME/.qmail は正しいか・・・・とかをチェックして下 さい。
処理結果は、 syslog にも出力されています。


□qmail の起動用スクリプトを書くぞ!


○S99qmail

今度は、 OS を ReBoot した時とかに、自動的に qmail daemon を起動するよ うのスクリプトを書きましょう。ワザワザ、手作業で起動しておくなんてめん どいもんね。
自動起動のスクリプトは、S99qmailの一例 をご覧あれ。
はぢめにゆっておきますけれど、このスクリプトが正しく動作する保証は アリマセン:-)ので、ダウンロードして御利用にな るのは良いんですけれども、御使用の前に、よく動作確認をしてから、御使用し て下さい。
スクリプトのコピー先は、

で、良いのでわないかなっ??99で都合がワルかった(笑)場合は、 最適な順番になるようにちゅーにんぐしてくらはい。


□tcpserver でアクセス制限


○接続制御

配信テストがうまくいったからって喜んでいると、このままの設定 では SPAM の踏み台にされてしまう可能性があるので、ちゃんと アクセス制限をしておきましょう。アクセス制限をするには、 tcpserver ってゆーのを使います。

ダウン先はコッチね。

http://cr.yp.to/ucspi-tcp.html

2002/02/20 日現在、 ucspi-tcp-0.88.tar.gz が最新のようです。 ダウンしてデコードしておいてくらさい。


□make するぞっ


○カンタンです。

だけっす。

とかやってメッセージが表示されれば正常終了しているもようです。


□環境設定ファイルを書くぞ


○接続ルールを定義しまつ

最初に、 /etc/tcp.smtp ってファイルを作っておきます。
このファイルに、

local 配信許可の設定
192.168.126.:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""

って書いてくらさい。 ip アドレスの 192.168.126 は、ローカル の ip アドレスね。ネットマスクしているところなんかは、


許可する IP アドレスの一例
192.168.126.128-255:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""

みたいに書くと良いようです。

誰かレポートしてください(^_^;)

そして、この tcp.smtp ってファイルを cdb フォーマットに コンバートしないとダメみたいです。

です。 /etc/tcp.smtp.cdb ってファイルができてませんか?


□tcpserver を起動する設定をするぞ


○起動スクリプト

/etc/rc2.d/S99qmail で tcpserver も起動するようにしましょう。

tcpserver の設定
#!/bin/sh
/usr/local/bin/tcpserver -v -u qmaild-uid -g qmail-gid -x \
    /etc/tcp.smtp.cdb 0 smtp \
    /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
echo 'Kick the qmail-smtpd form tcpserver'

こんなとこかな。そのほかにも pop とか apop とかあるけど、 またこんどねっ!




go back    next
Copyright(c) ORATORIO-TANGRAM.com 2001-2007 All Rights Reserved.
Total:counter