Linuxの部屋に戻る/月読のトップページへ
qmailを入れる
メールサーバを作ろうと思った。
でも、sendmailって、設定が面倒くさいらしい。と思っていたら、qmailってのがあるらしい。
qmailだったら、設定が大変じゃないらしいので、ひとまずやってみた。
参考にしたのは、「sendmailとqmailによる Linuxメールサーバー構築ガイド」っていう本です。
0.qmailインストールの準備
sendmailやpopサーバーなどが動いていたら止める。
qmailやその他のプログラムの入手をする。
1.qmailのインストール
1.1 環境作成など
適当なディレクトリに、上のページから持ってきたqmailを展開し、パッチを当てます。
$ tar xvzf qmail-1.03.tar.gz
$ cd qmail-1.03
$ patch < qmail-date-localtime.patch
「$」はプロンプト。qmailのバージョンは、1.03です。
次に、qmailが使用するディレクトリを作ります。この辺の作業からrootユーザで行うのでしょう。
$ mkdir /var/qmail
もう一つ、qmailが使用するユーザとグループを作成します。
/etc/passwdの例
alias:!!:501:501::/var/qmail/alias:/bin/bash
qmaild:!!:502:501::/var/qmail:/bin/true
qmaill:!!:503:501::/var/qmail:/bin/true
qmailp:!!:504:501::/var/qmail:/bin/true
qmailq:!!:505:502::/var/qmail:/bin/true
qmailr:!!:506:502::/var/qmail:/bin/true
qmails:!!:507:502::/var/qmail:/bin/true
/etc/groupの例
nofiles:x:501:
qmail:x:502:
私は、/etc/passwdと/etc/groupのファイルに上の設定を書き込みました。
1.2 コンパイルとインストール
ここまで終わったら、いよいよqmailのコンパイルです。
$ make setup check
これだけで、コンパイルとインストールを行ってくれます。
インストールが終わったら、自ホスト名の設定をします。
$ ./config-fast ホスト名
ホスト名は自分が使用するものを設定します。
qmailが使用するエイリアスの設定と、ブートスクリプトのコピーをする。
$ cd /var/qmail/alias
$ touch .qmail-mailer-deamon
$ touch .qmail-postmaster
$ touch .qmail-root
$ chmod 644 .qmail*
$ cd ../boot
$ cp home ../rc
これで、qmailを動かす準備が出来ました。
2.qmailの動作確認
qmailを起動します。
csh -cf /var/qmail/rc &
2.1 MAIL送信のテスト
qmailでメールを送信するには、qmail-injectと言うのを使います。まずはローカルユーザ(qmailをインストールしたホストのユーザ)にメールを送信します。
$ /var/qmail/bin/qmail-inject
to: user-id
Test
Ctrl + D
$
qmail-injectは、上のように単体で起動されると、標準入力から情報を取り込みます。このメールはすぐに配送されて、user-idと言うユーザのホームディレクトリのMailboxと言うファイルに格納される。
次は別なプロバイダやホスト宛のリモートに対する配送を行います。単純にto:で指定するアドレスを外部のホスト宛にするだけです。
$ /var/qmail/bin/qmail-inject
to: user-name@otherhost.ne.jp
Test
Ctrl + D
$
こうして、メール到着の確認をしておきます。qmailのログは、/var/log/maillogにあるので、一緒に確認しておきます。
2.2 MAIL受信のテスト
次は、mailの受信処理です。これは、qmail-smtpdを使用します。とりあえずここでは、qmail-smtpdをinetdから起動するようにしておく。
qmail-smtpdが起動できるように、/etc/inetd.confを修正します。
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd
inetd.confの中に上の一行を複数行にまたがらないように追加します。このとき他に「smtp」の定義があったら、コメントにしたり、削除したりしておきます。
inetdにinetd.confが変更されたことを知らせます。
$ ps ax | grep -i inetd
435 ? S 0:13 inetd
2774 pts/1 S 0:00 grep -i inetd
$
メールの受信がqmail-smtpdで行えるかのチェックです。外部のサーバからメールをこのサーバ宛に送ってみてください。うまく受け取れたら、ユーザのホームディレクトリにあるMailboxと言うファイルに格納されているはずです。
Mailboxと一緒にログも確認しておくと良いと思います。
3.popサーバの設定
準備中
Linuxの部屋に戻る/月読のトップページへ