道楽の部屋>WEB SERVER(VineLinux4.2)>postfix+dovecot INSTALL

VineLinux4.2でWebServer(postfix+dovecotインストール)

スポンサード リンク

お願い
本サイトは、管理人:うまがメモ帳代わりに作成したサイトです。
なお、このサイトの内容に関して動作保障など一切の責任は持ちませんので、自己責任の上行ってください。

ドメインを取得し、HomePageを公開したので、どうせならメールもxxx@ドメインにしてみたいと思いメールサーバーを立てることにする。
VineにはすでにPostfixがインストールされているのでPostfixを使う。なお、他のPC(Windows)でメールを送受信できるように受信サーバーとしてdovecotを使う。
今回、Postfixの設定で毎度のごとく、はまってしまい送受信できるようになるまで3週間を費やした(3週間と言っても土日のみしか行えないので実質は6日)。特に、OB25(Outbound Port25 Blocking)の設定でとまどった。

    設定内容
  • メールの送受信は、家のPCからのみとする。(将来的に、外出先からも行えるようにする)
  • メールボックスは、1アカウントに対して1ディレクトリにする。メールボックスは、2種類の方法があり、1ファイルに複数のアカウントのメールを取り込む方法と、1アカウントに1ファイルの方法がある。今回は、後者を選択。理由として1ファイル複数アカウントの場合、そのファイルが壊れてしまった場合の影響力が大きいため。
  • メールの送信は、SMTP。受信は、POP3にする。

Postfixの入手とインストール

Vineはすでに、Postfixがインストールされています。
バージョンは、2.2.10です。また、下記URLからPostfixの詳細がわかります。

Postfixのページ

もし、インストールされていない場合は、Apacheなどと同じ方法で行います。

>>Go to top

初期設定

Postfixの設定ファイルは、main.cf/etc/postfix/にあります。

GNOME端末を起動してsuでroot権限に入ります。

gedit /etc/postfix/main.cf

と入力しEnter。

以下の部分を追加または修正します。
ドメイン名をxxxxxxx.comとします。

#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = xxxxxxx.com←70行目に追加。もし、host名がmail.xxxxxxx.comであればその通りに入力。

#
#mydomain = domain.tld
mydomain = xxxxxxx.com←77行目に追加。登録されているドメイン名を入力。

#
#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $myhostname←93行目に追加。

#
inet_interfaces = all←106行目#をはずす。
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost

# The proxy_interfaces parameter specifies the network interface

# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain←154行目#をはずす。
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#	mail.$mydomain, www.$mydomain, ftp.$mydomain

#
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table
mynetworks = 192.168.0.0/24, 127.0.0.0/8←256行目に追加。

# permit_mx_backup restriction description in postconf(5).
#
relay_domains = $mydestination←285行目#をはずす。

#
#home_mailbox = Mailbox
home_mailbox = Maildir/←410行目#をはずす。
メールボックスを1アカウント1ファイルにするため。 

#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP unknown←541行目に追加。
メールサーバーソフトを非表示にする。 

message_size_limit = 5242880←最後に追加。
メールの送受信できる容量の制限。今回は、5MBまでにしてみた。 
計算方法は、5x1024x1024

ポート25番をあけて終了。Vineの場合は、ディスクトップシステム管理セキュリティレベルとファイヤーウォールの設定SMTPにチェックをいれる。これで、Vine側はOK。
次に、ルータの25番ポートをあける。

ポートチェックでポートが開いているかをチェックします。

>>Go to top

メールボックスの作成

メールボックスは、ホームディレクトリーに作成します。たとえば、webmasterというアカウントを作成する場合、/home/webmasterというフォルダーを作成し、その下にMaildirフォルダを作成します。
Maildirの下にnewcurtmpのフォルダーを作成します。newフォルダーに送られてきたメールが格納されます。
しかし、ユーザー(アカウント)を追加するたびに、一つ一つ作成するのは大変なので、/etc/skelのフォルダにMaildir以下のフォルダを作成すると、ユーザーを追加時に自動でMaildir以下のフォルダーを作成してくれます。

GNOME端末を起動してsuでroot権限に入ります。

# mkdir -p /etc/skel/Maildir/{new,cur,tmp}

これで、フォルダーができました。次に、属性の変更を行います。

# chmod -R 700 /etc/skel/Maildir/

これで、ユーザー追加時に自動で、メールボックスが作成されます。

postfixを起動させます。
GNOME端末を起動してsuでroot権限に入ります。

# /etc/rc.d/init.d/postfix start

すでに、起動している場合は、

# etc/rc.d/init.d/postfix restart

これで、設定が反映されました。

>>Go to top

不正中継を防ぐ

人のメールサーバーを踏み台にして、スパムメールが送られたりします。もし、自分のサーバーが踏み台にされた場合、自分のサーバーがブラックリストに載ってしまうことがあります。これを防ぐため、main.cfに不正中継されないように設定を追加します。

GEDITでmain.cfを開き以下を最後の行に追加します。

smtpd_helo_required = yes
disable_vrfy_command = yes
strict_rfc821_envelopes = yes
allow_percent_hack = yes
swap_bangpath = yes
allow_untrusted_routing = no
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client, permit
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname, 
reject_unknown_client, permit smtpd_recipient_restrictions = permit_mynetworks, reject_sender_login_mismatch,
check_relay_domains smtpd_sender_restrictions = reject_unknown_sender_domain, reject_sender_login_mismatch smtpd_etrn_restrictions = permit_mynetworks, reject_invalid_hostname

追加したら、保存しpostfixを再起動します。

再起動後、不正中継されないかチェックをします。

RBL.JP Project.で確認できます。
最後にno relays accepted.と出ればOK。

>>Go to top

OB25対策(メールが送信できない)

早速メールを送ろうとしたが、エラーがでて送信できない。そういえばプロバイダーから、他社メールは送信ポートを587に変更してくださいと説明書に書かれていたことを思い出し、設定を変更することにする。
ISPがOB25を行っていなければ、そのまま送信できるはず。
OB25対策(プロバイダがBigLobeの場合)は、ここをクリックしてください。

>>Go to top

aliasesの設定

aliasesは、簡単に言うとメールを転送(移動)するためのマップみたいなものです。aliasesのファイルを開けてみるとわかります。以下にファイルの一部を記載します。aliasesは/etc/postfix/にあります。

# Basic system aliases -- these MUST be present.
MAILER-DAEMON:	postmaster
postmaster:	root これは、postmasterあてに送られてきたメールをrootに移動させます。
www:            webmaster これは、wwwあてに送られてきたメールをwebmasterに移動させます。
www-admin:      webmaster
webmaster:      root または、webmasterあてに送られてきたメールをrootに移動させます。
hostmaster:     root
root:		info これは、rootに送られてきたメールをinfoに移動させます。
この様にすると、最終的にすべて、infoへメールは送られてくる設定になります。

たとえば、以下のように設定するとinfoに来たメールを、携帯のメールに転送することもできます。

info:info,xxxxxxxxxxxx@docomo.ne.jp

設定が終了したら、データベースを作成します。以下のコマンドを実行します。

# newaliases

念のため、postfixを再起動させます。

>>Go to top

dovecotの入手とインストール

Vineの、Synapticにdovecotがあるのでインストールします。
バージョンは、1.0.13です。また、下記URLからdovecotの詳細がわかります。

www.dovecot.org(本家)また、日本語翻訳プロジェクトもあります。

初期設定

dovecotの設定ファイルは、dovecot.conf/etc/にあります。

GNOME端末を起動してsuでroot権限に入ります。

gedit /etc/dovecot.conf

と入力しEnter。

# Protocols we want to be serving: imap imaps pop3 pop3s
# If you only want to use dovecot-auth, you can set this to "none".
protocols = imap imaps pop3 pop3s←20行目#をはずす。

# matches the local IP (ie. you're connecting from the same computer), the
# connection is considered secure and plaintext authentication is allowed.
disable_plaintext_auth = no←45行目#をはずす。

# <doc/wiki/MailLocation.txt>
#
mail_location = maildir:~/Maildir←209行目#をはずす。

#
#pop3_uidl_format = %08Xu%08Xv
pop3_uidl_format = %u←621行目#をはずす。

以上で、設定は終了です。dovecotを起動します。

# /etc/rc.d/init.d/dovecot start

自動起動の設定をします。

# chkconfig dovecot on

あとは、ポート110番をあけて終了。Vineの場合は、ディスクトップシステム管理セキュリティレベルとファイヤーウォールの設定で110番ポートをあける。これで、Vine側はOK。
次に、ルータの110番ポートをあける。

あとは、メールクライアント(Outlook Expressなど)を設定して確認します。

>>Go to top


道楽の部屋について
2008 © umacamelife.net