Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Thomas Basler
ISPConfig 3
Commits
72a3334c
Commit
72a3334c
authored
Mar 11, 2021
by
Thom
🛠
Browse files
Copy custom dovecot config on Debian 6+ sytems (#6096)
parent
33019cd9
Changes
1
Hide whitespace changes
Inline
Side-by-side
install/dist/lib/debian60.lib.php
View file @
72a3334c
...
...
@@ -33,7 +33,7 @@ class installer extends installer_base {
public
function
configure_dovecot
()
{
global
$conf
;
$virtual_transport
=
'dovecot'
;
$configure_lmtp
=
false
;
...
...
@@ -48,7 +48,7 @@ class installer extends installer_base {
$tmp
=
$this
->
db
->
queryOneRecord
(
"SELECT * FROM ?? WHERE server_id = ?"
,
$conf
[
"mysql"
][
"database"
]
.
".server"
,
$conf
[
'server_id'
]);
$ini_array
=
ini_to_array
(
stripslashes
(
$tmp
[
'config'
]));
// ini_array needs not to be checked, because already done in update.php -> updateDbAndIni()
if
(
isset
(
$ini_array
[
'mail'
][
'mailbox_virtual_uidgid_maps'
])
&&
$ini_array
[
'mail'
][
'mailbox_virtual_uidgid_maps'
]
==
'y'
)
{
$virtual_transport
=
'lmtp:unix:private/dovecot-lmtp'
;
$configure_lmtp
=
true
;
...
...
@@ -108,6 +108,10 @@ class installer extends installer_base {
}
else
{
copy
(
'tpl/debian6_dovecot2.conf.master'
,
$config_dir
.
'/'
.
$configfile
);
}
// Copy custom config file
if
(
is_file
(
$conf
[
'ispconfig_install_dir'
]
.
'/server/conf-custom/install/dovecot_custom.conf.master'
))
{
copy
(
$conf
[
'ispconfig_install_dir'
]
.
'/server/conf-custom/install/dovecot_custom.conf.master'
,
$config_dir
.
'/conf.d/99-ispconfig-custom-config.conf'
);
}
replaceLine
(
$config_dir
.
'/'
.
$configfile
,
'postmaster_address = postmaster@example.com'
,
'postmaster_address = postmaster@'
.
$conf
[
'hostname'
],
1
,
0
);
replaceLine
(
$config_dir
.
'/'
.
$configfile
,
'postmaster_address = webmaster@localhost'
,
'postmaster_address = postmaster@'
.
$conf
[
'hostname'
],
1
,
0
);
if
(
version_compare
(
$dovecot_version
,
2.1
)
<
0
)
{
...
...
@@ -123,7 +127,7 @@ class installer extends installer_base {
if
(
version_compare
(
$dovecot_version
,
2.3
)
>=
0
)
{
// Remove deprecated setting(s)
removeLine
(
$config_dir
.
'/'
.
$configfile
,
'ssl_protocols ='
);
// Check if we have a dhparams file and if not, create it
if
(
!
file_exists
(
'/etc/dovecot/dh.pem'
))
{
swriteln
(
'Creating new DHParams file, this takes several minutes. Do not interrupt the script.'
);
...
...
@@ -146,7 +150,7 @@ class installer extends installer_base {
$content
=
str_replace
(
'#2.3+ '
,
''
,
$content
);
file_put_contents
(
$config_dir
.
'/'
.
$configfile
,
$content
);
unset
(
$content
);
}
else
{
// remove settings which are not supported in Dovecot < 2.3
removeLine
(
$config_dir
.
'/'
.
$configfile
,
'ssl_min_protocol ='
);
...
...
@@ -159,7 +163,7 @@ class installer extends installer_base {
copy
(
'tpl/debian6_dovecot.conf.master'
,
$config_dir
.
'/'
.
$configfile
);
}
}
$dovecot_protocols
=
'imap pop3'
;
//* dovecot-lmtpd
...
...
@@ -196,7 +200,7 @@ class installer extends installer_base {
chmod
(
$config_dir
.
'/'
.
$configfile
,
0600
);
chown
(
$config_dir
.
'/'
.
$configfile
,
'root'
);
chgrp
(
$config_dir
.
'/'
.
$configfile
,
'root'
);
// Dovecot shall ignore mounts in website directory
if
(
is_installed
(
'doveadm'
))
exec
(
"doveadm mount add '/var/www/*' ignore > /dev/null 2> /dev/null"
);
...
...
Write
Preview
Supports
Markdown
0%
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!
Cancel
Please
register
or
sign in
to comment