玄箱HGにFedoraを入れて自宅サーバを構築(Fedora12) - Amonution

メールサーバー構築

概要

メールサーバーを構築する場合、送信メールサーバー(SMTPサーバー)と受信メールサーバー(POP3/IMAPサーバー)の構築が必要になります。
今回は、送信メールサーバーにPostfix、受信メールサーバーにDovecotを使用します。
なお、Postfixはデフォルトでは外部ネットワークから外部ネットワークへの送信 (例えばネットカフェなどで、自宅サーバのメールアドレスから企業のメールアドレス宛)に送信できないようになっています。 これは迷惑メールの不正中継に利用されないようにするためです。 これを回避するため、SMTP-Auth機能(ユーザー認証機能)をもたせます。
また、DovecotはPOP3/IMAPサーバーとして構築し、どちらかを選択できるようにします。

Postfixのインストール

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設定

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

SMTP-Authのインストール

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設定

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します。

Dovecotのインストール

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設定

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起動

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

スポンサード リンク

TOPに戻る / メニューに戻る
Copyright © 1999-2011 Amonution  All rights reserved.
Address