yum install mysql mysql-server mysql-devel
mysql>grant all privileges on postfix.* to postfix#localhost identified by ‘123456’; (将#换为@)
mysql>flush privileges;
vi config.inc.php
找到下面的参数并作修改:
$CONF[‘configured’] = true;
$CONF[‘database_password’] = ‘postfix_password’;
$CONF[‘default_language’] = ‘cn’;
$CONF[‘used_quotas’] = ‘YES’;
$CONF[‘quota’] = ‘YES’;
postfix_password即上一步设置的postfix用户密码。
打开浏览器,输入下面的网址开始安装:
http://your-domain/postfixadmin/setup.php
postfix与postfixadmin整合
vi /etc/postfix/main.cf
按如下添加或修改:
virtual_mailbox_domains = proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
virtual_alias_maps =
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
virtual_mailbox_maps =
proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
# Additional for quota support
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user’s maildir has overdrawn his diskspace quota, please try again later.
virtual_overquota_bounce = yes
建立目录sql
mkdir /etc/postfix/sql
以下的几个文件注意修改postfix_password。
vi /etc/postfix/sql/mysql_virtual_alias_maps.cf
内容:
user = postfix
password = postfix_password
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address=’%s’ AND active = ‘1’
#expansion_limit = 100
vi /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
内容:
user = postfix
password = postfix_password
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = ‘%d’ and alias.address = CONCAT(‘%u’, ‘@’, alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active=’1′
vi /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
内容:
# handles catch-all settings of target-domain
user = postfix
password = postfix_password
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain = ‘%d’ and alias.address = CONCAT(‘@’, alias_domain.target_domain) AND alias.active = 1 AND alias_domain.active=’1′
vi /etc/postfix/sql/mysql_virtual_domains_maps.cf
内容:
user = postfix
password = postfix_password
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain=’%s’ AND active = ‘1’
#query = SELECT domain FROM domain WHERE domain=’%s’
#optional query to use when relaying for backup MX
#query = SELECT domain FROM domain WHERE domain=’%s’ AND backupmx = ‘0’ AND active = ‘1’
#expansion_limit = 100
vi /etc/postfix/sql/mysql_virtual_mailbox_maps.cf
内容:
user = postfix
password = postfix_password
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username=’%s’ AND active = ‘1’
#expansion_limit = 100
vi /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
内容:
user = postfix
password = postfix_password
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain = ‘%d’ and mailbox.username = CONCAT(‘%u’, ‘@’, alias_domain.target_domain) AND mailbox.active = 1 AND alias_domain.active=’1′
vi /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf
内容:
user = postfix
password = postfix_password
hosts = localhost
dbname = postfix
query = SELECT quota FROM mailbox WHERE username=’%s’ AND active = ‘1’