Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
I
ISPConfig 3
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Helmo
ISPConfig 3
Commits
7a086940
"README.md" did not exist on "845c3e7bff12a11c690ed21d93846170aee8cb60"
Commit
7a086940
authored
3 years ago
by
Thom
Browse files
Options
Downloads
Patches
Plain Diff
Remove outdated configure_postfix option (#6141)
parent
99e2f0a4
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
install/dist/lib/fedora.lib.php
+0
-231
0 additions, 231 deletions
install/dist/lib/fedora.lib.php
with
0 additions
and
231 deletions
install/dist/lib/fedora.lib.php
+
0
−
231
View file @
7a086940
...
...
@@ -47,237 +47,6 @@ class installer_dist extends installer_base {
}
}
function
configure_postfix
(
$options
=
''
)
{
global
$conf
,
$autoinstall
;
$cf
=
$conf
[
'postfix'
];
$config_dir
=
$cf
[
'config_dir'
];
if
(
!
is_dir
(
$config_dir
)){
$this
->
error
(
"The postfix configuration directory '
$config_dir
' does not exist."
);
}
//* Install virtual mappings
foreach
(
glob
(
'tpl/mysql-virtual_*.master'
)
as
$filename
)
{
$this
->
process_postfix_config
(
basename
(
$filename
,
'.master'
)
);
}
//* mysql-verify_recipients.cf
$this
->
process_postfix_config
(
'mysql-verify_recipients.cf'
);
//* postfix-dkim
$filename
=
'tag_as_originating.re'
;
$full_file_name
=
$config_dir
.
'/'
.
$filename
;
if
(
is_file
(
$full_file_name
))
copy
(
$full_file_name
,
$full_file_name
.
'~'
);
$content
=
rfsel
(
$conf
[
'ispconfig_install_dir'
]
.
'/server/conf-custom/install/postfix-'
.
$filename
.
'.master'
,
'tpl/postfix-'
.
$filename
.
'.master'
);
wf
(
$full_file_name
,
$content
);
$filename
=
'tag_as_foreign.re'
;
$full_file_name
=
$config_dir
.
'/'
.
$filename
;
if
(
is_file
(
$full_file_name
))
copy
(
$full_file_name
,
$full_file_name
.
'~'
);
$content
=
rfsel
(
$conf
[
'ispconfig_install_dir'
]
.
'/server/conf-custom/install/postfix-'
.
$filename
.
'.master'
,
'tpl/postfix-'
.
$filename
.
'.master'
);
wf
(
$full_file_name
,
$content
);
//* Creating virtual mail user and group
$command
=
'groupadd -g '
.
$cf
[
'vmail_groupid'
]
.
' '
.
$cf
[
'vmail_groupname'
];
if
(
!
is_group
(
$cf
[
'vmail_groupname'
]))
caselog
(
$command
.
' &> /dev/null'
,
__FILE__
,
__LINE__
,
"EXECUTED:
$command
"
,
"Failed to execute the command
$command
"
);
$command
=
'useradd -g '
.
$cf
[
'vmail_groupname'
]
.
' -u '
.
$cf
[
'vmail_userid'
]
.
' '
.
$cf
[
'vmail_username'
]
.
' -d '
.
$cf
[
'vmail_mailbox_base'
]
.
' -m'
;
if
(
!
is_user
(
$cf
[
'vmail_username'
]))
caselog
(
"
$command
&> /dev/null"
,
__FILE__
,
__LINE__
,
"EXECUTED:
$command
"
,
"Failed to execute the command
$command
"
);
//* These postconf commands will be executed on installation and update
$server_ini_rec
=
$this
->
db
->
queryOneRecord
(
"SELECT config FROM server WHERE server_id = ?"
,
$conf
[
'server_id'
]);
$server_ini_array
=
ini_to_array
(
stripslashes
(
$server_ini_rec
[
'config'
]));
unset
(
$server_ini_rec
);
//* If there are RBL's defined, format the list and add them to smtp_recipient_restrictions to prevent removeal after an update
$rbl_list
=
''
;
if
(
@
isset
(
$server_ini_array
[
'mail'
][
'realtime_blackhole_list'
])
&&
$server_ini_array
[
'mail'
][
'realtime_blackhole_list'
]
!=
''
)
{
$rbl_hosts
=
explode
(
","
,
str_replace
(
" "
,
""
,
$server_ini_array
[
'mail'
][
'realtime_blackhole_list'
]));
foreach
(
$rbl_hosts
as
$key
=>
$value
)
{
$rbl_list
.
=
", reject_rbl_client "
.
$value
;
}
}
unset
(
$rbl_hosts
);
//* If Postgrey is installed, configure it
$greylisting
=
''
;
if
(
$conf
[
'postgrey'
][
'installed'
]
==
true
)
{
$greylisting
=
', check_recipient_access mysql:/etc/postfix/mysql-virtual_policy_greylist.cf'
;
}
$reject_sender_login_mismatch
=
''
;
$reject_authenticated_sender_login_mismatch
=
''
;
if
(
isset
(
$server_ini_array
[
'mail'
][
'reject_sender_login_mismatch'
])
&&
(
$server_ini_array
[
'mail'
][
'reject_sender_login_mismatch'
]
==
'y'
))
{
$reject_sender_login_mismatch
=
', reject_sender_login_mismatch'
;
$reject_authenticated_sender_login_mismatch
=
'reject_authenticated_sender_login_mismatch, '
;
}
# placeholder includes comment char
$stress_adaptive_placeholder
=
'#{stress_adaptive} '
;
$stress_adaptive
=
(
isset
(
$server_ini_array
[
'mail'
][
'stress_adaptive'
])
&&
(
$server_ini_array
[
'mail'
][
'stress_adaptive'
]
==
'y'
))
?
''
:
$stress_adaptive_placeholder
;
$reject_unknown_client_hostname
=
''
;
if
(
isset
(
$server_ini_array
[
'mail'
][
'reject_unknown'
])
&&
(
$server_ini_array
[
'mail'
][
'reject_unknown'
]
==
'client'
||
$server_ini_array
[
'mail'
][
'reject_unknown'
]
==
'client_helo'
))
{
$reject_unknown_client_hostname
=
',reject_unknown_client_hostname'
;
}
$reject_unknown_helo_hostname
=
''
;
if
((
!
isset
(
$server_ini_array
[
'mail'
][
'reject_unknown'
]))
||
$server_ini_array
[
'mail'
][
'reject_unknown'
]
==
'helo'
||
$server_ini_array
[
'mail'
][
'reject_unknown'
]
==
'client_helo'
)
{
$reject_unknown_helo_hostname
=
',reject_unknown_helo_hostname'
;
}
unset
(
$server_ini_array
);
$myhostname
=
str_replace
(
'.'
,
'\.'
,
$conf
[
'hostname'
]);
$postconf_placeholders
=
array
(
'{config_dir}'
=>
$config_dir
,
'{vmail_mailbox_base}'
=>
$cf
[
'vmail_mailbox_base'
],
'{vmail_userid}'
=>
$cf
[
'vmail_userid'
],
'{vmail_groupid}'
=>
$cf
[
'vmail_groupid'
],
'{rbl_list}'
=>
$rbl_list
,
'{greylisting}'
=>
$greylisting
,
'{reject_slm}'
=>
$reject_sender_login_mismatch
,
'{reject_aslm}'
=>
$reject_authenticated_sender_login_mismatch
,
'{myhostname}'
=>
$myhostname
,
$stress_adaptive_placeholder
=>
$stress_adaptive
,
'{reject_unknown_client_hostname}'
=>
$reject_unknown_client_hostname
,
'{reject_unknown_helo_hostname}'
=>
$reject_unknown_helo_hostname
,
);
$postconf_tpl
=
rfsel
(
$conf
[
'ispconfig_install_dir'
]
.
'/server/conf-custom/install/fedora_postfix.conf.master'
,
'tpl/fedora_postfix.conf.master'
);
$postconf_tpl
=
strtr
(
$postconf_tpl
,
$postconf_placeholders
);
$postconf_commands
=
array_filter
(
explode
(
"
\n
"
,
$postconf_tpl
));
// read and remove empty lines
//* These postconf commands will be executed on installation only
if
(
$this
->
is_update
==
false
)
{
$postconf_commands
=
array_merge
(
$postconf_commands
,
array
(
'myhostname = '
.
$conf
[
'hostname'
],
'mydestination = '
.
$conf
[
'hostname'
]
.
', localhost, localhost.localdomain'
,
'mynetworks = 127.0.0.0/8 [::1]/128'
));
}
//* Create the header and body check files
touch
(
$config_dir
.
'/header_checks'
);
touch
(
$config_dir
.
'/mime_header_checks'
);
touch
(
$config_dir
.
'/nested_header_checks'
);
touch
(
$config_dir
.
'/body_checks'
);
touch
(
$config_dir
.
'/sasl_passwd'
);
//* Create the mailman files
if
(
!
is_dir
(
'/var/lib/mailman/data'
))
exec
(
'mkdir -p /var/lib/mailman/data'
);
//if(!is_file('/var/lib/mailman/data/aliases')) touch('/var/lib/mailman/data/aliases');
if
(
is_file
(
'/var/lib/mailman/data/aliases'
))
unlink
(
'/var/lib/mailman/data/aliases'
);
if
(
!
is_link
(
'/var/lib/mailman/data/aliases'
))
symlink
(
'/etc/mailman/aliases'
,
'/var/lib/mailman/data/aliases'
);
if
(
!
is_dir
(
'/etc/mailman'
))
mkdir
(
'/etc/mailman'
);
if
(
!
is_file
(
'/etc/mailman/aliases'
))
touch
(
'/etc/mailman/aliases'
);
exec
(
'postalias /var/lib/mailman/data/aliases'
);
if
(
!
is_file
(
'/etc/mailman/virtual-mailman'
))
touch
(
'/etc/mailman/virtual-mailman'
);
exec
(
'postmap /etc/mailman/virtual-mailman'
);
if
(
!
is_file
(
'/var/lib/mailman/data/transport-mailman'
))
touch
(
'/var/lib/mailman/data/transport-mailman'
);
exec
(
'/usr/sbin/postmap /var/lib/mailman/data/transport-mailman'
);
//* Create auxillary postfix conf files
$configfile
=
'helo_access'
;
if
(
is_file
(
$config_dir
.
'/'
.
$configfile
))
{
copy
(
$config_dir
.
'/'
.
$configfile
,
$config_dir
.
'/'
.
$configfile
.
'~'
);
chmod
(
$config_dir
.
'/'
.
$configfile
.
'~'
,
0400
);
}
$content
=
rfsel
(
$conf
[
'ispconfig_install_dir'
]
.
'/server/conf-custom/install/'
.
$configfile
.
'.master'
,
'tpl/'
.
$configfile
.
'.master'
);
$content
=
strtr
(
$content
,
$postconf_placeholders
);
# todo: look up this server's ip addrs and loop through each
# todo: look up domains hosted on this server and loop through each
wf
(
$config_dir
.
'/'
.
$configfile
,
$content
);
$configfile
=
'blacklist_helo'
;
if
(
is_file
(
$config_dir
.
'/'
.
$configfile
))
{
copy
(
$config_dir
.
'/'
.
$configfile
,
$config_dir
.
'/'
.
$configfile
.
'~'
);
chmod
(
$config_dir
.
'/'
.
$configfile
.
'~'
,
0400
);
}
$content
=
rfsel
(
$conf
[
'ispconfig_install_dir'
]
.
'/server/conf-custom/install/'
.
$configfile
.
'.master'
,
'tpl/'
.
$configfile
.
'.master'
);
$content
=
strtr
(
$content
,
$postconf_placeholders
);
wf
(
$config_dir
.
'/'
.
$configfile
,
$content
);
//* Make a backup copy of the main.cf file
copy
(
$config_dir
.
'/main.cf'
,
$config_dir
.
'/main.cf~'
);
//* Executing the postconf commands
foreach
(
$postconf_commands
as
$cmd
)
{
$command
=
"postconf -e '
$cmd
'"
;
caselog
(
$command
.
" &> /dev/null"
,
__FILE__
,
__LINE__
,
'EXECUTED: '
.
$command
,
'Failed to execute the command '
.
$command
);
}
if
(
!
stristr
(
$options
,
'dont-create-certs'
))
{
//* Create the SSL certificate
if
(
AUTOINSTALL
){
$command
=
'cd '
.
$config_dir
.
'; '
.
"openssl req -new -subj '/C="
.
escapeshellcmd
(
$autoinstall
[
'ssl_cert_country'
])
.
"/ST="
.
escapeshellcmd
(
$autoinstall
[
'ssl_cert_state'
])
.
"/L="
.
escapeshellcmd
(
$autoinstall
[
'ssl_cert_locality'
])
.
"/O="
.
escapeshellcmd
(
$autoinstall
[
'ssl_cert_organisation'
])
.
"/OU="
.
escapeshellcmd
(
$autoinstall
[
'ssl_cert_organisation_unit'
])
.
"/CN="
.
escapeshellcmd
(
$autoinstall
[
'ssl_cert_common_name'
])
.
"' -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509"
;
}
else
{
$command
=
'cd '
.
$config_dir
.
'; '
.
'openssl req -new -outform PEM -out smtpd.cert -newkey rsa:4096 -nodes -keyout smtpd.key -keyform PEM -days 3650 -x509'
;
}
exec
(
$command
);
$command
=
'chmod o= '
.
$config_dir
.
'/smtpd.key'
;
caselog
(
$command
.
' &> /dev/null'
,
__FILE__
,
__LINE__
,
'EXECUTED: '
.
$command
,
'Failed to execute the command '
.
$command
);
}
//** We have to change the permissions of the courier authdaemon directory to make it accessible for maildrop.
$command
=
'chmod 755 /var/spool/authdaemon'
;
caselog
(
$command
.
' &> /dev/null'
,
__FILE__
,
__LINE__
,
'EXECUTED: '
.
$command
,
'Failed to execute the command '
.
$command
);
//* Changing maildrop lines in posfix master.cf
if
(
is_file
(
$config_dir
.
'/master.cf'
)){
copy
(
$config_dir
.
'/master.cf'
,
$config_dir
.
'/master.cf~'
);
}
if
(
is_file
(
$config_dir
.
'/master.cf~'
)){
exec
(
'chmod 400 '
.
$config_dir
.
'/master.cf~'
);
}
$configfile
=
$config_dir
.
'/master.cf'
;
$content
=
rf
(
$configfile
);
// if postfix package is from fedora or centios main repo
$content
=
str_replace
(
'# flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}'
,
' flags=DRhu user='
.
$cf
[
'vmail_username'
]
.
' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}'
,
$content
);
// If postfix package is from centos plus repo
$content
=
str_replace
(
'# flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}'
,
' flags=DRhu user='
.
$cf
[
'vmail_username'
]
.
' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}'
,
$content
);
$content
=
str_replace
(
' flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}'
,
' flags=DRhu user='
.
$cf
[
'vmail_username'
]
.
' argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}'
,
$content
);
$content
=
str_replace
(
'#maildrop unix - n n - - pipe'
,
'maildrop unix - n n - - pipe'
,
$content
);
wf
(
$configfile
,
$content
);
//* Writing the Maildrop mailfilter file
$configfile
=
'mailfilter'
;
if
(
is_file
(
$cf
[
'vmail_mailbox_base'
]
.
'/.'
.
$configfile
)){
copy
(
$cf
[
'vmail_mailbox_base'
]
.
'/.'
.
$configfile
,
$cf
[
'vmail_mailbox_base'
]
.
'/.'
.
$configfile
.
'~'
);
}
$content
=
rfsel
(
$conf
[
'ispconfig_install_dir'
]
.
'/server/conf-custom/install/'
.
$configfile
.
'.master'
,
"tpl/
$configfile
.master"
);
$content
=
str_replace
(
'{dist_postfix_vmail_mailbox_base}'
,
$cf
[
'vmail_mailbox_base'
],
$content
);
wf
(
$cf
[
'vmail_mailbox_base'
]
.
'/.'
.
$configfile
,
$content
);
//* Create the directory for the custom mailfilters
$command
=
'mkdir '
.
$cf
[
'vmail_mailbox_base'
]
.
'/mailfilters'
;
caselog
(
$command
.
" &> /dev/null"
,
__FILE__
,
__LINE__
,
"EXECUTED:
$command
"
,
"Failed to execute the command
$command
"
);
//* Chmod and chown the .mailfilter file
$command
=
'chown -R '
.
$cf
[
'vmail_username'
]
.
':'
.
$cf
[
'vmail_groupname'
]
.
' '
.
$cf
[
'vmail_mailbox_base'
]
.
'/.mailfilter'
;
caselog
(
$command
.
" &> /dev/null"
,
__FILE__
,
__LINE__
,
"EXECUTED:
$command
"
,
"Failed to execute the command
$command
"
);
$command
=
'chmod -R 600 '
.
$cf
[
'vmail_mailbox_base'
]
.
'/.mailfilter'
;
caselog
(
$command
.
" &> /dev/null"
,
__FILE__
,
__LINE__
,
"EXECUTED:
$command
"
,
"Failed to execute the command
$command
"
);
}
public
function
configure_saslauthd
()
{
global
$conf
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment