qmail 1.03 のインストール
SERVER
qmail-1.03 を Linux へインストールし、SMTP と POP3 が使えるように設定してみました。
qmail
qmail とは、http://www.jp.qmail.org/ でも歌われている通り、「安全確実で、信頼できて、高性能で、簡潔なメイル配送エージェント」 が売り文句になっているメールサーバです。
メールは各自のホームディレクトリへ Maildir 形式で保存されますので、アクセス権の問題や障害時の耐性の強化など、いろいろな効果が期待できるようです。
qmail のインストールには、若干多めの手順が必要です。
まず qmail をインストールする前に、qmail が使用するユーザとグループ、その他のソフトウェアのインストールを行います。
続いて qmail のインストールを行い、SMTP や POP3 といったメールサーバとのやり取りを行うソフトウェアのインストールを行います。
インストールの準備
以降の設定はすべて root 権限で行います。
まず、qmail が使うディレクトリを作成します。
mkdir /var/qmail
続いて qmail が利用するグループとユーザを登録します。以下の -u の後に続く数値は ”ユーザ ID”、-g に続く数値は ”グループ ID” ですので、必要に応じて変更してください。
groupadd -g 500 nofiles
groupadd -g 501 qmailuseradd -u 1000 -g nofiles -s /bin/true -d /var/qmail/alias alias
useradd -u 1001 -g nofiles -s /bin/true -d /var/qmail qmaild
useradd -u 1002 -g nofiles -s /bin/true -d /var/qmail qmaill
useradd -u 1003 -g nofiles -s /bin/true -d /var/qmail qmailp
useradd -u 1004 -g qmail -s /bin/true -d /var/qmail qmailq
useradd -u 1005 -g qmail -s /bin/true -d /var/qmail qmailr
useradd -u 1006 -g qmail -s /bin/true -d /var/qmail qmailsというように、合計2グループ、7ユーザを登録します。
登録し忘れると、qmail のインストール中にエラーが発生するので気をつけてください。
qmail のインストール
qmail は http://www.jp.qmail.org/ からダウンロードすることが出来ます。FTP の場合は、ftp://ftp.jp.qmail.org/qmail/ から入手できます。
今回は qmail-1.03.tar.gz をダウンロードしました。
/usr/src/ ディレクトリへ移動して、そこに qmail-1.03.tar.gz をコピーします。
tar xvzf qmail-1.03.tar.gz
と入力すると、新しく qmail-1.03/ というフォルダが作られて、その中にファイルが展開されます。
cd qmail-1.03
として、qmail-1.03/ フォルダへ移動したら、
make setup check
と入力するとインストールが始まります。
インストールが完了したら、どのメールアドレスのメールを受け取るかを設定します。今回の場合、ez-net.jp としてみます。
./config-fast mail.ez-net.jp
と入力すると、自動的に設定ファイルを作成してくれます。
以上で qmail 自身のセットアップは完了です。後は、
csh -cf /var/qmail/boot/home &
と入力すればスタンバイ完了です。起動するたびに入力しなくてすむように、/etc/rc.d/rc.local のなかに、この1行を書き加えておくと便利です。
その他のツールの導入
まず、qmail に付属している qmail-pop3d を利用する上で、checkpassword というプログラムをインストールします。これは http://cr.yp.to/checkpwd.html より checkpassword をダウンロードすることが出来ます。
/usr/src/ へ checkpassword-0.90.tar.gz をダウンロードしたら、
tar xvzf checkpassword-0.90.tar.gz
として解凍した後、新たに出来上がった checkpassword-0.81/ というディレクトリに移動して、
make setup check
と入力することでインストールが完了します。
続いて tcpserver のインストールです。tcpserver は SMTP や POP3 の起動に利用します。
http://cr.yp.to/ucspi-tcp.html より、/usr/src/ ディレクトリへ ucspi-tcp-0.90.tar.gz をダウンロードします。
tar xvzf ucspi-tcp-0.90.tar.gz
と入力して展開し、出来上がった ucspi-tcp-0.90/ というディレクトリへ移動します。
make setup check
と入力するとインストールが開始されます。
SMTP と POP3 の設定
最後に、SMTP と POP3 の呼び出し方法を設定します。
設定には tcpserver を利用します。
まず、/etc/tcprules というフォルダを作成してそこへ移動します。
その中に smtp というファイルを作成して、以下のような内容を書き込みます。
192.168.0.:allow,RELAYCLIENT=""
これは、192.168.0.* という IP アドレスからの接続は許可して、その際にはメールのリレーを許可する( RELAYCLIENT="" ) という意味になります。
192.168.0.* 以外の IP アドレスから接続した場合には、SMTP への接続は可能ですが、RELAYCLIENT="" という設定はないため、メールのリレーは出来なくなります。
ほかの IP アドレスでもリレーを許可したい場合には、次の行に似たような方法で記述します。
つづいて pop3 というファイルを作成して、以下のように設定します。
192.168.0.:allow
:denyこれは 192.168.0.* の IP アドレスに関しては接続可能とし、それ以外の IP アドレスからの接続は拒否するという設定です。
これにより、外部からの POP3 接続を防ぐことが出来ます。
以上のルールファイルを作成したら、それを tcprules という命令を使って変換します。
/usr/local/bin/tcprules smtp.cdb smtp.tmp < smtp
/usr/local/bin/tcprules pop3.cdb pop3.tmp < pop3
と入力すると、smtp.cdb, pop3.cdb という2つのファイルが出来上がります。
あとは POP3 と SMTP を動かせば設定は完了ですが、そのまえに既に動いているのがないかを確認します。
/etc/inetd.conf ファイルを開いて、その中の smtp, pop3 の行がコメントアウトされているかを確認します。
コメントアウトされていないと、すでにほかの SMTP や POP3 が動いている可能性があります。
その場合は、/etc/inetd.conf の smtp と pop3 の行の先頭に # をつけてコメントアウトした後、コマンドラインから、
kill -HUP `cat /var/run/inetd.pid`
と入力して inetd を再起動します。
起動する準備が整ったところで、どちらでもかまいませんが、まずは smtp を起動します。
/usr/local/bin/tcpserver -x /etc/tcprules/smtp.cdb -v -u 1001 -g 500 0 smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
と入力します。長いですがこれを1行で指定します。
-u と -g の後の数値は、【第2節】 で設定したユーザとグループの ID ですので、この例とは異なる ID を利用している方は気をつけてください。
pop3 も1行で次のように入力します。
/usr/local/bin/tcpserver -x /etc/tcprules/pop3.cdb -v 0 pop3 /var/qmail/bin/qmail-popup ez-net.jp /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 &
ここの ez-net.jp は各自それぞれの適切なドメイン名に変えておいてください。
以上で設定完了です。
これらも再起動後に改めて設定する必要のないように rc.local へ記述しておくといいでしょう。
これでインストールは完了です。あとは設定ファイルを調整しなくてはなりませんが、そのあたりは後日改めて紹介することにします。