Linuxの部屋に戻る月読のトップページへ

qmailを入れる

メールサーバを作ろうと思った。
でも、sendmailって、設定が面倒くさいらしい。と思っていたら、qmailってのがあるらしい。
qmailだったら、設定が大変じゃないらしいので、ひとまずやってみた。
参考にしたのは、「sendmailとqmailによる Linuxメールサーバー構築ガイド」っていう本です。

0.qmailインストールの準備

sendmailやpopサーバーなどが動いていたら止める。
qmailやその他のプログラムの入手をする。

qmailのホームページ
日本語のページ
パッチファイル・・・qmailはヘッダ内の日付を世界標準時にしているが、それをローカルタイムに変更する。
tcpserver・・・inetdの代わりになるもの。

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の部屋に戻る月読のトップページへ