メールサーバーを構築する場合、送信メールサーバー(SMTPサーバー)と受信メールサーバー(POP3/IMAPサーバー)の構築が必要になります。
今回は、送信メールサーバーにPostfix、受信メールサーバーにDovecotを使用します。
なお、Postfixはデフォルトでは外部ネットワークから外部ネットワークへの送信
(例えばネットカフェなどで、自宅サーバのメールアドレスから企業のメールアドレス宛)に送信できないようになっています。
これは迷惑メールの不正中継に利用されないようにするためです。
これを回避するため、SMTP-Auth機能(ユーザー認証機能)をもたせます。
また、DovecotはPOP3/IMAPサーバーとして構築し、どちらかを選択できるようにします。
yumを使用してインストールします。
[root@KURO-BOX ~]# yum -y install postfix 読み込んだプラグイン:fastestmirror Determining fastest mirrors fedora/metalink | 7.9 kB 00:00 updates/metalink | 4.6 kB 00:00 * fedora: ftp.iij.ad.jp * rpmfusion-free: ftp.cc.uoc.gr * rpmfusion-free-updates: ftp.cc.uoc.gr * updates: ftp.dti.ad.jp rpmfusion-free | 3.8 kB 00:00 rpmfusion-free-updates | 2.8 kB 00:00 rpmfusion-free-updates/primary_db | 445 kB 00:03 updates | 4.5 kB 00:00 updates/primary_db | 5.5 MB 00:04 インストール処理の設定をしています 依存性の解決をしています --> トランザクションの確認を実行しています ---> パッケージ postfix.ppc 2:2.6.5-2.fc12 を更新に設定しました --> 依存性の処理をしています: mysql-libs のパッケージ: 2:postfix-2.6.5-2.fc12.ppc --> 依存性の処理をしています: libmysqlclient.so.16 のパッケージ: 2:postfix-2.6.5-2.fc12.ppc --> 依存性の処理をしています: libmysqlclient.so.16(libmysqlclient_16) のパッケージ: 2:postfix-2.6.5-2.fc12.ppc --> トランザクションの確認を実行しています ---> パッケージ mysql-libs.ppc 0:5.1.47-1.fc12 を更新に設定しました --> 依存性解決を終了しました 依存性を解決しました ================================================================================ パッケージ アーキテクチャ バージョン リポジトリー 容量 ================================================================================ インストールしています: postfix ppc 2:2.6.5-2.fc12 fedora 1.4 M 依存性関連でのインストールをします: mysql-libs ppc 5.1.47-1.fc12 updates 1.5 M トランザクションの要約 ================================================================================ インストール 2 パッケージ アップグレード 0 パッケージ 総ダウンロード容量: 3.0 M インストール済み容量: 18 M パッケージをダウンロードしています: (1/2): mysql-libs-5.1.47-1.fc12.ppc.rpm | 1.5 MB 00:01 (2/2): postfix-2.6.5-2.fc12.ppc.rpm | 1.4 MB 00:00 -------------------------------------------------------------------------------- 合計 807 kB/s | 3.0 MB 00:03 rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています インストールし : mysql-libs-5.1.47-1.fc12.ppc 1/2 インストールし : 2:postfix-2.6.5-2.fc12.ppc 2/2 インストールしました: postfix.ppc 2:2.6.5-2.fc12 依存性関連をインストールしました: mysql-libs.ppc 0:5.1.47-1.fc12 完了しました!
Postfixの設定を行います。
[root@KURO-BOX ~]# vi /etc/postfix/main.cf 自分のFQDN名(完全修飾ドメイン名)指定を追加 myhostname = Amonution.com 自分のドメイン名指定を追加、myhostnameと同じで良い mydomain = Amonution.com ローカルからのメール送信時の送信元メールアドレス。@以降にドメイン名を付加する myorigin = $mydomain 接続を許すネットワーク(ローカルネットワークのみ) mynetworks = 192.168.11.0/24 127.0.0.0/8 外部からのメール受信を許可する inet_interfaces = all 自ドメイン宛メールを受信できるようにする mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain メールボックス形式をMaildir形式にする home_mailbox = Maildir/ メールサーバーソフト名の隠蔽化 smtpd_banner = $myhostname ESMTP unknown SMTP-Auth設定を追加する。 mtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination 受信メールサイズを制限する。 message_size_limit = 10485760
yumを使用してインストールします。
[root@KURO-BOX ~]# yum -y install cyrus-sasl cyrus-sasl-md5 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * fedora: ftp.iij.ad.jp * rpmfusion-free: ftp.cc.uoc.gr * rpmfusion-free-updates: ftp.cc.uoc.gr * updates: ftp.dti.ad.jp インストール処理の設定をしています パッケージ cyrus-sasl-2.1.23-9.fc12.ppc はインストール済みか最新バージョンです 依存性の解決をしています --> トランザクションの確認を実行しています ---> パッケージ cyrus-sasl-md5.ppc 0:2.1.23-9.fc12 を更新に設定しました --> 依存性解決を終了しました 依存性を解決しました ================================================================================ パッケージ アーキテクチャ バージョン リポジトリー 容量 ================================================================================ インストールしています: cyrus-sasl-md5 ppc 2.1.23-9.fc12 updates 45 k トランザクションの要約 ================================================================================ インストール 1 パッケージ アップグレード 0 パッケージ 総ダウンロード容量: 45 k インストール済み容量: 74 k パッケージをダウンロードしています: cyrus-sasl-md5-2.1.23-9.fc12.ppc.rpm | 45 kB 00:00 rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています インストールし : cyrus-sasl-md5-2.1.23-9.fc12.ppc 1/1 インストールしました: cyrus-sasl-md5.ppc 0:2.1.23-9.fc12 完了しました!
SMTP-Authの設定を行います。
サービスを起動する [root@KURO-BOX ~]# /etc/rc.d/init.d/saslauthd start saslauthd を起動中: [ OK ] SMTP-Auth自動起動設定 [root@KURO-BOX ~]# chkconfig saslauthd on SMTP-Auth自動起動設定確認(ランレベル2~5のonを確認) [root@KURO-BOX ~]# chkconfig --list saslauthd saslauthd 0:off 1:off 2:on 3:on 4:on 5:on 6:off sasldb2を使用する設定にする [root@KURO-BOX ~]# vi /usr/lib/sasl2/smtpd.conf sasldb2を使用する設定 pwcheck_method: auxprop 新規ユーザを作成した場合、メールボックス(Maildir)を作成する様にする [root@KURO-BOX ~]# mkdir -p /etc/skel/Maildir [root@KURO-BOX ~]# chmod 700 /etc/skel/Maildir/ 既存ユーザのメールボックスを作成する(ユーザ:fedoraの場合) [root@KURO-BOX ~]# mkdir /home/fedora/Maildir [root@KURO-BOX ~]# chmod 700 /home/fedora/Maildir [root@KURO-BOX ~]# chown fedora:fedora /home/fedora/Maildir
postfixのサービスを開始します。
サービスを起動する [root@KURO-BOX ~]# /etc/rc.d/init.d/postfix start postfix を起動中: [ OK ] postfix自動起動設定 [root@KURO-BOX ~]# chkconfig postfix on postfix自動起動設定(ランレベル2~5のonを確認) [root@KURO-BOX ~]# chkconfig --list postfix postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
以上でサーバのセットアップは終了です。
ルーター側の設定でポート25番をOPENします。
yumを使用してインストールします。
[root@KURO-BOX ~]# yum -y install dovecot 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile * fedora: ftp.iij.ad.jp * rpmfusion-free: ftp.cc.uoc.gr * rpmfusion-free-updates: ftp.cc.uoc.gr * updates: ftp.dti.ad.jp インストール処理の設定をしています 依存性の解決をしています --> トランザクションの確認を実行しています ---> パッケージ dovecot.ppc 1:1.2.11-3.fc12 を更新に設定しました --> 依存性解決を終了しました 依存性を解決しました ================================================================================ パッケージ アーキテクチャ バージョン リポジトリー 容量 ================================================================================ インストールしています: dovecot ppc 1:1.2.11-3.fc12 updates 3.5 M トランザクションの要約 ================================================================================ インストール 1 パッケージ アップグレード 0 パッケージ 総ダウンロード容量: 3.5 M インストール済み容量: 11 M パッケージをダウンロードしています: dovecot-1.2.11-3.fc12.ppc.rpm | 3.5 MB 00:01 rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています インストールし : 1:dovecot-1.2.11-3.fc12.ppc 1/1 インストールしました: dovecot.ppc 1:1.2.11-3.fc12 完了しました!
Dovecotの設定を行います。
[root@KURO-BOX ~]# vi /etc/dovecot.conf プロトコルの指定を追加 protocols = imap imaps pop3 pop3s メールディレクトリの指定 mail_location = maildir:~/Maildir SSL証明の設定 ssl_cert_file = /etc/pki/tls/certs/server.crt ssl_key_file = /etc/pki/tls/private/server.key
メールアカウント名が「webmaster」や「hostmaster」「info」「support」などの場合、
alias(アカウント名を別名にする)に設定されているアカウントがある場合は、
以下の様に変更しないと別名のアカウントに転送されています。
結果、サーバで正常に受信しているにも関わらず、メールが取れないといった状況になってしまいます。
以下のファイルの「:」の左側のアカウント名が右側のアカウント名に別名定義されています。
例)webmaster: root
webmasterが別名でrootとなっている。よって、webmaster宛てのメールはrootに転送(移動)されます。
[root@KURO-BOX ~]# vi /etc/aliases webmasterアカウント宛にメールが届くようにする。(コメントアウトする) #webmaster: root 修正した内容を反映する [root@KURO-BOX ~]# newaliases
Dovecotを起動します。
サービスを起動する
[root@KURO-BOX ~]# /etc/rc.d/init.d/dovecot start
Dovecot Imap を起動中: If you have trouble with authentication failures,
enable auth_debug setting. See http://wiki.dovecot.org/WhyDoesItNotWork
This message goes away after the first successful login.
Fatal: listen(::, 143) failed: Address already in use
エラーが出てしまいました。
Fatal: listen(::, 143) failed: Address already in use
"::"というのは、IPv6のアドレスのことです。IPv6は使用していないので、設定を無効にします。
[root@KURO-BOX ~]# vi /etc/dovecot.conf
IPv4のみにする
listen = *
もう一度、Dovecotを起動します。
サービスを起動する [root@KURO-BOX ~]# /etc/rc.d/init.d/dovecot start Dovecot Imap を起動中: [ OK ] dovecot自動起動設定 [root@KURO-BOX ~]# chkconfig dovecot on dovecot自動起動設定(ランレベル2~5のonを確認) [root@KURO-BOX ~]# chkconfig --list dovecot dovecot 0:off 1:off 2:on 3:on 4:on 5:on 6:off
以上でサーバのセットアップは終了です。
ルーター側の設定でポート110番、143番をOPENします。
例として、MailUserというユーザーを追加します。
ユーザーを追加します [root@KURO-BOX ~]# useradd -s /sbin/nologin MailUser パスワードを設定します [root@KURO-BOX ~]# passwd MailUser ユーザー MailUser のパスワードを変更。 新しいパスワード: パスワード入力 新しいパスワードを再入力してください: パスワード入力 passwd: 全ての認証トークンが正しく更新できました。
SMTP-Authにもユーザーを設定します。
[root@KURO-BOX ~]# saslpasswd2 -u Amonution.com -c MailUser Password: パスワード入力 Again (for verification): パスワード入力 [root@KURO-BOX ~]# sasldblistusers2 MailUser@Amonution.com: userPassword sasldb2所有グループをpostfixに変更する(※最初の1回のみ) [root@KURO-BOX ~]# chgrp postfix /etc/sasldb2
以上で設定は完了です。
クライアントソフトによって異なりますが、下記のように設定します。
メールアドレス:MailUser@Amonution.com
メール受信サーバ:pop
メール受信サーバ名:Amonution.com
ユーザー名:Mailuser
Copyright © 1999-2017 Amonution All rights reserved.