Linux/Mail/PostfixAdmin
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
ns-lab
nowsky system-lab
DigiLoog
Linux
Windows
開始行:
*PostfixAdmin [#p4648a76]
PostfixをPHPベースのwebインターフェースで操作するプログラ...
データはMySQLに格納しておき、PostfixからSQLを叩く事によっ...
~
*構築環境 [#a6687ead]
今回検証した環境はこちら
-debian 8.1 x86_64
※CentOS 6.x等の非Systemd環境で構築する場合には、各スクリ...
~
*構築 [#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/pos...
# tar zxvf postfixadmin.***.tar.gz
# mv postfixadmin ${DocumentRoot}/postfixadmin
# chown -R root.apache ${DocumentRoot}/postfixadmin
# chown apache ${DocumentRoot}/postfixadmin
# find postfixadmin -type d -print | xargs chmod 750
# find postfixadmin -type f -print | xargs chmod 640
~
*PostfixAdminの設定 [#c4ee01a0]
&size(16){&font(b){1. apache設定};};
ver3.0辺りでPostfixAdminのディレクトリ構成が変わった為、
apacheのhttpd.confなどにエイリアス設定を行う。
Alias /postfixadmin "${DocumentRoot}/postfixadmin/public"
~
&size(16){&font(b){2. MySQLの設定};};
インストールを行う為に、MySQLのDB初期化を行う。
合わせてPostfixAdmin用のMySQLユーザも作成する。
下のユーザ名などは一例なので、本番環境では変更する事。
ユーザ名:postfix-admin-user , パスワード:postfix-admin...
# mysql -u root -p
==================================================
Enter password: {MySQLのrootユーザパスワード}
> create database postfixadmin;
> grant all on postfixadmin.* to postfix-admin-user iden...
> flush privileges;
> exit
~
&size(16){&font(b){3. PostfixAdminの設定変更};};
PostfixAdminの動作環境を満たしているか確認する為に、
コンフィグの一部を変更した後にWebブラウザで
"http://${サーバのIPアドレス}/postfixadmin/setup.php"に...
setup.phpにアクセスした後は画面に従って操作をすれば良いの...
コンフィグを上書きする時は "config.inc.php" の代わりに "c...
# vi ${DocumentRoot}/postfixadmin/config.inc.php
==================================================
$CONF['configured'] = true;
$CONF['default_language'] = 'ja';
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix-admin-user';
$CONF['database_password'] = 'postfix-admin-pass';
$CONF['database_name'] = 'postfixadmin';
$CONF['admin_email'] = '管理者のメールアドレス';
$CONF['encrypt'] = 'cleartext'; //<--SMTPSやIMAPSをやる...
$CONF['default_aliases'] = array (
//間を全てコメントアウト
);
//下を全てコメントアウト
//$CONF['mailbox_postcreation_script'] = '';
//$CONF['mailbox_postedit_script'] = '';
//$CONF['mailbox_postdeletion_script'] = '';
//$CONF['domain_postcreation_script'] = '';
//$CONF['domain_postdeletion_script'] = '';
//他はお好みで
$CONF['backup'] = 'YES';
$CONF['show_footer_text'] = 'YES';
$CONF['footer_text'] = 'サーバのドメイン名';
$CONF['footer_link'] = 'メインhttpサーバのFQDN';
$CONF['new_quota_table'] = 'NO';
$CONF['show_popimap']='YES';
~
&size(16){&font(b){4. インストール後処理};};
インストールした後は、インストーラとデフォルトパスワード...
# chown root ${DocumentRoot}/postfixadmin
# chown apache ${DocumentRoot}/postfixadmin/templates_c
# rm ${DocumentRoot}/postfixadmin/setup.php
# vi ${DocumentRoot}/postfixadmin/config.inc.php
==================================================
//$CONF['setup_password'] = '';
~
*Postfixの追加設定 [#y0f1c2ed]
PostfixAdminでMySQLに入力したデータと、Postfixを連携させ...
Postfixの設定ファイルを変更する必要がある。
また、PostfixAdminで作成したユーザのメールフォルダは、
1発目のメールがユーザに届いた時に作成されるので、
Postfixから読み込んだ際のパーミッションも気をつける必要が...
~
&size(16){&font(b){1. SQLコマンドパラメータ};};
作成内容は[[Postfix:http://www.ns-lab.org/wiki/?Linux%2FM...
~
Postfixで叩くSQLを記述する。
もしかしたら、PostfixAdminのバージョンによってFieldが変化...
その時は実際にSQLを叩きながらオプションの修正を行う
~
ファイルを作成したらパーミッションを変更して、rootのみ参...
# chown root.root mysql_virtual_alias_maps.cf
# chown root.root mysql_virtual_domains_maps.cf
# chown root.root mysql_virtual_mailbox_limit_maps.cf
# chown root.root mysql_virtual_mailbox_maps.cf
# chmod 600 mysql_virtual_alias_maps.cf
# chmod 600 mysql_virtual_domains_maps.cf
# chmod 600 mysql_virtual_mailbox_limit_maps.cf
# chmod 600 mysql_virtual_mailbox_maps.cf
~
&size(16){&font(b){2. main.cfの変更};};
MySQLとPostfixを連携させる為にmain.cfを書き換える。
合わせて、メール受信時に仮想メールボックスに転送出来るよ...
OSレベルでのユーザも作成しておく。
※/etc/postfix/main.cfのmail_ownerがpostfixで、
postfixadminのユーザがpostfixadminだとすると...
==================================================
# groupadd -g 7700 postfixadmin
# useradd -g postfixadmin -u 7700 -s /bin/false postfixa...
# mkdir /var/hostname/spool
# chown postfixadmin /var/hostname/spool
# chgrp postfix /var/hostname/spool
# chmod 750 /var/hostname/spool
終了行:
*PostfixAdmin [#p4648a76]
PostfixをPHPベースのwebインターフェースで操作するプログラ...
データはMySQLに格納しておき、PostfixからSQLを叩く事によっ...
~
*構築環境 [#a6687ead]
今回検証した環境はこちら
-debian 8.1 x86_64
※CentOS 6.x等の非Systemd環境で構築する場合には、各スクリ...
~
*構築 [#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/pos...
# tar zxvf postfixadmin.***.tar.gz
# mv postfixadmin ${DocumentRoot}/postfixadmin
# chown -R root.apache ${DocumentRoot}/postfixadmin
# chown apache ${DocumentRoot}/postfixadmin
# find postfixadmin -type d -print | xargs chmod 750
# find postfixadmin -type f -print | xargs chmod 640
~
*PostfixAdminの設定 [#c4ee01a0]
&size(16){&font(b){1. apache設定};};
ver3.0辺りでPostfixAdminのディレクトリ構成が変わった為、
apacheのhttpd.confなどにエイリアス設定を行う。
Alias /postfixadmin "${DocumentRoot}/postfixadmin/public"
~
&size(16){&font(b){2. MySQLの設定};};
インストールを行う為に、MySQLのDB初期化を行う。
合わせてPostfixAdmin用のMySQLユーザも作成する。
下のユーザ名などは一例なので、本番環境では変更する事。
ユーザ名:postfix-admin-user , パスワード:postfix-admin...
# mysql -u root -p
==================================================
Enter password: {MySQLのrootユーザパスワード}
> create database postfixadmin;
> grant all on postfixadmin.* to postfix-admin-user iden...
> flush privileges;
> exit
~
&size(16){&font(b){3. PostfixAdminの設定変更};};
PostfixAdminの動作環境を満たしているか確認する為に、
コンフィグの一部を変更した後にWebブラウザで
"http://${サーバのIPアドレス}/postfixadmin/setup.php"に...
setup.phpにアクセスした後は画面に従って操作をすれば良いの...
コンフィグを上書きする時は "config.inc.php" の代わりに "c...
# vi ${DocumentRoot}/postfixadmin/config.inc.php
==================================================
$CONF['configured'] = true;
$CONF['default_language'] = 'ja';
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix-admin-user';
$CONF['database_password'] = 'postfix-admin-pass';
$CONF['database_name'] = 'postfixadmin';
$CONF['admin_email'] = '管理者のメールアドレス';
$CONF['encrypt'] = 'cleartext'; //<--SMTPSやIMAPSをやる...
$CONF['default_aliases'] = array (
//間を全てコメントアウト
);
//下を全てコメントアウト
//$CONF['mailbox_postcreation_script'] = '';
//$CONF['mailbox_postedit_script'] = '';
//$CONF['mailbox_postdeletion_script'] = '';
//$CONF['domain_postcreation_script'] = '';
//$CONF['domain_postdeletion_script'] = '';
//他はお好みで
$CONF['backup'] = 'YES';
$CONF['show_footer_text'] = 'YES';
$CONF['footer_text'] = 'サーバのドメイン名';
$CONF['footer_link'] = 'メインhttpサーバのFQDN';
$CONF['new_quota_table'] = 'NO';
$CONF['show_popimap']='YES';
~
&size(16){&font(b){4. インストール後処理};};
インストールした後は、インストーラとデフォルトパスワード...
# chown root ${DocumentRoot}/postfixadmin
# chown apache ${DocumentRoot}/postfixadmin/templates_c
# rm ${DocumentRoot}/postfixadmin/setup.php
# vi ${DocumentRoot}/postfixadmin/config.inc.php
==================================================
//$CONF['setup_password'] = '';
~
*Postfixの追加設定 [#y0f1c2ed]
PostfixAdminでMySQLに入力したデータと、Postfixを連携させ...
Postfixの設定ファイルを変更する必要がある。
また、PostfixAdminで作成したユーザのメールフォルダは、
1発目のメールがユーザに届いた時に作成されるので、
Postfixから読み込んだ際のパーミッションも気をつける必要が...
~
&size(16){&font(b){1. SQLコマンドパラメータ};};
作成内容は[[Postfix:http://www.ns-lab.org/wiki/?Linux%2FM...
~
Postfixで叩くSQLを記述する。
もしかしたら、PostfixAdminのバージョンによってFieldが変化...
その時は実際にSQLを叩きながらオプションの修正を行う
~
ファイルを作成したらパーミッションを変更して、rootのみ参...
# chown root.root mysql_virtual_alias_maps.cf
# chown root.root mysql_virtual_domains_maps.cf
# chown root.root mysql_virtual_mailbox_limit_maps.cf
# chown root.root mysql_virtual_mailbox_maps.cf
# chmod 600 mysql_virtual_alias_maps.cf
# chmod 600 mysql_virtual_domains_maps.cf
# chmod 600 mysql_virtual_mailbox_limit_maps.cf
# chmod 600 mysql_virtual_mailbox_maps.cf
~
&size(16){&font(b){2. main.cfの変更};};
MySQLとPostfixを連携させる為にmain.cfを書き換える。
合わせて、メール受信時に仮想メールボックスに転送出来るよ...
OSレベルでのユーザも作成しておく。
※/etc/postfix/main.cfのmail_ownerがpostfixで、
postfixadminのユーザがpostfixadminだとすると...
==================================================
# groupadd -g 7700 postfixadmin
# useradd -g postfixadmin -u 7700 -s /bin/false postfixa...
# mkdir /var/hostname/spool
# chown postfixadmin /var/hostname/spool
# chgrp postfix /var/hostname/spool
# chmod 750 /var/hostname/spool
ページ名: