PostfixをPHPベースのwebインターフェースで操作するプログラム。
データはMySQLに格納しておき、PostfixからSQLを叩く事によって受信制御を行う。
今回検証した環境はこちら
1. ディレクトリ構成
Postfixをそのまま使うと、メールデータは"/var/spool"以下に保存されるのだが、
今回はPostfixAdminからディレクトリ操作を行う必要があるので、
1段掘り下げるなどして、ディレクトリ構成を変更する。
メールデータディレクトリ:/var/hostname/spool/* Postfixのコンフィグディレクトリ:/etc/postfix/* Postfixのシステムコンフィグファイル:/etc/sysconfig/postfix
ちなみに、今回はこのディレクトリ構成でMTA構築を行う
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
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
2. PostfixAdminの設定変更
PostfixAdminの動作環境を満たしているか確認する為に、
コンフィグの一部を変更した後にWebブラウザで
"http://${サーバのIPアドレス}/postfixadmin/setup.php"にアクセスする
# vi ${DocumentRoot}/postfixadmin/config.inc.php
$CONF['configured'] = false; //trueに変更する