PostfixAdminとMySQLによる構築
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[Postfix]]
*環境 [#s0a41415]
CentOS6
*事前インストール [#g7d23c94]
# yum install postfix dovecot mysql-server dovecot-mysql...
*Postfixadmin 構築手順 [#g168f9d5]
# cp -p /etc/postfix/main.cf /etc/postfix/main.cf.`date ...
# vi /etc/postfix/main.cf
myhostname = mail01.example.jp
mydomain = example.jp
myorigin = $mydomain
inet_interfaces = all
mynetworks = 127.0.0.0/8, [::1]/128
home_mailbox = Maildir/
smtpd_banner = ESMTP unknown
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_recipient_restrictions =
reject_unauth_destination,
permit_mynetworks, ...
permit_sasl_authenticated
broken_sasl_auth_clients=yes
smtpd_client_restrictions =
permit_mynetworks,
reject_rbl_client all.rbl.jp,
# reject_rbl_client list.dsbl.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client relays.ordb.org,
reject_rbl_client sbl-xbl.spamhaus.org
### clamav
#smtpd_milters = unix:/var/run/clamav/clamav-milter.sock
#non_smtpd_milters = unix:/var/run/clamav/clamav-milter....
#milter_default_action = accept
### Postfix admin settings
local_transport = local
virtual_transport = virtual
virtual_mailbox_base = /home/mailuser
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_al...
virtual_alias_domains = $virtual_alias_maps
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtu...
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_...
virtual_minimum_uid = 5000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
# vi /etc/postfix/mysql_virtual_alias_maps.cf
[新規作成]
user = postfixuser
password = EX@mpLEP@ss2013
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND ac...
# vi /etc/postfix/mysql_virtual_domains_maps.cf
[新規作成]
user = postfixuser
password = EX@mpLEP@ss2013
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%u'
# vi /etc/postfix/mysql_virtual_mailbox_maps.cf
[新規作成]
user = postfixuser
password = EX@mpLEP@ss2013
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username = '%s...
# cp -p /etc/postfix/master.cf /etc/postfix/master.cf.20...
# vi /etc/postfix/master.cf
[変更]
submission inet n - n - - ...
# -o smtpd_tls_security_level=encrypt
# -o smtpd_enforce_tls=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated...
***バーチャルドメイン用のユーザとグループを作成 [#x06dd755]
# groupadd -g 5000 mailuser
# useradd -u 5000 -g 5000 -d /home/mailuser -s /sbin/nol...
***postfixのsmtp-auth mysql設定 [#d980648e]
# cp -p /etc/sasl2/smtpd.conf /etc/sasl2/smtpd.conf.`dat...
# vi /etc/sasl2/smtpd.conf
# smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sql
allowplaintext: yes
mech_list: plain login
sql_engine: mysql
sql_hostnames: localhost
sql_user: postfixuser
sql_passwd: EX@mpLEP@ss2013
sql_database: postfix
sql_select: SELECT password FROM mailbox WHERE username ...
*Postfixadminのインストールと設定 [#w31cb3ae]
***ユーザ情報登録用のデータベースを作成 [#x30b8338]
# mysql -u root -p
mysql> CREATE DATABASE postfix
mysql> GRANT ALL PRIVILEGES ON postfix.* TO postfixuser@...
***Postixadminの取得と設置 [#t99c3976]
※postfixadminは最新版を取得すること
# wget "http://downloads.sourceforge.net/project/postfix...
# tar xzvf postfixadmin-2.3.5.tar.gz
# mv postfixadmin-2.3.5 /var/www/vhosts/mailmaster
***Postixadmin初期設定 [#u9e21e76]
# cp -p /var/www/vhosts/mailmaster/config.inc.php /var/w...
# vi /var/www/vhosts/mailmaster/config.inc.php
[変更箇所]
$CONF['configured'] = true;
$CONF['setup_password'] = 'changeme'; ←今は未記入のまま...
$CONF['default_language'] = 'ja';
$CONF['postfix_admin_url'] = 'http://www.example.jp/mail...
//Database Config
$CONF['database_user'] = 'postfixuser';
$CONF['database_password'] = 'EX@mpLEP@ss2013';
$CONF['database_name'] = 'postfix';
$CONF['admin_email'] = 'postmaster@example.jp';
$CONF['encrypt'] = 'cleartext';
$CONF['page_size'] = '100'
$CONF['domain_path'] = 'YES';
$CONF['aliases'] = '300';
$CONF['mailboxes'] = '500';
$CONF['maxquota'] = '500';
ブラウザでhttp://xxx/mailmaster/setup.phpにアクセスする。
「Setup password」を入力してsubmitすると、
$CONF['setup_password'] = ‘aa45fgasfgkldhfahsldhf2asjdqw...
のようなパラメータが赤字で表示されるので、config.inc.php...
# vi /var/www/vhosts/mailmaster/config.inc.php
[再修正]
$CONF['setup_password'] = 'changeme';
再度ブラウザでhttp://xxx/mailmaster/setup.phpにアクセス...
再度setup.phpにアクセスして管理者(特権管理者となる)を...
index.phpにアクセスするとログイン画面が表示されるので、 ...
引き続きドメインの設定、ユーザの設定を行うとユーザ情報用...
mysql> show tables;
+-----------------------+
| Tables_in_postfix |
+-----------------------+
| admin |
| alias |
| alias_domain |
| config |
| domain |
| domain_admins |
| fetchmail |
| log |
| mailbox |
| quota |
| quota2 |
| vacation |
| vacation_notification |
+-----------------------+
13 rows in set (0.00 sec)
mysql> select * from domain;
+-------------------------+-------------+---------+-----...
| domain | description | aliases | mail...
+-------------------------+-------------+---------+-----...
| ALL | | 0 | ...
| example.jp | | 10 | ...
+-------------------------+-------------+---------+-----...
2 rows in set (0.00 sec)
mysql> select * from mailbox;
+----------------------------------+--------------------...
| username | password ...
+----------------------------------+--------------------...
| user001@example.jp | $1$s20dlgklksdfkwor...
+----------------------------------+--------------------...
1 row in set (0.00 sec)
*Dovecot設定 [#z4acfe99]
# cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.c...
# vi /etc/dovecot/dovecot.conf
[編集]
protocols = pop3 imap
disable_plaintext_auth = no
mail_location = maildir:/home/mailuser/%d/%n/
※%uだとドメイン名無しで認証する
# cp -p /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/co...
# vi /etc/dovecot/conf.d/10-auth.conf
[編集]
disable_plaintext_auth = no
auth_mechanisms = plain login
#!include auth-system.conf.ext
!include auth-sql.conf.ext
# cp -p /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/co...
# vi /etc/dovecot/10-mail.conf
[編集]
mail_location = maildir:~/Maildir
# cp -p /etc/dovecot/conf.d/10-master.conf /etc/dovecot/...
# vi /etc/dovecot/conf.d/10-master.conf
[編集]
port = 143
port = 110
# cp -p /etc/dovecot/conf.d/auth-sql.conf.ext /etc/dovec...
# vi /etc/dovecot/conf.d/auth-sql.conf.ext
[編集]
passdb内↓
args = /etc/dovecot/conf.d/dovecot-sql.conf.ext
userdb内↓
args = /etc/dovecot/conf.d/dovecot-sql.conf.ext
# vi /etc/dovecot/conf.d/dovecot-sql.conf.ext
[作成]
driver = mysql
default_pass_scheme = PLAIN
connect = host=localhost dbname=postfix user=postfixuser...
password_query = SELECT password FROM mailbox WHERE user...
user_query = SELECT concat('/home/mailuser/', maildir) a...
# chkconfig dovecot on
***備考 [#y216a1d4]
必要であればclamとspam設定を実施する
終了行:
[[Postfix]]
*環境 [#s0a41415]
CentOS6
*事前インストール [#g7d23c94]
# yum install postfix dovecot mysql-server dovecot-mysql...
*Postfixadmin 構築手順 [#g168f9d5]
# cp -p /etc/postfix/main.cf /etc/postfix/main.cf.`date ...
# vi /etc/postfix/main.cf
myhostname = mail01.example.jp
mydomain = example.jp
myorigin = $mydomain
inet_interfaces = all
mynetworks = 127.0.0.0/8, [::1]/128
home_mailbox = Maildir/
smtpd_banner = ESMTP unknown
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_recipient_restrictions =
reject_unauth_destination,
permit_mynetworks, ...
permit_sasl_authenticated
broken_sasl_auth_clients=yes
smtpd_client_restrictions =
permit_mynetworks,
reject_rbl_client all.rbl.jp,
# reject_rbl_client list.dsbl.org,
reject_rbl_client bl.spamcop.net,
reject_rbl_client relays.ordb.org,
reject_rbl_client sbl-xbl.spamhaus.org
### clamav
#smtpd_milters = unix:/var/run/clamav/clamav-milter.sock
#non_smtpd_milters = unix:/var/run/clamav/clamav-milter....
#milter_default_action = accept
### Postfix admin settings
local_transport = local
virtual_transport = virtual
virtual_mailbox_base = /home/mailuser
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_al...
virtual_alias_domains = $virtual_alias_maps
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtu...
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_...
virtual_minimum_uid = 5000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
# vi /etc/postfix/mysql_virtual_alias_maps.cf
[新規作成]
user = postfixuser
password = EX@mpLEP@ss2013
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND ac...
# vi /etc/postfix/mysql_virtual_domains_maps.cf
[新規作成]
user = postfixuser
password = EX@mpLEP@ss2013
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%u'
# vi /etc/postfix/mysql_virtual_mailbox_maps.cf
[新規作成]
user = postfixuser
password = EX@mpLEP@ss2013
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username = '%s...
# cp -p /etc/postfix/master.cf /etc/postfix/master.cf.20...
# vi /etc/postfix/master.cf
[変更]
submission inet n - n - - ...
# -o smtpd_tls_security_level=encrypt
# -o smtpd_enforce_tls=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated...
***バーチャルドメイン用のユーザとグループを作成 [#x06dd755]
# groupadd -g 5000 mailuser
# useradd -u 5000 -g 5000 -d /home/mailuser -s /sbin/nol...
***postfixのsmtp-auth mysql設定 [#d980648e]
# cp -p /etc/sasl2/smtpd.conf /etc/sasl2/smtpd.conf.`dat...
# vi /etc/sasl2/smtpd.conf
# smtpd.conf
pwcheck_method: auxprop
auxprop_plugin: sql
allowplaintext: yes
mech_list: plain login
sql_engine: mysql
sql_hostnames: localhost
sql_user: postfixuser
sql_passwd: EX@mpLEP@ss2013
sql_database: postfix
sql_select: SELECT password FROM mailbox WHERE username ...
*Postfixadminのインストールと設定 [#w31cb3ae]
***ユーザ情報登録用のデータベースを作成 [#x30b8338]
# mysql -u root -p
mysql> CREATE DATABASE postfix
mysql> GRANT ALL PRIVILEGES ON postfix.* TO postfixuser@...
***Postixadminの取得と設置 [#t99c3976]
※postfixadminは最新版を取得すること
# wget "http://downloads.sourceforge.net/project/postfix...
# tar xzvf postfixadmin-2.3.5.tar.gz
# mv postfixadmin-2.3.5 /var/www/vhosts/mailmaster
***Postixadmin初期設定 [#u9e21e76]
# cp -p /var/www/vhosts/mailmaster/config.inc.php /var/w...
# vi /var/www/vhosts/mailmaster/config.inc.php
[変更箇所]
$CONF['configured'] = true;
$CONF['setup_password'] = 'changeme'; ←今は未記入のまま...
$CONF['default_language'] = 'ja';
$CONF['postfix_admin_url'] = 'http://www.example.jp/mail...
//Database Config
$CONF['database_user'] = 'postfixuser';
$CONF['database_password'] = 'EX@mpLEP@ss2013';
$CONF['database_name'] = 'postfix';
$CONF['admin_email'] = 'postmaster@example.jp';
$CONF['encrypt'] = 'cleartext';
$CONF['page_size'] = '100'
$CONF['domain_path'] = 'YES';
$CONF['aliases'] = '300';
$CONF['mailboxes'] = '500';
$CONF['maxquota'] = '500';
ブラウザでhttp://xxx/mailmaster/setup.phpにアクセスする。
「Setup password」を入力してsubmitすると、
$CONF['setup_password'] = ‘aa45fgasfgkldhfahsldhf2asjdqw...
のようなパラメータが赤字で表示されるので、config.inc.php...
# vi /var/www/vhosts/mailmaster/config.inc.php
[再修正]
$CONF['setup_password'] = 'changeme';
再度ブラウザでhttp://xxx/mailmaster/setup.phpにアクセス...
再度setup.phpにアクセスして管理者(特権管理者となる)を...
index.phpにアクセスするとログイン画面が表示されるので、 ...
引き続きドメインの設定、ユーザの設定を行うとユーザ情報用...
mysql> show tables;
+-----------------------+
| Tables_in_postfix |
+-----------------------+
| admin |
| alias |
| alias_domain |
| config |
| domain |
| domain_admins |
| fetchmail |
| log |
| mailbox |
| quota |
| quota2 |
| vacation |
| vacation_notification |
+-----------------------+
13 rows in set (0.00 sec)
mysql> select * from domain;
+-------------------------+-------------+---------+-----...
| domain | description | aliases | mail...
+-------------------------+-------------+---------+-----...
| ALL | | 0 | ...
| example.jp | | 10 | ...
+-------------------------+-------------+---------+-----...
2 rows in set (0.00 sec)
mysql> select * from mailbox;
+----------------------------------+--------------------...
| username | password ...
+----------------------------------+--------------------...
| user001@example.jp | $1$s20dlgklksdfkwor...
+----------------------------------+--------------------...
1 row in set (0.00 sec)
*Dovecot設定 [#z4acfe99]
# cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.c...
# vi /etc/dovecot/dovecot.conf
[編集]
protocols = pop3 imap
disable_plaintext_auth = no
mail_location = maildir:/home/mailuser/%d/%n/
※%uだとドメイン名無しで認証する
# cp -p /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/co...
# vi /etc/dovecot/conf.d/10-auth.conf
[編集]
disable_plaintext_auth = no
auth_mechanisms = plain login
#!include auth-system.conf.ext
!include auth-sql.conf.ext
# cp -p /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/co...
# vi /etc/dovecot/10-mail.conf
[編集]
mail_location = maildir:~/Maildir
# cp -p /etc/dovecot/conf.d/10-master.conf /etc/dovecot/...
# vi /etc/dovecot/conf.d/10-master.conf
[編集]
port = 143
port = 110
# cp -p /etc/dovecot/conf.d/auth-sql.conf.ext /etc/dovec...
# vi /etc/dovecot/conf.d/auth-sql.conf.ext
[編集]
passdb内↓
args = /etc/dovecot/conf.d/dovecot-sql.conf.ext
userdb内↓
args = /etc/dovecot/conf.d/dovecot-sql.conf.ext
# vi /etc/dovecot/conf.d/dovecot-sql.conf.ext
[作成]
driver = mysql
default_pass_scheme = PLAIN
connect = host=localhost dbname=postfix user=postfixuser...
password_query = SELECT password FROM mailbox WHERE user...
user_query = SELECT concat('/home/mailuser/', maildir) a...
# chkconfig dovecot on
***備考 [#y216a1d4]
必要であればclamとspam設定を実施する
ページ名: