トップページ > インフォメーション

自宅サーバ構築MY HOME SERVER

メールサーバ(Postfix / Dovecot) Postfixのインストール・設定 Dovecotのインストール・設定 メール不正中継テスト メールクライアントの設定(1) SSL(暗号化) メールクライアントの設定(2)

- メールサーバ(Postfix / Dovecot) -

メール送受信をするSmtpサーバにはPostfixを使います。受信したメールをユーザのメールボックス に運ぶPop/ImapサーバはDovecotを使用します。外部ドメインからもメールクライアントで自宅サーバ にアクセスできるように設定します。メールアカウントの追加もします。メールサーバ使用に当たって iptables及びルータのポート(25,110,143,587,993,995)を開放する必要があります。

- 注意点 -
設定に入る前に、現在使用しているISP(インターネットサービスプロバイダ)のSmtpサーバ のアドレスを調べてください。そのアドレスを設定内容のrelayhost = [ISP名]に記入する必要があります。 Google等で、自宅サーバ relayhost ISP名 等で検索すると情報が出てくると思います。サンプル記述例 は下記のとおりです。

例1 朝日ネット relayhost = [op25b.asahi-net.or.jp]
例2 YahoBB relayhost = [ybbsmtp.mail. yahoo.co.jp]:587
例3 so-net relayhost = [mail.xa2.so-net.ne.jp]



- Postfixのインストール・設定 -

まずは、Posftixをインストールします。
         
root@hoge123:~# aptitude -y install postfix postfix-tls sasl2-bin

インストール途中で下記画面が出ます。→キーを押して、「OK」を選択し、Enterキーを押します。



「No Configuration」を選択して、→キーを押して、「OK」を選択後、Enterキーを押します。



root@hoge123:~# cp /usr/lib/postfix/main.cf /etc/postfix/main.cf 
root@hoge123:~# vi /etc/postfix/main.cf
 
# 59行目付近、コメントを解除します。
mail_owner = postfix 

# 76行目付近、コメント解除しホスト名を入力します。
myhostname = hoge123.dip.jp

# 83行目付近、コメント解除しドメイン名を入力します。
mydomain = hoge123.dip.jp

# 104行目付近、コメント解除します。
myorigin = $mydomain 

# 118行目付近、コメント解除します。
inet_interfaces = all
 
# 166行目付近、コメント解除します。
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
 
# 209行目付近、コメントを解除します。
local_recipient_maps = unix:passwd.byname $alias_maps 

# 268行目付近、自分のネットワークを追記します。
mynetworks = 127.0.0.0/8, 192.168.0.0/24

# 321行目付近、契約ISPのSMTPアドレスを入力します。入力しない場合、ローカルネットワーク内でしか送信できません。
relayhost = [xxx.xxx.xx-xx.xxx.xx]

# 388行目付近、コメント解除します。
alias_maps = hash:/etc/aliases
 
# 399行目付近、コメント解除します。
alias_database = hash:/etc/aliases 

# 421行目付近、コメント解除します。 
home_mailbox = Maildir/ 

# 531行目付近、コメント解除します。
header_checks = regexp:/etc/postfix/header_checks

# すぐ下に追記します。
body_checks = regexp:/etc/postfix/body_checks

# 557行目付近、先頭に#を付けて、その下に追記します。
#smtpd_banner = $myhostname ESMTP $mail_name (@@DISTRO@@)
smtpd_banner = $myhostname ESMTP

# 631行目付近、追記します。
sendmail_path = /usr/sbin/postfix

# 636行目付近、追記します。
newaliases_path = /usr/bin/newaliases

# 641行目付近、追記します。
mailq_path = /usr/bin/mailq

# 647行目付近、追記します。
setgid_group = postdrop

# 651行目付近、先頭に#をつけます。
#html_directory =
 
# 655行目付近、先頭に#をつけます。
#manpage_directory =
 
# 660行目付近、先頭に#をつけます。
#sample_directory =
 
# 664行目付近、先頭に#をつけます。
#readme_directory =
 
# 最終行へ追記します。送受信メールサイズを10Mに制限します。
message_size_limit = 10485760

# メールボックスサイズを1Gに制限に制限します。
mailbox_size_limit = 1073741824

# SMTP-Authを使うため、追記します。
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,permit
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,
permit_sasl_authenticated,reject 
↑ ここはpermit_auth_destination,の続きです。実際には、1行にしてください。


次いで、アドレスのないメールやexample.comが含まれているメール拒否の設定をします。 それと、サブミッションポート587番でもPostfixがSMTPサーバとして待ち受けをするようにします。
         
root@hoge123:~# root@hoge123:~# vi /etc/postfix/header_checks → 新規作成します。 
/^From:.*<#.*@.*>/ REJECT
/^Return-Path:.*<#.*@.*>/ REJECT

root@hoge123:~# root@hoge123:~# vi /etc/postfix/body_checks → 新規作成します。
/^(|[^>].*)example.com/ REJECT

root@hoge123:~# newaliases 
root@hoge123:~# vi /etc/postfix/master.cf

root@hoge123:~# vi /etc/postfix/master.cf

#submission inet n       -       n       -       -       smtpd
            ↓ 変更後 (#を削除します。)
submission inet n       -       n       -       -       smtpd

root@hoge123:~# service postfix restart 


ユーザーアカウントの追加方法です。例としてubuntuを追加します。追加後は、ubuntu@hoge123.dip.jp と言うメールアカウントが使用できます。(ubuntuのパスワードはメール設定で使用しますので、忘れな いでください)
         

root@hoge123:~# adduser ubuntu123 ← 任意のユーザ名を追加します。
Adding user `ubuntu123' ...
Adding new group `ubuntu123' (1003) ...
Adding new user `ubuntu123' (1002) with group `ubuntu123' ...
Creating home directory `/home/ubuntu123' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: ← 任意のパスワードを入力します。メール設定で使います。
Retype new UNIX password: ← 再入力します。
passwd: password updated successfully
Changing the user information for ubuntu123
Enter the new value, or press ENTER for the default
        Full Name []: ← 何も入力しないで、Enterキーを押します。
        Room Number []: ← 何も入力しないで、Enterキーを押します。
        Work Phone []: ← 何も入力しないで、Enterキーを押します。
        Home Phone []: ← 何も入力しないで、Enterキーを押します。
        Other []: ← 何も入力しないで、Enterキーを押します。
Is the information correct? [Y/n] y ← yを入力します。
 



- Dovecotのインストール・設定 -

Dovecotのインストールをします。
         
root@hoge123:~# aptitude -y install dovecot-common dovecot-pop3d dovecot-imapd 

root@hoge123:~# vi /etc/dovecot/dovecot.conf 

# 26行目付近、先頭の#を削除して、変更します。
listen = *

root@hoge123:~# vi /etc/dovecot/conf.d/10-auth.conf 

# 9行目付近、#を削除して変更します。
disable_plaintext_auth = no

# 97行目付近、loginを追記します。
auth_mechanisms = plain login

root@hoge123:~# vi /etc/dovecot/conf.d/10-mail.conf 

# 30行目付近、#を削除して追記します。
mail_location = maildir:~/Maildir


root@hoge123:~# vi /etc/dovecot/conf.d/10-master.conf 

# 88-90行目付近、下記の通り#を削除して追記します。
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix # 追記
group = postfix # 追記
} 

root@hoge123:~# service dovecot restart
root@hoge123:~# sysv-rc-conf dovecot on ← 自動起動する設定です。
root@hoge123:~# sysv-rc-conf -list dovecot
dovecot      2:on       3:on    4:on    5:on




- メール不正中継テスト -

smtpサーバを外部に公開するときは、第3者に自宅のsmtpサーバを勝手に利用されないようにしなければなりません。 不正中継されないか、Third Party Relay Chekck を実行します。

「ホスト名」にhoge123.dip.jpといれ「check」ボタンをクリックします。 11.jpg(58282 byte)

1分位待つと、結果が表示されます。最終行に「全てのテストが行われました。 no relays accepted」と表示されれば、不正中継テストはパスしています。 12.jpg(48823 byte)



- メールクライアントの設定(1) -

OUTLOOK EXPRESS編

一旦、Smtp-Authが動作するか、メールソフトに設定します。下記設定をします。 「このサーバーは認証が必要」にチェックを入れ、「設定」ボタンをクリックします。


「受信メールサーバーと同じ設定を使用する」を選択して、「OK」ボタンを押します。


「詳細設定」では、「送信メール」は587、「受信メール」は110とします。
3.jpg(43359 byte)

POPアカウントの他に、IMAPアカウントでも使用できます。その場合も、 「受信メールサーバーと同じ設定を使用する」を選択して、「OK」ボタンを押します。


「送信メール」は587、「受信メール」は143です。


WINDOWS LIVE メール編

下記設定をします。「このサーバーは認証が必要」にチェックを入れ、「設定」ボタンをクリックします。
6.jpg(82996 byte)

「次のアカウントとパスワードでログオンする」を選択して、「アカウント名」にhimitsu 、「パスワード」に himitsuのパスワードを入れて「OK」ボタンを押します。
7.jpg(42118 byte)

「詳細設定」では、「送信メール」は587、「受信メール」は110とします。
8.jpg(79974 byte)



- SSL(暗号化) -

YahooやGoogle、hotmailアカウントがあれば、送受信テストをします。外出先でも、この設定をパソコンにすれば 自宅サーバ経由でメールの送受信が出来ます。ただし、通信内容が暗号化されていません。平文で流れるため 暗号化(SSL)設定をします。事前にSSL証明書を作成していることが必要です。

Posftix及びDovecotの設定内容変更・保存します。
         
root@hoge123:~# vi /etc/postfix/main.cf 

- 最終行に以下内容を追加します -

smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/ssl/private/server.crt
smtpd_tls_key_file = /etc/ssl/private/server.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache 

root@hoge123:~# vi /etc/postfix/master.cf

22-24行目、行頭の#を削除して、有効にします。

smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes

root@hoge123:~# vi /etc/dovecot/conf.d/10-ssl.conf 

 6行目、行頭の#を削除します。
ssl = yes 

 12,13行目、証明書/鍵ファイルのパスを下記の通り変更します。
ssl_cert = </etc/ssl/private/server.crt 
ssl_key = </etc/ssl/private/server.key 

root@hoge123:~# service postfix restart
 * Stopping Postfix Mail Transport Agent postfix                         [ OK ]
 * Starting Postfix Mail Transport Agent postfix                         [ OK ]

root@hoge123:~# service dovecot restart
dovecot stop/waiting
dovecot start/running, process 23397





- メールクライアントの設定(2) -

Windows Live メール編

既にSmtp-Authの設定をしている事を前提に、下記の変更をメールソフトにします。 「送信メール」465、「受信メール」995(IMPAの場合993)に変更します。 両方とも「このサーバーはセキュリティで保護された接続(SSL)が必要」にチェックを 入れ、保存します。設定内容は、他のメールソフトでも同じです。

セキュリティ警告が表示されますが、「はい」を選択します。


送受信テストをします。これで暗号化された通信が可能になります。

自宅サーバ構築(Ubuntu12.04TLS)に戻る


Copyright(C) PCDEMAGIC All Rights Reserved.