PostfixAdmin

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に変更する