Update scripts for postfix+courier and postfix+dovecot for gentoo.
Changes here include: - shorten some repetitive commands (gentoo.inc.php) - maps uid/gid from database instead of statically on main.cf - maps 'homedir' from database instead of statically in vmail_mailbox_base (concatenates 'homedir' and 'maildir' columns from mail_users table) - update mysql query files to use strictly postfix 2.2+ new format (in accordance to http://www.postfix.org/mysql_table.5.html)
This commit is contained in:
@@ -147,23 +147,16 @@ return Array(
|
||||
'chmod 0750 ' . $settings['system']['vmail_homedir'],
|
||||
'mv /etc/postfix/main.cf /etc/postfix/main.cf.gentoo',
|
||||
'touch /etc/postfix/main.cf',
|
||||
'touch /etc/postfix/mysql-virtual_alias_maps.cf',
|
||||
'touch /etc/postfix/mysql-virtual_mailbox_domains.cf',
|
||||
'touch /etc/postfix/mysql-virtual_mailbox_maps.cf',
|
||||
'touch /etc/postfix/mysql-virtual_sender_permissions.cf',
|
||||
'touch /etc/sasl2/smtpd.conf',
|
||||
'chown root:root /etc/postfix/main.cf',
|
||||
'chown root:postfix /etc/postfix/mysql-virtual_alias_maps.cf',
|
||||
'chown root:postfix /etc/postfix/mysql-virtual_mailbox_domains.cf',
|
||||
'chown root:postfix /etc/postfix/mysql-virtual_mailbox_maps.cf',
|
||||
'chown root:postfix /etc/postfix/mysql-virtual_sender_permissions.cf',
|
||||
'chown root:root /etc/sasl2/smtpd.conf',
|
||||
'chmod 0644 /etc/postfix/main.cf',
|
||||
'chmod 0640 /etc/postfix/mysql-virtual_alias_maps.cf',
|
||||
'chmod 0640 /etc/postfix/mysql-virtual_mailbox_domains.cf',
|
||||
'chmod 0640 /etc/postfix/mysql-virtual_mailbox_maps.cf',
|
||||
'chmod 0640 /etc/postfix/mysql-virtual_sender_permissions.cf',
|
||||
'chmod 0600 /etc/sasl2/smtpd.conf',
|
||||
'for suffix in {alias,mailbox,uid,gid}_maps mailbox_domains sender_permissions; do',
|
||||
' touch /etc/postfix/mysql-virtual_${suffix}.cf',
|
||||
' chown root:postfix /etc/postfix/mysql-virtual_${suffix}.cf',
|
||||
' chmod 0640 /etc/postfix/mysql-virtual_${suffix}.cf',
|
||||
'done'
|
||||
),
|
||||
'files' => Array(
|
||||
'etc_postfix_main.cf' => '/etc/postfix/main.cf',
|
||||
@@ -171,6 +164,8 @@ return Array(
|
||||
'etc_postfix_mysql-virtual_mailbox_domains.cf' => '/etc/postfix/mysql-virtual_mailbox_domains.cf',
|
||||
'etc_postfix_mysql-virtual_mailbox_maps.cf' => '/etc/postfix/mysql-virtual_mailbox_maps.cf',
|
||||
'etc_postfix_mysql-virtual_sender_permissions.cf' => '/etc/postfix/mysql-virtual_sender_permissions.cf',
|
||||
'etc_postfix_mysql-virtual_uid_maps.cf' => '/etc/postfix/mysql-virtual_uid_maps.cf',
|
||||
'etc_postfix_mysql-virtual_gid_maps.cf' => '/etc/postfix/mysql-virtual_gid_maps.cf',
|
||||
'etc_sasl2_smtpd.conf' => '/etc/sasl2/smtpd.conf'
|
||||
),
|
||||
'commands_2' => Array(
|
||||
@@ -189,24 +184,14 @@ return Array(
|
||||
'chown -R '.$vmail_user['name'].':'.$vmail_group['name'].' ' . $settings['system']['vmail_homedir'],
|
||||
'chmod 0750 ' . $settings['system']['vmail_homedir'],
|
||||
'mv /etc/postfix/main.cf /etc/postfix/main.cf.gentoo',
|
||||
'touch /etc/postfix/main.cf',
|
||||
'touch /etc/postfix/master.cf',
|
||||
'touch /etc/postfix/mysql-virtual_alias_maps.cf',
|
||||
'touch /etc/postfix/mysql-virtual_mailbox_domains.cf',
|
||||
'touch /etc/postfix/mysql-virtual_mailbox_maps.cf',
|
||||
'touch /etc/postfix/mysql-virtual_sender_permissions.cf',
|
||||
'chown root:root /etc/postfix/main.cf',
|
||||
'chown root:root /etc/postfix/master.cf',
|
||||
'chown root:postfix /etc/postfix/mysql-virtual_alias_maps.cf',
|
||||
'chown root:postfix /etc/postfix/mysql-virtual_mailbox_domains.cf',
|
||||
'chown root:postfix /etc/postfix/mysql-virtual_mailbox_maps.cf',
|
||||
'chown root:postfix /etc/postfix/mysql-virtual_sender_permissions.cf',
|
||||
'chmod 0644 /etc/postfix/main.cf',
|
||||
'chmod 0644 /etc/postfix/master.cf',
|
||||
'chmod 0640 /etc/postfix/mysql-virtual_alias_maps.cf',
|
||||
'chmod 0640 /etc/postfix/mysql-virtual_mailbox_domains.cf',
|
||||
'chmod 0640 /etc/postfix/mysql-virtual_mailbox_maps.cf',
|
||||
'chmod 0640 /etc/postfix/mysql-virtual_sender_permissions.cf'
|
||||
'touch /etc/postfix/{main,master}.cf',
|
||||
'chown root:root /etc/postfix/{main,master}.cf',
|
||||
'chmod 0644 /etc/postfix/{main,master}.cf',
|
||||
'for suffix in {alias,mailbox,uid,gid}_maps mailbox_domains sender_permissions; do',
|
||||
' touch /etc/postfix/mysql-virtual_${suffix}.cf',
|
||||
' chown root:postfix /etc/postfix/mysql-virtual_${suffix}.cf',
|
||||
' chmod 0640 /etc/postfix/mysql-virtual_${suffix}.cf',
|
||||
'done'
|
||||
),
|
||||
'files' => Array(
|
||||
'etc_postfix_main.cf' => '/etc/postfix/main.cf',
|
||||
@@ -214,7 +199,9 @@ return Array(
|
||||
'etc_postfix_mysql-virtual_alias_maps.cf' => '/etc/postfix/mysql-virtual_alias_maps.cf',
|
||||
'etc_postfix_mysql-virtual_mailbox_domains.cf' => '/etc/postfix/mysql-virtual_mailbox_domains.cf',
|
||||
'etc_postfix_mysql-virtual_mailbox_maps.cf' => '/etc/postfix/mysql-virtual_mailbox_maps.cf',
|
||||
'etc_postfix_mysql-virtual_sender_permissions.cf' => '/etc/postfix/mysql-virtual_sender_permissions.cf'
|
||||
'etc_postfix_mysql-virtual_sender_permissions.cf' => '/etc/postfix/mysql-virtual_sender_permissions.cf',
|
||||
'etc_postfix_mysql-virtual_uid_maps.cf' => '/etc/postfix/mysql-virtual_uid_maps.cf',
|
||||
'etc_postfix_mysql-virtual_gid_maps.cf' => '/etc/postfix/mysql-virtual_gid_maps.cf'
|
||||
),
|
||||
'commands_2' => Array(
|
||||
'rc-update add postfix default'
|
||||
|
||||
@@ -45,13 +45,13 @@ smtpd_sasl_local_domain = $myhostname
|
||||
broken_sasl_auth_clients = yes
|
||||
|
||||
# Virtual delivery settings
|
||||
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
||||
virtual_mailbox_base = /
|
||||
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
||||
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
||||
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
||||
smtpd_sender_login_maps = mysql:/etc/postfix/mysql-virtual_sender_permissions.cf
|
||||
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
||||
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
||||
virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uid_maps.cf
|
||||
virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gid_maps.cf
|
||||
|
||||
# Local delivery settings
|
||||
local_transport = local
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
table = mail_virtual
|
||||
select_field = destination
|
||||
where_field = email
|
||||
additional_conditions = and TRIM(destination) <> ''
|
||||
query = select destination from mail_virtual where email = '%s' and trim(destination) <> ''
|
||||
hosts = <SQL_HOST>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
expansion_limit = 1
|
||||
query = select gid from mail_users where email = '%s'
|
||||
hosts = <SQL_HOST>
|
||||
@@ -1,8 +1,5 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
table = panel_domains
|
||||
select_field = domain
|
||||
where_field = domain
|
||||
additional_conditions = and isemaildomain = '1'
|
||||
query = select domain from panel_domains where domain = '%s' and isemaildomain = '1'
|
||||
hosts = <SQL_HOST>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
table = mail_users
|
||||
select_field = (quota*1024*1024)
|
||||
where_field = email
|
||||
hosts = <SQL_HOST>
|
||||
expansion_limit = 1
|
||||
query = select (quota*1024*1024) from mail_users where email = '%s'
|
||||
hosts = <SQL_HOST>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
table = mail_users
|
||||
select_field = maildir
|
||||
where_field = email
|
||||
expansion_limit = 1
|
||||
query = select concat(homedir,maildir) from mail_users where email = '%s'
|
||||
hosts = <SQL_HOST>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
expansion_limit = 1
|
||||
query = select uid from mail_users where email = '%s'
|
||||
hosts = <SQL_HOST>
|
||||
@@ -58,13 +58,13 @@ virtual_transport = dovecot
|
||||
dovecot_destination_recipient_limit = 1
|
||||
|
||||
# Virtual delivery settings
|
||||
virtual_mailbox_base = <VIRTUAL_MAILBOX_BASE>
|
||||
virtual_mailbox_base = /
|
||||
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_mailbox_maps.cf
|
||||
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_mailbox_domains.cf
|
||||
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf
|
||||
smtpd_sender_login_maps = mysql:/etc/postfix/mysql-virtual_sender_permissions.cf
|
||||
virtual_uid_maps = static:<VIRTUAL_UID_MAPS>
|
||||
virtual_gid_maps = static:<VIRTUAL_GID_MAPS>
|
||||
virtual_uid_maps = mysql:/etc/postfix/mysql-virtual_uid_maps.cf
|
||||
virtual_gid_maps = mysql:/etc/postfix/mysql-virtual_gid_maps.cf
|
||||
|
||||
# Local delivery settings
|
||||
local_transport = local
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
table = mail_virtual
|
||||
select_field = destination
|
||||
where_field = email
|
||||
additional_conditions = and TRIM(destination) <> ''
|
||||
query = select destination from mail_virtual where email = '%s' and trim(destination) <> ''
|
||||
hosts = <SQL_HOST>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
expansion_limit = 1
|
||||
query = select gid from mail_users where email = '%s'
|
||||
hosts = <SQL_HOST>
|
||||
@@ -1,8 +1,5 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
table = panel_domains
|
||||
select_field = domain
|
||||
where_field = domain
|
||||
additional_conditions = and isemaildomain = '1'
|
||||
query = select domain from panel_domains where domain = '%s' and isemaildomain = '1'
|
||||
hosts = <SQL_HOST>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
table = mail_users
|
||||
select_field = (quota*1024*1024)
|
||||
where_field = email
|
||||
hosts = <SQL_HOST>
|
||||
expansion_limit = 1
|
||||
query = select (quota*1024*1024) from mail_users where email = '%s'
|
||||
hosts = <SQL_HOST>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
table = mail_users
|
||||
select_field = maildir
|
||||
where_field = email
|
||||
expansion_limit = 1
|
||||
query = select concat(homedir,maildir) from mail_users where email = '%s'
|
||||
hosts = <SQL_HOST>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
user = <SQL_UNPRIVILEGED_USER>
|
||||
password = <SQL_UNPRIVILEGED_PASSWORD>
|
||||
dbname = <SQL_DB>
|
||||
expansion_limit = 1
|
||||
query = select uid from mail_users where email = '%s'
|
||||
hosts = <SQL_HOST>
|
||||
Reference in New Issue
Block a user