[[Linux/Mail/Postfix]]
*PostfixAdmin [#p4648a76]
PostfixをPHPベースのwebインターフェースで操作するプログラム。
データはMySQLに格納しておき、PostfixからSQLを叩く事によって受信制御を行う。
~
*構築環境 [#a6687ead]
今回検証した環境はこちら
-debian 8.1 x86_64
※CentOS 6.x等の非Systemd環境で構築する場合には、各スクリプトをinit用に書き換える必要がある。
~
*構築 [#a9cd2b96]
&size(16){&font(b){1. ディレクトリ構成};};
Postfixをそのまま使うと、メールデータは"/var/spool"以下に保存されるのだが、
今回はPostfixAdminからディレクトリ操作を行う必要があるので、
1段掘り下げるなどして、ディレクトリ構成を変更する。
 メールデータディレクトリ:/var/hostname/spool/*
 Postfixのコンフィグディレクトリ:/etc/postfix/*
 Postfixのシステムコンフィグファイル:/etc/sysconfig/postfix

ちなみに、今回はこのディレクトリ構成でMTA構築を行う
~

&size(16){&font(b){2. インストール};};
PostfixAdminの動作にはLAMP環境が必須なので事前に構築しておく。
インストール方法は、同梱されているINSTALL.TXTに全部書いてあるので、
わからなかったらINSTALL.TXTを見る。
 # wget "http://sourceforge.net/projects/postfixadmin/postfixadmin.***.tar.gz"
 # tar zxvf postfixadmin.***.tar.gz
 # mv postfixadmin ${DocumentRoot}/postfixadmin
 # chown -R root.apache ${DocumentRoot}/postfixadmin
 # find postfixadmin -type d -print | xargs chmod 750
 # find postfixadmin -type f -print | xargs chmod 640
~
*設定 [#c4ee01a0]
&size(16){&font(b){1. MySQLの設定};};
インストールを行う為に、MySQLのDB初期化を行う。
合わせてPostfixAdmin用のMySQLユーザも作成する。
~
※下のユーザ名などは一例なので、本番環境では変更する事
 ユーザ名:postfix-admin-user , パスワード:postfix-admin-pass , データベース名:postfixadmin
 # mysql -u root -p
 ==================================================
 Enter password: {MySQLのrootユーザパスワード}
 > create database postfixadmin;
 > grant all on postfixadmin.* to postfix-admin-user identified by 'postfix-admin-pass';
 > grant all privileges on `postfixadmin` . * to 'postfixadmin'@'localhost';
 > flush privileges;
 > exit
~

&size(16){&font(b){2. PostfixAdminの設定変更};};
PostfixAdminの動作環境を満たしているか確認する為に、
コンフィグの一部を変更した後にWebブラウザで
"http://${サーバのIPアドレス}/postfixadmin/setup.php"にアクセスする
 # vi ${DocumentRoot}/postfixadmin/config.inc.php
 $CONF['configured'] = false;  //trueに変更する