SMTPの設定 |
---|
”メールサーバーの仕組みについて”でも説明しましたが、SMTPサーバー の機能は”qmail”が行います。
このページでは、その”qmail”のインストールと設定について説明します。 | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
1.qmailに必要なもの | |||||||||||||||||||||||||||||||||||
注意する点は、メールサーバーは単体では動作しません。DNSサーバーの設定が必要になります。(ドメインも取得した後にメールサーバーの構築をします。) DNSサーバーをレンタルしている場合は、DNSのゾーンデータベースの MXレコードの設定が必要なので、各自で設定の変更が可能か確認をしてください。 またはDDNSを使用している場合は、MXレコードに対応しているか確認すると良いでしょう。 qmail を使ってメールサーバーを構築した際に、使用したプログラムを以下に掲載します。
以上が使用したプログラムです。 あとコンパイル用に”gcc”、”make”、”patch”と3つRPMSが必要なので、あらかじめインストールしておいてください。 | |||||||||||||||||||||||||||||||||||
2.qmailのインストール | |||||||||||||||||||||||||||||||||||
◆ 解凍 qmail のアーカイブを解凍する前に、まずはqmail用のディレクトリィを作成します。
ディレクトリィを作成したら、qmail の本体である”qmail-1.03.tar.gz”をコピーして解凍します。
解凍が完了したら、”/var/qmail/qmail-1.03”というディレクトリィが作成されています。 ◆ ユーザーの作成 qmail専用のユーザーとグループを作成します。qmail は、この専用のユーザーを使用して複数のプロセスを起動するため、ユーザー名は指定された名前で作成してください。 作成するユーザーとグループは以下の通りです。
tcpserver がユーザーIDを使用してプログラムを起動するので、あらかじめユーザーIDを指定して作成しておいた方が良いでしょう。他のユーザーと重複しなければOKです。 またこの qmail のユーザーは、実際にログインをして何らかの作業を行う事は無いので、仮想ユーザーにしておきます。以下の様にコマンド実行してユーザーを作成します。
※ ユーザーID、グループIDは”id”コマンドで確認できます。また”/etc/passwd”でも参照できますので、IDが重複しないようにユーザーを作成してください。 ◆ パッチを当てる 日付・時間の情報をローカルタイムに合わせるため、パッチを当てます。 まずは、”/var/qmail/”の直下に”qmail-date-localtime.patch”をコピーしておきます。 その後に”/var/qmail/qmail-1.03”にカレントを移動して以下のコマンドを実行してください。
◆ qmailのコンパイルとインストール パッチを当てたら次はコンパイルとインストールを行います。以下のコマンドを実行してます。
| |||||||||||||||||||||||||||||||||||
3.qmailの設定 | |||||||||||||||||||||||||||||||||||
◆ 設定ファイル qmail のインストールが完了したら、”/var/qmail/control/”というディレクトリィが作成されています。その中にいくつか設定ファイルがあるので編集します。 ● ”/var/qmail/control/locals” qmail-sendが利用します。受信するホスト名(FQDNも)とドメイン名を記述します。
(1)、(2)でメールサーバーのホスト名を記述します。(3) で自ドメインのドメイン部分を記述します。 ● ”/var/qmail/control/rcpthosts” qmail-smtpdが利用します。受信するホスト名(FQDNも)とドメイン名を記述します。
● ”/var/qmail/control/defaultdomain” toヘッダなどにドメイン名が省略された場合、補完されるドメイン名を指定します。
● ”/var/qmail/control/plusdomain” ドメイン部が”+”で終わっている場合に付加されるドメインを指定します。
● ”/var/qmail/control/me” 自サーバーのFQDNを記述します。
◆ エイリアスの設定 postmaster、MAILER-DAEMON、root宛て(内容が障害や宛先不明などのメールです。)のメールを特定のメールアドレスで受信できるようにエイリアスの設定をします。 まずは管理者用のメールユーザーを決定します。qmail ではLinuxのユーザーが、そのままメールユーザーになるので”useradd”でユーザーを作成します。(メールユーザーでしか使用しないのであれば、仮想ユーザーにしておきます。) ここでは管理者用のメールユーザーを”info”とします。
次に作成した管理者用のメールユーザーに対して、postmaster、MAILER-DAEMON、root宛てのメールが”info”に行くように、エイリアスを設定します。 ”/var/qmail/alias”の直下で作業を行います。
◆ qmail起動スクリプトの設定 qmail の起動スクリプトは”/var/qmail/boot/home”というスクリプトですが、qmail は Maildir形式(各ユーザーのホームディレクトリに1つのメッセージを1ファイルとして保存する方法)を推奨しているため、そのまま使用しません。 まず、このスクリプトを”/var/qmail”の直下にコピーして修正をします。
※ 上記の例では”rc”としていますが、ファイル名は何でも構いません。 次にコピーしたスクリプトを以下の様に修正を加えます。 #!/bin/sh 〜 コメントのため省略 〜 exec env - PATH="/var/qnail/bin:$PATH" \ qmail-start ./Mailbox splogger qmail ↓ ./Maildir/ ※ ”\”はLinuxではバックスラッシュになっています。 上の様に”./Mailbox”の部分を”./Maildir/”に修正します。最後の”/”は忘れずに付けてください。 ◆ メールユーザーを Maildir形式にする。 起動スクリプトでMaildir形式の設定が終わったら、各メールユーザーをMaildir形式に設定します。メールは各ユーザーのホームディレクトリィに配信されるので、Maildir形式にしておかないとメールが受け取れなくなるからです。 既に作成してあるユーザーに対しては、以下のコマンドを実行してます。
※ ”su”コマンドでユーザーを切り替えて各ユーザー毎行う必要があります。 またユーザーを作成すると自動的ににMaildir形式を作成したい場合は以下の様にします。
◆ メール配送の動作確認 ここまで設定ができたら、qmailの動作確認をします。 メール配送スクリプトとして”qmail-inject”がありますので、それを実行して確認します。
(1)で送り先のユーザーを指定します。動作確認なので管理者用の”info”に送る例です。ここで注意する点は、ドメイン部は不要なので付けないでください。 (2)でメールの内容を記述します。内容が書き終えたら、[ Ctrl + D ]を押します。するとメールを送信してスクリプトが終了します。 実際に送られているかどうかの確認は、送り先のユーザーのMaildirの中にファイルが作成されているか確認します。 | |||||||||||||||||||||||||||||||||||
4.DNSの設定 | |||||||||||||||||||||||||||||||||||
最初にも記述しましたが、メールサーバーは単体では動作しません。DNSの設定が必要です。 DNSの正引きゾーンデータベースに以下の様に追加します。(詳しくは”DNSの設定”を参照してください。)
以上の部分が追加または修正が終わったら、BINDを再起動してください。 |
先頭に戻る メールサーバーの設定に戻る TOPページに戻る |