このページではLinuxで構築した自宅サーバーで運用するメールサーバーの起動や設定の反映方法についてビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
メールサーバーの構築

メールサーバーについて

電子メールシステムについて

メールアカウントの作成

POP/IMAPサーバーの設定

Sendmailの設定

Postfixの設定

ユーザー認証によるメール送信

SMTP AUTHの設定

POP/IMAP before SMTP

dracによるPBS構築
(WBEL3,CentOS3(i386))

Pop-before-smtpの設定
(WBEL3,4_CentOS3,4+UW IMAP)

Pop-before-smtpの設定
(WBEL4_CentOS4,5+Dovecot)

SquirrelMailの設定

サブミッションポートの設定

メールの転送設定のコツ

メールサーバーのコントロール

メールサーバーの動作チェック

ポートフォワーディングの設定


メールサーバーの起動、停止、再起動

メールサーバー は複数の アプリケーション の組み合わせで動作していますので、以下、個別に説明します。

ただ、 MRA である UW IMAP と Dovecot 、 MTA である Sendmail と Postfix 、POP/IMAP before SMTPの機能を提供する drac と Pop-before-smtp のように、同じ目的のアプリケーションを同時に稼動させても意味がありません。

意味がないだけならばまだよいのですが、同じ目的のサーバーアプリケーションの同時起動はむしろトラブルの元となります。

これらは必ずどちらか一方だけを起動するように、起動設定には充分に気をつけてください。

UW IMAPのコントロール

UW IMAP が提供する "ipop3" と "imap" の起動、停止の方法は、 UW IMAPの自動起動設定 で詳しく説明していますので、こちらを参考にしてください。

UW IMAPが提供する デーモン は、 xinetd 依存型ですので、メールの受信要求があったときにだけ起動して動作します。

つまり常に動作しているデーモンではないので、普通は ps コマンド などで動作を確認することはできません。

というわけですから、 ntsysv コマンドでの項目チェックと、xinetdの再起動を確実に行うように心がけてください。

Dovecotのコントロール

Dovecot の起動、停止の方法は、 Dovecotのコントロール で詳しく説明していますので、こちらを参考にしてください。

Dovecotが現在稼動してるかどうかを確認するには、

/etc/init.d/dovecot status...Dovecotの状態確認

あるいは、 ps コマンドで起動プロセスを確認します。

[root@web1 ~]# /etc/init.d/dovecot statusEnter
dovecot (pid 17909) を実行中...
[root@web1 ~]# ps ax | grep sendmailEnter パイプ処理の説明 grepコマンドの説明
17909 ?    Ss   0:00 /usr/sbin/dovecot
17912 ?    S   0:00 dovecot-auth
 ↑Dovecotが実行中であることを示します。
17925 pts/0  S+   0:00 grep dovecot
 ↑このgrepコマンドのプロセスです。
[root@web1 ~]# /etc/init.d/dovecot stopEnter
Dovecot Imap を停止中:                   [ OK ]
[root@web1 ~]# /etc/init.d/dovecot statusEnter
dovecot は停止しています
[root@web1 ~]# ps ax | grep dovecotEnter
17944 pts/0  S+   0:00 grep dovecot
[root@web1 ~]#

また、Dovecotを起動、再起動した後は必ず メールサーバーの動作チェック を参考に、具体的な動作内容の確認も合わせて行ってください。

Sendmailのコントロール

Sendmail の起動、停止、再起動、動作状態の確認などはこちら Sendmailのコントロール を参照してください。

Postfixのコントロール

Postfix の起動、停止、再起動、動作状態の確認などはこちら Postfixのコントロール を参照してください。

saslauthdのコントロール

saslauthd の起動、停止、再起動は、予め準備されている シェル スクリプト 、 "/etc/init.d/saslauthd" を利用して行います。

正確なスクリプトの場所は "/etc/rc.d/init.d/saslauthd" ですが、予めディレクトリ "/etc/rc.d/init.d/" の シンボリックリンク が "/etc/init.d/" で作成されていますので、 "/etc/init.d/saslauthd" でも実行することができます。

このシェルスクリプトが格納されているディレクトリには パス が通っていませんのでパス名付きで実行する必要があります パスが通っていない場所のファイルを実行するには 。

書式は以下のとおりです。作業はすべてroot アカウント から行います。

/etc/init.d/saslauthd start...saslauthdの起動

/etc/init.d/saslauthd stop...saslauthdの停止

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# /etc/init.d/saslauthd startEnter
saslauthd を起動中:                     [ OK ]
[root@web1 ~]# /etc/init.d/saslauthd stopEnter
saslauthd を停止中:                     [ OK ]
[root@web1 ~]#

設定ファイル"/usr/lib(またはlib64)/sasl2/smtpd.conf"の内容を修正した後には、一度saslauthdを停止して起動しなおすか、以下のコマンドを実行します。

/etc/init.d/saslauthd reload...saslauthdの設定再読み込み

[root@web1 ~]# /etc/init.d/saslauthd reloadEnter
saslauthd を停止中:                     [ OK ]
saslauthd を起動中:                     [ OK ]
[root@web1 ~]#

saslauthdが現在稼動してるかどうかを確認するには、

/etc/init.d/saslauthd status...saslauthdの状態確認

あるいは、 ps コマンドで起動プロセスを確認します。

[root@web1 ~]# /etc/init.d/saslauthd statusEnter
saslauthd (pid 24702 24701 24700 24699 24697) を実行中...
[root@web1 ~]# ps ax | grep saslauthdEnter パイプ処理の説明 grepコマンドの説明
24697 ?    Ss   0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam
24699 ?    S   0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam
24700 ?    S   0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam
24701 ?    S   0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam
24702 ?    S   0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam
 ↑saslauthdが実行中であることを示します。
24789 pts/0  S+   0:00 grep saslauthd
 ↑このgrepコマンドのプロセスです。
[root@web1 ~]# /etc/init.d/saslauthd stopEnter
saslauthd を停止中:                    [ OK ]
[root@web1 ~]# /etc/init.d/saslauthd statusEnter
saslauthd は停止しています
[root@web1 ~]# ps ax | grep saslauthdEnter
24815 pts/0  S+   0:00 grep saslauthd
[root@web1 ~]#

saslauthdは、 MTA と連携する デーモン ですが、特に起動や停止する順序に注意をする必要はありません。

dracのコントロール

drac の起動、停止、再起動は、予め準備されている シェル スクリプト 、 "/etc/init.d/dracd" を利用して行います。

正確なスクリプトの場所は "/etc/rc.d/init.d/dracd" ですが、予めディレクトリ "/etc/rc.d/init.d/" の シンボリックリンク が "/etc/init.d/" で作成されていますので、 "/etc/init.d/dracd" でも実行することができます。

このシェルスクリプトが格納されているディレクトリには パス が通っていませんのでパス名付きで実行する必要があります パスが通っていない場所のファイルを実行するには 。

書式は以下のとおりです。作業はすべてroot アカウント から行います。

/etc/init.d/dracd start...dracの起動

/etc/init.d/dracd stop...dracの停止

[tanaka@web1 tanaka]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 root]# /etc/init.d/drac startEnter
Starting dracd:                      [ OK ]
[root@web1 root]# /etc/init.d/dracd stopEnter
Shutting down dracd:                    [ OK ]
[root@web1 root]#

シェルスクリプト"/etc/rc.d/init.d/dracd"を修正した後には、一度dracを停止して起動しなおすか、以下のコマンドを実行します。

/etc/init.d/dracd restart...dracの再起動

[root@web1 root]# /etc/init.d/drac restartEnter
Shutting down dracd:                    [ OK ]
Starting dracd:                      [ OK ]
[root@web1 root]#

dracが現在稼動してるかどうかを確認するには、

/etc/init.d/dracd status...dracの状態確認

あるいは、 ps コマンドで起動プロセスを確認します。

[root@web1 root]# /etc/init.d/dracd statusEnter
rpc.dracd (pid 6431) を実行中...
[root@web1 root]# ps ax | grep dracdEnter パイプ処理の説明 grepコマンドの説明
6431 ?    S   0:00 rpc.dracd
 ↑dracが実行中であることを示します。
6440 pts/0  S   0:00 grep dracd
 ↑このgrepコマンドのプロセスです。
[root@web1 root]# /etc/init.d/dracd stopEnter
Shutting down dracd:                    [ OK ]
[root@web1 root]# /etc/init.d/dracd statusEnter
rpc.dracdは停止しています
[root@web1 root]# ps ax | grep dracdEnter
6457 pts/0  S   0:00 grep dracd
[root@web1 root]#

dracは、 MRA や MUA と連携する デーモン ですが、特に起動や停止する順序に注意をする必要はありません。

また、dracを起動、再起動した後は必ず POP/IMAP before SMTPの動作チェック を参考に、具体的な動作内容の確認も合わせて行ってください。

Pop-before-smtpのコントロール

Pop-before-smtp の起動、停止、再起動は、予め準備されている シェル スクリプト 、 "/etc/init.d/pop-before-smtp" を利用して行います。

正確なスクリプトの場所は "/etc/rc.d/init.d/pop-before-smtp" ですが、予めディレクトリ "/etc/rc.d/init.d/" の シンボリックリンク が "/etc/init.d/" で作成されていますので、 "/etc/init.d/pop-before-smtp" でも実行することができます。

このシェルスクリプトが格納されているディレクトリには パス が通っていませんのでパス名付きで実行する必要があります パスが通っていない場所のファイルを実行するには 。

書式は以下のとおりです。作業はすべてroot アカウント から行います。

/etc/init.d/pop-before-smtp start...Pop-before-smtpの起動

/etc/init.d/pop-before-smtp stop...Pop-before-smtpの停止

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# /etc/init.d/pop-before-smtp startEnter
Starting pop-before-smtp:                 [ OK ]
[root@web1 ~# /etc/init.d/pop-before-smtp stopEnter
Stopping pop-before-smtp:                 [ OK ]
[root@web1 ~]#

シェルスクリプト"/etc/rc.d/init.d/pop-before-smtp"を修正した後には、一度pop-before-smtpを停止して起動しなおすか、以下のコマンドを実行します。

/etc/init.d/pop-before-smtp restart...Pop-before-smtpの再起動

[root@web1 ~]# /etc/init.d/pop-before-smtp restartEnter
Stopping pop-before-smtp:                 [ OK ]
Starting pop-before-smtp:                 [ OK ]
[root@web1 ~]#

Pop-before-smtpが現在稼動してるかどうかを確認するには、

/etc/init.d/pop-before-smtp status...Pop-before-smtpの状態確認

あるいは、 ps コマンドで起動プロセスを確認します。

[root@web1 ~]# /etc/init.d/pop-before-smtp statusEnter
pop-before-smtp (pid
17956) を実行中...
[root@web1 ~]# ps ax | grep pop-before-smtpEnter パイプ処理の説明 grepコマンドの説明
17956 ?    Ss   0:00 /usr/bin/perl -wT /usr/sbin/pop-before-smtp --daemon=/var/run/pop-before-smtp.pid
 ↑pop-before-smtpが実行中であることを示します。
17966 pts/0  S+   0:00 grep pop-before-smtp
 ↑このgrepコマンドのプロセスです。
[root@web1 ~]# /etc/init.d/pop-before-smtp stopEnter
Stopping pop-before-smtp:                 [ OK ]
[root@web1 ~]# /etc/init.d/dracd statusEnter
pop-before-smtp は停止しています
[root@web1 ~]# ps ax | grep dracdEnter
17983 pts/0 S+ 0:00 grep pop-before-smtp
[root@web1 ~]#

pop-before-smtpは、 MRA や MUA と連携する デーモン ですが、特に起動や停止する順序に注意をする必要はありません。

また、pop-before-smtpを起動、再起動した後は必ず POP/IMAP before SMTPの動作チェック を参考に、具体的な動作内容の確認も合わせて行ってください。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このページの先頭へ↑

メールサーバーを自動的に起動する

メールサーバー は、いつ送られてくるか判らないメールを受信しなくてはなりませんから、常に起動しておくのが普通です。

従って稼動しておかなければならない デーモン は、 構築中のLinuxサーバー が起動したときに自動的に起動するように設定しておきましょう。

POP3 及び IMAP4 デーモンのntsysvでの自動起動登録については、 POP/IMAPサーバーの設定について の説明をご覧ください。

このパートでは、メールサーバーの動作に必要なそのほかのデーモンに自動起動設定について説明します。

Sendmailの自動起動設定

Sendmail の自動起動設定についてはこちら Sendmailの自動起動設定について を参照してください。

Postfixの自動起動設定

Postfix の自動起動設定についてはこちら Postfixの自動起動設定 を参照してください。

saslauthdの自動起動設定

メールサーバー で cyrus-sasl を使って SMTP AUTH を利用するときは、 MTA と共にsaslauthdをデーモンとして稼動させておく必要がありますので、 ホスト機 の起動に合わせて自動的に起動するように設定しておきましょう。

saslauhdはこの コンテンツ に従って、 WBEL 、 CentOS を インストール している場合、 ntsysv コマンド で設定画面を開くと、 デーモン の起動 スクリプト である "saslauthd" がリストに表示されますので、これにチェックを入れます。

saslauthdデーモンをntsysvで自動起動登録する
saslauthdデーモンを"ntsysv"で自動起動登録する

設定が終わったら念のため一度 構築中のLinuxサーバー を reboot コマンドで再起動し、上のパートで説明した動作確認の方法でsaslauthdがきちんと起動しているかどうかをチェックしてみてください。

dracの自動起動設定

メールサーバー で drac を使って POP/IMAP before SMTP を利用するときは、 MRA 、 MTA と共にdracのデーモンを稼動させておく必要がありますので、これも ホスト機 の起動に合わせて自動的に起動するように設定しておきましょう。

dracを "drac-1.11-1.i386.rpm" を使って インストール すると、既に ntsysv コマンド で設定画面を開くと、 デーモン の起動 スクリプト である "dracd" がリストに表示されますので、これにチェックを入れます。

dracdデーモンをntsysvで自動起動登録する
dracdデーモンを"ntsysv"で自動起動登録する

設定が終わったら念のため一度 構築中のLinuxサーバー を reboot コマンドで再起動し、上のパートで説明した動作確認の方法でdracがきちんと起動しているかどうかをチェックしてみてください。

Pop-before-smtpの自動起動設定

メールサーバー で Pop-before-smtp を使って POP/IMAP before SMTP を利用するときは、 MRA 、 MTA と共にPop-before-smtpをデーモンとして稼動させておく必要がありますので、これも ホスト機 の起動に合わせて自動的に起動するように設定しておきましょう。

Pop-before-smtpを pop-before-smtp-1.33-1.noarch.rpm を使って インストール すると、既に ntsysv コマンド で設定画面を開くと、 デーモン の起動 スクリプト である "pop-before-smtp" がリストに表示されますので、これにチェックを入れます。

pop-before-smtpデーモンをntsysvで自動起動登録する
pop-before-smtpデーモンを"ntsysv"で自動起動登録する

設定が終わったら念のため一度 構築中のLinuxサーバー を reboot コマンドで再起動し、上のパートで説明した動作確認の方法でdracがきちんと起動しているかどうかをチェックしてみてください。

関連セクションへ 関連セクション・ Sendmailの設定

関連セクションへ 関連セクション・ Postfixの設定

このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
www.centos.org - The Community ENTerprise Operating System