28:メールサーバーの設定:postfixadmin

Date 2014-6-6 13:59:32 | Topic: Linux (サーバー制作)

参考URL:http://e-garakuta.net/techinfo/doku.php/linux/postfix-virtual
http://sourceforge.net/projects/postfixadmin/files/latest/downloadから最新版のpostfixadminをダウンロード(2014-06-04現在はpostfixadmin-2.91.tar.gz)
ダウンロードしたディレクトリーに移り
# tar zxvf postfixadmin-2.91.tar.gz
出来たディレクトリーを自分のWEBのルートにコピーし、名前をpostfixadminに変更しておく。
mysqlにデーターベースを作り、パスワードなどを設定
# mysql -p
パスワードを入力後
mysql> CREATE DATABASE postfix;
mysql> CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'パスワード';
mysql> GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';
mysql> quit
注:ある時テスト中に CREATE USER をするとエラーが出た
ERROR 1396 (HY000): Operation CREATE USER failed for 'postfix'@'localhost'
これはpostfix userをした後に行ったら出たエラー。ここに理由があった。ここによるとdeleteしただけでは完全に消去されず、DROP USER をするとよい。
次にインストールしたpostfixadminの下にあるconfig.inc.phpの設定(変更箇所のみ抜粋)
$CONF['configured'] = true; ← trueに変更
$CONF['default_language'] = 'ja'; ← jaに変更
$CONF['database_password'] = '設定したパスワード';
$CONF['encrypt'] = 'cleartext'; ← cleartextに変更
$CONF['show_password'] = 'YES'; ← YESに変更
$CONF['page_size'] = '50'; ← 50に変更
$CONF['default_aliases'] = array (
    'abuse' => 'abuse@kinryokai.net', ← ドメイン部分を変更
    'hostmaster' => 'hostmaster@kinryokai.net', ← ドメイン部分を変更
    'postmaster' => 'postmaster@kinryokai.net', ← ドメイン部分を変更
    'webmaster' => 'webmaster@kinryokai.net' ← ドメイン部分を変更
$CONF['aliases'] = '0'; ← 0に変更
$CONF['mailboxes'] = '0'; ← 0に変更
$CONF['maxquota'] = '0'; ← 0に変更
$CONF['domain_quota_default'] = '0'; ← 0に変更
$CONF['vacation_domain'] = 'autoreply.kinryokai.net'; ← ドメイン部分を変更
$CONF['header_text'] = ':: kinryokai.net ::'; ← 右辺を変更
$CONF['footer_text'] = 'Return to kinryokai.net'; ← ドメイン部分を変更
$CONF['footer_link'] = 'http://kinryokai.net'; ← ドメイン部分を変更
$CONF['emailcheck_resolve_domain']='NO'; ← NOに変更
$CONF['create_mailbox_subdirs_prefix']=''; ← ""に変更
保存後ブラウザから localhost/postfixadmin/setup.php にアクセスすると
Error: Smarty template compile directory templates_c is not writable.
Please make it writable.
If you are using SELinux or AppArmor, you might need to adjust their setup to allow write access.

Warning: Depends on: IMAP functions - NOT FOUND
To install IMAP support, install php5-imap
Without IMAP support, you won't be able to create subfolders when creating mailboxes.

と二つのエラーが表示された。一つ目はtenplates_cが書ける様になっていないと。又SELINUX等を使っていたら調整が必要だと。SELINUXは使っていないので、書き込めるようにするが、この際グループも変更しておこう。pwdをWEBのルートのディレクトリーに変更したら
# chown -R .apache postfixadmin
# chmod 770 postfixadmin
二つ目はphp5-imapをインストールしろとあるが、CentOSは
# yum install php-imap
変更したら再度アクセス、すると画面1が表示される。下の方にある Change setup password の下のパスワードのBOXは config.inc.php に設定するパスワードだが入力後は暗号化された分が表示される。
設定したいパスワードを2ヶ所に入れ、generate pasword hash をクリックすると
$CONF['setup_password'] = 'ホニャララ';
と表示がある筈。
config.inc.php にある $CONF['setup_password'] = 'changeme'; のchangemeの代わりにホニャララを設定し再度アクセスすると、画面2が表示されます(画面上部はカッとしてあります)
Setup password には今設定したパスワード、管理者にはメアドを設定しますが、メールサーバーはまだ出来ていませんのでISPのメアドでも入れ、パスワードを2回入力後、管理者追加をクリックします。再度同じような画面が表示されますが、これはさらに管理者を追加出来る為です。又、以前のバージョンでは setup.phpは消去しなくてはなりませんでしたが、必要なくなりました。今後の管理者の追加をする時の為にそのままにしておきます。
ブラウザから locahost/postfixadmin にアクセスすると画面3が表示され、今設定した管理者(メアド)とパスワードを入力し、ログインをクリックすると画面4が表示されます。
ここではこれ以上の説明は行いませんが、ドメインやメアドを作っていくのはそんなに難しくありません。それぞれの所をクリックすれば見当がつくと思います。
又、一般ユーザーは自分のパスワードを変更できますので、WEBのURL/postfixadmin/users/login.php を知らせておきます。
postfixadminからドメインやユーザーを削除してもデーターベースからは削除されますが実態であるディレクトリーなどは削除されません。私はドメインやユーザーの削除はほとんど無いので万が一あった場合はマニュアルで削除する事にしましたが、自動で行いたい時はhttp://e-garakuta.net/techinfo/doku.php/linux/postfix-virtualの”削除処理”に方法が記載されています。又、アクセスした時にお知らせが表示されるのですが、昔は別のファイル(motd.txt, motd-user.txt)で設定していたのですが、これらのファイルはなくなっており、config.inc.phpに$CONF['motd_user'] = '';等と設定がり、ここに記入するようになった見たいです。
次はpostfixの設定:https://www.kinryokai.net/modules/news/article.php?storyid=236







This article comes from 錦稜会 KINRYOKAI
https://www.kinryokai.net

The URL for this story is:
https://www.kinryokai.net/article.php?storyid=235