[概要] [展開] [準備] [テスト] [inetd] [tcpserver]
この例では、 /usr/tmp にダウンロードしたパッケージを、 /usr/local/src で展開しています。
# cd /usr/local/src # cp /usr/tmp/qmail-1.03.tar.gz . # tar zxvf qmail-1.03.tar.gz |
展開したディレクトリに移動すると、 導入方法を説明した INSTALL ファイルがあります。
# cd qmail-1.03 # less INSTALL |
以降は、この文書の手順に従って導入を進めます。
まず、qmail のホーム・ディレクトリを作成します。 デフォルトでは、/var/qmail を作成します。
# mkdir /var/qmail |
次に、グループとユーザーを登録します。 登録の方法は、INSTALL.ids ファイルに記述されています。
# groupadd -g 110 nofiles # useradd -g nofiles -u 111 -d /var/qmail/alias alias # useradd -g nofiles -u 112 -d /var/qmail qmaild # useradd -g nofiles -u 113 -d /var/qmail qmaill # useradd -g nofiles -u 114 -d /var/qmail qmailp # groupadd -g 120 qmail # useradd -g qmail -u 121 -d /var/qmail qmailq # useradd -g qmail -u 122 -d /var/qmail qmailr # useradd -g qmail -u 123 -d /var/qmail qmails |
この例では、グループIDやユーザーIDを指定していますが、 これらは、指定を省略して、適当なもので登録してもかまいません。
# make setup check |
マニュアル・ページは /var/qmail/man に、 各種のドキュメントは /var/qmail/doc に置かれます。
各種の設定を行います。 詳細は、INSTALL.ctl や FAQ に記述されています。 必らず行うことは、次の通りです。
# ./config |
次に、メール・エイリアス用のファイルを作成します。 詳細は、INSTALL.alias に記述されています。 必らず行うことは、次の通りです。
# cd ~alias # touch .qmail-postmaster .qmail-mailer-daemon .qmail-root # chmod 644 ~alias/.qmail* |
qmail では、メール・ボックスが /var/spool/mail/user ではなく、 ホーム・ディレクトリの ~user/Mailbox に配送されます。 このための手順が、INSTALL.mbox に記述されています。 また、/var/spool/mail/user に配送されるようにする方法は、 INSTALL.vsm に記述されています。
INSTALL.maildir には、 mbox 形式から新しい形式の maildir 形式に移行する方法が記述されています。
次に、/var/qmail/boot/home を /var/qmail/rc にコピーします。 procmail を使用する場合は、proc です。
# cp /var/qmail/boot/home /var/qmail/rc |
まず、qmail に渡されたメッセージの配送を開始させます。
# csh -cf '/var/qmail/rc &' |
syslog の確認を行います。
# grep status /var/log/maillog Jan 25 15:03:10 mail qmail: 948780190.996839 status: local 0/10 remote 0/20 |
プロセスの確認を行います。
# ps aux|grep qmail- qmails 13678 0.0 0.5 1108 368 pts/1 S 15:03 0:00 qmail-send root 13680 0.0 0.5 1068 320 pts/1 S 15:03 0:00 qmail-lspawn ./Ma qmailr 13681 0.0 0.5 1068 316 pts/1 S 15:03 0:00 qmail-rspawn qmailq 13682 0.0 0.5 1060 328 pts/1 S 15:03 0:00 qmail-clean root 13904 0.0 0.7 1596 472 pts/1 R 15:48 0:00 grep qmail- |
自分のユーザーになり、メールを送信してみます。 メッセージは、~/Mailbox に保存されます。
$ echo to: foo | /var/qmail/bin/qmail-inject |
存在しないユーザーや、他のサーバーのユーザーへ、 メールを送信してみます。 ログは、/var/log/maillog に記録されます。
LASER 5 など、Red Hat Linux 系の配布パッケージでは、 setup コマンドで起動スクリプトから削除することができます。
次に、起動スクリプトに、qmail の項目を追加します。 例えば、/etc/rc.d/rc.local ファイルに次のような記述を追加します。 デーモンで起動するために、最後の & が必要です。
# qmail /bin/csh -cf '/var/qmail/rc &' |
次に、qmailの sendmail wrapper を MUA から使えるようにします。 次の操作で、qmail の sendmail プログラムが使用されることになります。 もし、sendmail.mx ファイルがある場合は、chmod 0 を行います。
# mv /usr/sbin/sendmail /usr/sbin/sendmail.back # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail |
最後に、/etc/inetd.conf に次の1行を追加します。 ここでは、表示の都合で、2行になっていますが、実際には1行で記述します。
smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd |
以上で、設定は終わりました。 システムを再起動し、プロセスなどを確認してください。
/bin/csh -cf '/var/qmail/rc &' /usr/local/bin/tcpserver -u 7770 -g 2108 0 smtp \ /var/qmail/bin/qmail-smtpd & |
ここで、7770 は qmaild のユーザーIDに、 2108 は nofiles のグループIDに置き換えるます。 最後の'&'は、デーモンとして起動するために、必ず付けます。
なお、tcpserver を使用する場合、inet.conf での smtp の設定はコメントにします。 また、tcpserver を利用するには、別途、 ucspi-tcp パッケージをインストールしておく必要があります。
tcpserverは、デフォルトで、同時に40までの qmail-smtpd を扱えます。 この制限を変更するには、tcpserver -c 400 のようにします。
誰がどのくらい接続していたか記録するには、次のように記述します。
/bin/csh -cf '/var/qmail/rc &' /usr/local/bin/tcpserver -v -u 7770 -g 2108 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 | \ /var/qmail/bin/splogger smtpd 3 & |