管理者になる
インストールと設定は管理者権限で行いますので権限を取ります。$sudo su -
Postfixのインストール
Postfixをインストールします。
#yum -y install postfix
MTAの切り替え
デフォルトでは sendmail が稼動していますが Postfix に切り替えるので停止します。
#service sendmail stop
#chkconfig sendmail off
MTA を切り替えます。2 の sendmail.postfix を選択します。
#alternatives --config mta
There are 2 programs which provide 'mta'.
Selection Command
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfix
Enter to keep the current selection[+], or type selection number:2
Postfixの設定
設定の前に事前準備をしておきます。Postfix をバーチャルドメインで稼動させるためのユーザーの作成とメールボックス用のディレクトリの作成です。その後、main.cf を編集します。
MySQLへの接続のための設定ファイルを作成します。********にはMySQLのユーザーpostfixのパスワードを設定します。
続いてAmazon EC2 (Amazon Linux) での dovecot インストールと設定を行ってください。
#groupadd -g 10000 virtualmail
#useradd -g virtualmail -u 10000 virtualmail
#mkdir /home/virtualmail/
#chown virtualmail:virtualmail /home/virtualmail
#chmod 771 /home/virtualmail
#cd /etc/postfix
#vi main.cf
任意
|
inet_protocols = ipv4
|
デフォルトのAllでIPv6関連のエラーが出る場合は、ipv4のみにする。
|
修正
|
inet_interfaces = all
|
外部からのメールを受信できるようにする。
|
修正
|
mydestination =
|
このサーバーで処理するドメインの指定。virtual_mailbox_domainsに記載するので、ここでは未指定。
|
追加
|
virtual_transport = virtual
|
PostfixAdminで設定されたドメインの場合に使用される配送エージェント。
|
追加
|
virtual_gid_maps = static:10000
|
グループID
|
追加
|
virtual_uid_maps = static:10000
|
ユーザーID
|
追加
|
virtual_minimum_uid = 10000
|
ユーザーIDの最小値。これより小さなIDへの配送は拒否される。
|
追加
|
virtual_mailbox_base = /home/virtualmail/
|
メールボックスが作成されるディレクトリ。
|
追加
|
virtual_mailbox_limit = 51200000
|
メールボックス容量(50M)。
|
追加
|
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domain_maps.cf
|
処理対象になるドメイン(MySQLへの接続方法とデータ取得方法が記載されている)。
|
追加
|
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
|
アカウント別のメールボックス情報(MySQLへの接続方法とデータ取得方法が記載されている)。
|
追加
|
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
|
メール転送設定(MySQLへの接続方法とデータ取得方法が記載されている)。
|
追加
|
smtpd_sasl_auth_enable = yes
|
SMTP認証をSASLで行う。
|
追加
|
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
|
SMTP(RCPT TO)を受け付ける条件を指定。
|
追加
|
smtpd_sasl_authenticated_header = yes
|
Received ヘッダに認証されたユーザー名を表示する。
|
追加
|
broken_sasl_auth_clients = yes
|
(古いバージョンのOutlook等)規格外のAUTHコマンドに対応させる。
|
追加
|
smtpd_sasl_type = dovecot
|
dovecotのSASLを使用。
|
追加
|
smtpd_sasl_path = private/auth
|
dovecotの認証デーモンソケットの場所を指定。
|
#vi mysql_virtual_domain_maps.cf
user = postfix
password = ********
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain = '%s' AND backupmx = '0' AND active = '1'
#vi mysql_virtual_mailbox_maps.cf
user = postfix
password = ********
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username = '%s' AND active = '1'
#vi mysql_virtual_alias_maps.cf
user = postfix
password = ********
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address = '%s' AND active = '1'
master.cf を編集してサブミッションポートを有効にします。デフォルトでは次の行がコメントアウトになっているので外します。
#vi master.cf
修正
|
submission inet n - n - - smtpd
|
サブミッションポートを有効にする。
|
続いてAmazon EC2 (Amazon Linux) での dovecot インストールと設定を行ってください。