メールサーバにpostfixを使って、smtp-authとpop3d、imapに
それぞれmysqlを使って認証する。
postfixは、postfixadminを使って複数のvirtualドメインでの
運用をする。
テスト環境は以下
OS: CentOS 6.4 64bit
postfix: Ver 2.6.6
postfixadmin: ver 2.3.6
courier-authlib: ver 0.65.0
courier-imap: ver 4.12.0
mysql: ver 5.5.30
php: ver 5.4.13
●postfixのインストール
CentOS-Base.repoをenableにしてからyumでinstall
mysql対応かのチェック(mysql)と出ればOK
自動起動のセット
認証、メール配送用のVirtualユーザを作成
/etc/postfix/main.cfに下記の行を追加
local_transport = virtual
virtual_transport = virtual
virtual_mailbox_base = /home/vuser
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_alias_domains = $virtual_alias_maps
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 10000
virtual_uid_maps = static:10000
virtual_gid_maps = static:10000
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,
permit_mynetworks,reject_unauth_destination
postfixadmin設定ファイル用のディレクトリを作成
postfixadmin用の設定ファイルを3ファイル作成
user = postfix
password = password
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address
user = postfix
password = password
hosts = localhost
dbname = postfix
table = domain
select_field = description
where_field = domain
user = postfix
password = password
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
mysqlにpostfixadmin用のDBとユーザを作成
mysql> CREATE DATABASE postfix;
mysql> CREATE USER ‘postfix’@’localhost’ IDENTIFIED BY ‘password’;
mysql> GRANT ALL PRIVILEGES ON `postfix` . * TO ‘postfix’@’localhost’;
●postfixadminのインストール
解凍したpostfixadminの中身をWEBディレクトリに移動
ファイルの権限をWEBユーザに変更
config.inc.phpを編集
$CONF[‘configured’] = true;
$CONF[‘postfix_admin_url’] = ‘http://hoge.jp/’;
$CONF[‘database_password’] = ‘password’;
http://hoge.jp/setup.phpにアクセス
パスワードのhashが出るのでconfig.inc.phpの
$CONF[‘setup_password’]の項目にhashを記述
管理者ユーザのメールアドレスとパスワードを登録
この記事へのコメントはありません。