メールサーバ構築その6(PostfixAdmin準備編)

2013.07.26 Author: 443

どうもです。443 です。

**独り事**
今回のF1情報は1989年日本GP アイルトン・セナです。

ホンダがやってくれました。
1989年の日本グランプリのセナのラップ テレメトリーから、
当時のエンジン音を再現したとのこと。

テレメトリーとは、アクセルワーク、ギア数 エンジン回転数、車速、走行位置、などの走行データのこと。
これら情報から、1989年日本GP アイルトン・セナの走行時のエンジン音が割り出せるらしい。

これがセナ足なんですねぇ。S字 逆バンク スプーンでは大体3速なんですが、
細かい、アクセルワークが見受けられます。

何と鈴鹿サーキットのコース1周にわたりスピーカーとLEDライトを設置したとのこと。
なんていう豪華なこと。
ああ、これ聴きに行きたかった...。

Ayrton Senna 1989
http://www.honda.co.jp/internavi-dots/dots-lab/senna1989/

**独り事**

さて、今回は、PostfixAdminの設定を行います。

■ PostfixAdminについて
PostfixAdminは、Webブラウザから、電子メールボックスを作成するインターフェースです。
バーチャルドメイン、エイリアス、将来的にはバケーションメッセージにも対応する予定とのこと。

使用するために必要なライセンスは不要であり、GPLv2に準拠しています。

使用するために必要なソフトウェアは、
Apache, PHP, MySQLまたはPostGreSQL, Postfixが必要ですが、
これらは以前のメールサーバ構築シリーズでインストール済みです。

以下のURLがPostfixAdminの本家です。
http://postfixadmin.sourceforge.net/

■ PostfixAdminアプリケーションの動作に必要なソフトウェアをyumにてインストール

# yum install php-imap php-mysql php-mbstring

■ Apacheの再起動

# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

■ PostfixAdmin の入手

# cd /root/
# wget http://jaist.dl.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-2.3.6/postfixadmin-2.3.6.tar.gz

■ PostfixAdminの展開

# gtar zxf postfixadmin-2.3.6.tar.gz

■ PostfixAdminをApacheのVirtualHost DocumentRoot以下にコピーする

# mv postfixadmin-2.3.6 /var/www/padm.example.com/htdocs/postfixadmin

■ padm.example.com のドキュメントルートのディレクトリへ移動する

# cd /var/www/padm.example.com/htdocs/

■ PostfixAdminのパーミッションを変更する

# chown -R padm:www postfixadmin

■ PostfixAdminのトップディレクトリへ移動する

# cd /var/www/padm.example.com/htdocs/postfixadmin

■ config.inc.php 編集をする。

# cp -p config.inc.php config.inc.php.orig
# vi config.inc.php
---26行目 "$CONF['configured'] = true;" に変更---
$CONF['configured'] = true;
-------------------------------------------------
---31行目 "$CONF['setup_password'] = 'testtest';" に変更---
$CONF['setup_password'] = 'testtest';
-------------------------------------------------
---36行目 "$CONF['postfix_admin_url'] = 'http://padm.example.com/postfixadmin/';" に変更---
$CONF['postfix_admin_url'] = 'http://padm.example.com/postfixadmin/';
---------------------------------------------------------------------------------------
---43行目 "$CONF['default_language'] = 'ja';" に変更---
$CONF['default_language'] = 'ja';
-------------------------------------------------------
---49行目 "$CONF['database_type'] = 'mysqli'; に変更--- MySQL 4.0以降は mysqli
$CONF['database_type'] = 'mysqli';
-------------------------------------------------------
---52行目 "$CONF['database_password'] = 'MySQL_postfixユーザのパスワード';" に変更---
$CONF['database_password'] = 'MySQL_postfixユーザのパスワード';
--------------------------------------------------------------
---82行目 "$CONF['admin_email'] = 'postmaster@example.com';" に変更---
$CONF['admin_email'] = 'postmaster@example.com';
----------------------------------------------------------------------
---113行目 "$CONF['min_password_length'] = 8;" に変更---
$CONF['min_password_length'] = 8;
--------------------------------------------------------
---128行目 "$CONF['page_size'] = '100;" に変更---
$CONF['page_size'] = '100';
-------------------------------------------------
---133-136行目を以下に変更------------------------
'abuse' => 'abuse@example.com',
'hostmaster' => 'hostmaster@example.com',
'postmaster' => 'postmaster@example.com',
'webmaster' => 'webmaster@example.com'
-------------------------------------------------
---144行目 "$CONF['domain_path'] = 'YES';" に変更---
$CONF['domain_path'] = 'YES';
----------------------------------------------------
---185行目 "$CONF['mailboxes'] = '100';" に変更---
$CONF['mailboxes'] = '100';
----------------------------------------------------
---233行目 " $CONF['alias_control'] = 'YES';" に変更---
$CONF['alias_control'] = 'YES';
-------------------------------------------------------
---271行目 "$CONF['fetchmail'] = 'NO';" に変更---
$CONF['fetchmail'] = 'NO';
-------------------------------------------------
---283行目 "$CONF['user_footer_link'] = "http://padm.example.com/postfixadmin/main.php";" に変更---
$CONF['user_footer_link'] = "http://padm.example.com/postfixadmin/main.php";
-------------------------------------------------------------------------------------
---289-290行目 を変更---
$CONF['footer_text'] = 'Postfix Admin Top';
$CONF['footer_link'] = 'http://padm.example.com/postfixadmin/';
-------------------------------------------------------------------
---303行目 "$CONF['emailcheck_resolve_domain']='NO';" に変更---
$CONF['emailcheck_resolve_domain']='NO';
---------------------------------------------------------------

■ ブラウザで以下のURLへアクセス
http://padm.example.com/postfixadmin/setup.php?lostpw=1
以下の画面が表示される。
%E3%81%97%E3%82%83%E3%81%84%E3%82%93%E3%81%AE%E3%81%B6%E3%82%8D%E3%81%90-20130726-01.png

■ Setup passowrdに以下の文字列を入力し、[Generate password hash]をクリックする。
Setup password: testtest
Setup password (again): testtest
%E3%81%97%E3%82%83%E3%81%84%E3%82%93%E3%81%AE%E3%81%B6%E3%82%8D%E3%81%90-20130726-02.png

■ 出力される文字列をコピーしておく
%E3%81%97%E3%82%83%E3%81%84%E3%82%93%E3%81%AE%E3%81%B6%E3%82%8D%E3%81%90-20130726-03.png

■ config.inc.php 編集

# vi config.inc.php
---31行目を 変更---
$CONF['setup_password'] = '6851f72257a54eaf7d48998b930653d9:dc21f207a47c26dacd8b795b6dc3ddb0fa3c9df7';
---------------------------------------------------------------

■ ブラウザで以下のURLへアクセスし、管理者アカウントを追加する。
http://padm.example.com/postfixadmin/setup.php
Setup password: testtest
ドメイン管理者: postfixadmin@example.com
パスワード: PostfixAdminの管理者パスワード
パスワード(確認) PostfixAdminの管理者パスワード
[管理者追加]をクリック
%E3%81%97%E3%82%83%E3%81%84%E3%82%93%E3%81%AE%E3%81%B6%E3%82%8D%E3%81%90-20130726-04.png

■ 以下の文字列が表示される。
%E3%81%97%E3%82%83%E3%81%84%E3%82%93%E3%81%AE%E3%81%B6%E3%82%8D%E3%81%90-20130726-05.png

■ ブラウザで以下のURLへアクセスし、管理者アカウントでログインする。
以下の画面にメールアドレスとパスワードを入力し、をクリックする。
http://padm.example.com/postfixadmin/
ログイン (メールアドレス): postfixadmin@example.com
パスワード: PostfixAdminの管理者パスワード
%E3%81%97%E3%82%83%E3%81%84%E3%82%93%E3%81%AE%E3%81%B6%E3%82%8D%E3%81%90-20130726-06.png

■ PostfixAdminのログイン完了
以下の画面が表示される。
%E3%81%97%E3%82%83%E3%81%84%E3%82%93%E3%81%AE%E3%81%B6%E3%82%8D%E3%81%90-20130726-07.png

■ PostfixAdminの初期セットアップファイル群を無効化する

# cd /var/www/padm.example.com/htdocs/postfixadmin
# chmod 000 setup.php
# chmod 000 *.TXT
# chmod 000 *.txt

■ Postfixのquota設定追加 /etc/postfix/main.cfの編集

# cp -p /etc/postfix/main.cf /etc/postfix/main.cf.20130726
# vi /etc/postfix/main.cf
---674-681行目に以下の内容を追加------------
virtual_maildir_extended = yes
virtual_mailbox_limit_override = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit = 104857600
mailbox_size_limit = 104857600
message_size_limit = 10485760
virtual_maildir_limit_message = "Sorry, this user has exceeded their disk space quota, please try again later."
virtual_overquota_bounce = yes
-----------------------------:-----------
--682-683行目の以下の2行を削除し、メールサイズの上限を設定する--
mailbox_size_limit = 0
message_size_limit = 0
---------------------------------------------------

■ PostfixにQuota設定を追加するため /etc/postfix/mysql_virtual_mailbox_limit_maps.cfを作成する

# vi /etc/postfix/mysql_virtual_mailbox_limit_maps.cf
------------------------------------------------------
user = postfix
password = MySQL_postfixユーザのパスワード
hosts = localhost
dbname = postfix
query = SELECT quota FROM mailbox WHERE username='%s' AND active='1'
------------------------------------------------------

■ ファイルのパーミッションを変更する

# chmod 640 /etc/postfix/mysql_virtual_mailbox_limit_maps.cf
# chown root:postfix /etc/postfix/mysql_virtual_mailbox_limit_maps.cf
# ls -l /etc/postfix/mysql_virtual_mailbox_limit_maps.cf
-rw-r----- 1 root root 139 2013-07-26 23:00 /etc/postfix/mysql_virtual_mailbox_limit_maps.cf

■ Postfixの再起動をする。

# service postfix restart
Shutting down postfix: [ OK ]
Starting postfix: [ OK ]

■ PostfixAdminの設定変更 /var/www/padm.example.com/htdocs/config.inc.php の編集をする。

# vi /var/www/padm.example.com/htdocs/postfixadmin/config.inc.php
---186行目を以下に変更する-------
$CONF['maxquota'] = '1000000';
---------------------------------
---190行目を以下に変更する-------
$CONF['quota'] = 'YES';
---------------------------------
---403行目を以下に変更する-------
$CONF['used_quotas'] = 'YES';
---------------------------------
---407行目を以下に変更する-------
$CONF['new_quota_table'] = 'YES';
---------------------------------

■ DovecotにQota設定を設定するため /etc/dovecot/local.confを編集する。

# cp -p /etc/dovecot/local.conf /etc/dovecot/local.conf.20130726
# vi /etc/dovecot/local.conf
---25-29最下部に以下を追加--------------------------------
plugin {
quota_rule = maildir:storage=100M:messages=1000
quota = maildir:User quota::proxy::sqlquota
}
----------------------------------------------------------

■ Dovecotの再起動をする。

# service dovecot restart

■ telnet localhost 25を実行し、250-SIZEの値を確認する。

# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com ESMTP
ehlo localhost
250-mail.example.com
250-PIPELINING
250-SIZE 10485760 <- ここがmessage_size_limitの値になっていることを確認
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

以上でPostfixAdminの設定が完了しました。

次は、PostfixAdminにて、ドメインの追加とアカウントの追加を行いたいと考えています。

それでは、失礼します。

名古屋のWebシステム開発・ネットワーク構築会社 コネクティボへ