Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Register
Sign in
Toggle navigation
Menu
Open sidebar
ISPConfig
ISPConfig 3
Commits
33bcd006
Commit
33bcd006
authored
Oct 21, 2013
by
Falko Timme
Browse files
- Added support for systemd and upstart (besides sysvinit).
parent
2d2fd172
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
install/autoupdate.php
View file @
33bcd006
...
...
@@ -303,30 +303,48 @@ $inst->install_crontab();
//** Restart services:
swriteln
(
'Restarting services ...'
);
if
(
$conf
[
'mysql'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mysql'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mysql'
][
'init_script'
]
.
' reload'
);
if
(
$conf
[
'mysql'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'mysql'
][
'init_script'
],
'reload'
));
//if($conf['mysql']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mysql']['init_script'])) system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' reload');
if
(
$conf
[
'services'
][
'mail'
])
{
if
(
$conf
[
'postfix'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'postfix'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'postfix'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'saslauthd'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'saslauthd'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'saslauthd'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'amavis'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'amavis'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'amavis'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'clamav'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'clamav'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'clamav'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'courier'
][
'courier-authdaemon'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-authdaemon'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-authdaemon'
]
.
' restart'
);
if
(
$conf
[
'courier'
][
'courier-imap'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap'
]
.
' restart'
);
if
(
$conf
[
'courier'
][
'courier-imap-ssl'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap-ssl'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap-ssl'
]
.
' restart'
);
if
(
$conf
[
'courier'
][
'courier-pop'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop'
]
.
' restart'
);
if
(
$conf
[
'courier'
][
'courier-pop-ssl'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop-ssl'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop-ssl'
]
.
' restart'
);
if
(
$conf
[
'dovecot'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'dovecot'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'dovecot'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'mailman'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mailman'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mailman'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'postfix'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'postfix'
][
'init_script'
],
'restart'
));
//if($conf['postfix']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['postfix']['init_script'])) system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart');
if
(
$conf
[
'saslauthd'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'saslauthd'
][
'init_script'
],
'restart'
));
//if($conf['saslauthd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'])) system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart');
if
(
$conf
[
'amavis'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'amavis'
][
'init_script'
],
'restart'
));
//if($conf['amavis']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['amavis']['init_script'])) system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart');
if
(
$conf
[
'clamav'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'clamav'
][
'init_script'
],
'restart'
));
//if($conf['clamav']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['clamav']['init_script'])) system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart');
if
(
$conf
[
'courier'
][
'courier-authdaemon'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'courier'
][
'courier-authdaemon'
],
'restart'
));
//if($conf['courier']['courier-authdaemon'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart');
if
(
$conf
[
'courier'
][
'courier-imap'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'courier'
][
'courier-imap'
],
'restart'
));
//if($conf['courier']['courier-imap'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart');
if
(
$conf
[
'courier'
][
'courier-imap-ssl'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'courier'
][
'courier-imap-ssl'
],
'restart'
));
//if($conf['courier']['courier-imap-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart');
if
(
$conf
[
'courier'
][
'courier-pop'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'courier'
][
'courier-pop'
],
'restart'
));
//if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
if
(
$conf
[
'courier'
][
'courier-pop-ssl'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'courier'
][
'courier-pop-ssl'
],
'restart'
));
//if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
if
(
$conf
[
'dovecot'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'dovecot'
][
'init_script'
],
'restart'
));
//if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart');
if
(
$conf
[
'mailman'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'mailman'
][
'init_script'
],
'restart'
));
//if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script'])) system($conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart');
}
if
(
$conf
[
'services'
][
'web'
])
{
if
(
$conf
[
'webserver'
][
'server_type'
]
==
'apache'
&&
$conf
[
'apache'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'apache'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'apache'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'webserver'
][
'server_type'
]
==
'apache'
&&
$conf
[
'apache'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'apache'
][
'init_script'
],
'restart'
));
//if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
//* Reload is enough for nginx
if
(
$conf
[
'webserver'
][
'server_type'
]
==
'nginx'
&&
$conf
[
'nginx'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'nginx'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'nginx'
][
'init_script'
]
.
' reload'
);
if
(
$conf
[
'pureftpd'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'pureftpd'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'pureftpd'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'webserver'
][
'server_type'
]
==
'nginx'
&&
$conf
[
'nginx'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'nginx'
][
'init_script'
],
'reload'
));
//if($conf['webserver']['server_type'] == 'nginx' && $conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' reload');
if
(
$conf
[
'pureftpd'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'pureftpd'
][
'init_script'
],
'restart'
));
//if($conf['pureftpd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
}
if
(
$conf
[
'services'
][
'dns'
])
{
if
(
$conf
[
'mydns'
][
'installed'
]
==
true
&&
$conf
[
'mydns'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mydns'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mydns'
][
'init_script'
]
.
' restart &> /dev/null'
);
if
(
$conf
[
'powerdns'
][
'installed'
]
==
true
&&
$conf
[
'powerdns'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'powerdns'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'powerdns'
][
'init_script'
]
.
' restart &> /dev/null'
);
if
(
$conf
[
'bind'
][
'installed'
]
==
true
&&
$conf
[
'bind'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'bind'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'bind'
][
'init_script'
]
.
' restart &> /dev/null'
);
if
(
$conf
[
'mydns'
][
'installed'
]
==
true
&&
$conf
[
'mydns'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'mydns'
][
'init_script'
],
'restart'
)
.
' &> /dev/null'
);
//if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
if
(
$conf
[
'powerdns'
][
'installed'
]
==
true
&&
$conf
[
'powerdns'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'powerdns'
][
'init_script'
],
'restart'
)
.
' &> /dev/null'
);
//if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['powerdns']['init_script'])) system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null');
if
(
$conf
[
'bind'
][
'installed'
]
==
true
&&
$conf
[
'bind'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'bind'
][
'init_script'
],
'restart'
)
.
' &> /dev/null'
);
//if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null');
}
echo
"Update finished.
\n
"
;
...
...
install/install.php
View file @
33bcd006
This diff is collapsed.
Click to expand it.
install/lib/installer_base.lib.php
View file @
33bcd006
...
...
@@ -1109,7 +1109,8 @@ class installer_base {
if
(
is_file
(
'/etc/inetd.conf'
))
{
replaceLine
(
'/etc/inetd.conf'
,
'/usr/sbin/pure-ftpd-wrapper'
,
'#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper'
,
0
,
0
);
if
(
is_file
(
$conf
[
'init_scripts'
]
.
'/'
.
'openbsd-inetd'
))
exec
(
$conf
[
'init_scripts'
]
.
'/'
.
'openbsd-inetd restart'
);
exec
(
$inst
->
getinitcommand
(
'openbsd-inetd'
,
'restart'
));
//if(is_file($conf['init_scripts'].'/'.'openbsd-inetd')) exec($conf['init_scripts'].'/'.'openbsd-inetd restart');
}
if
(
!
is_file
(
'/etc/pure-ftpd/conf/DontResolve'
))
exec
(
'echo "yes" > /etc/pure-ftpd/conf/DontResolve'
);
...
...
@@ -2144,6 +2145,23 @@ class installer_base {
chmod
(
$conf
[
'ispconfig_log_dir'
]
.
'/cron.log'
,
0660
);
}
public
function
getinitcommand
(
$servicename
,
$action
,
$init_script_directory
=
''
){
global
$conf
;
// systemd
if
(
is_executable
(
'/bin/systemd'
)){
return
'systemctl '
.
$action
.
' '
.
$servicename
.
'.service'
;
}
// upstart
if
(
is_executable
(
'/sbin/initctl'
)){
exec
(
'/sbin/initctl version 2>/dev/null | /bin/grep -q upstart'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
if
(
intval
(
$retval
[
'retval'
])
==
0
)
return
'service '
.
$servicename
.
' '
.
$action
;
}
// sysvinit
if
(
$init_script_directory
==
''
)
$init_script_directory
=
$conf
[
'init_scripts'
];
if
(
substr
(
$init_script_directory
,
-
1
)
===
'/'
)
$init_script_directory
=
substr
(
$init_script_directory
,
0
,
-
1
);
return
$init_script_directory
.
'/'
.
$servicename
.
' '
.
$action
;
}
/**
* Helper function - get the path to a template file based on
...
...
install/update.php
View file @
33bcd006
...
...
@@ -394,38 +394,58 @@ if($update_crontab_answer == 'yes') {
//** Restart services:
if
(
$reconfigure_services_answer
==
'yes'
)
{
swriteln
(
'Restarting services ...'
);
if
(
$conf
[
'mysql'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mysql'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mysql'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'mysql'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'mysql'
][
'init_script'
],
'restart'
));
//if($conf['mysql']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mysql']['init_script'])) system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' restart');
if
(
$conf
[
'services'
][
'mail'
])
{
if
(
$conf
[
'postfix'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'postfix'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'postfix'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'saslauthd'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'saslauthd'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'saslauthd'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'amavis'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'amavis'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'amavis'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'clamav'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'clamav'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'clamav'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'courier'
][
'courier-authdaemon'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-authdaemon'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-authdaemon'
]
.
' restart'
);
if
(
$conf
[
'courier'
][
'courier-imap'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap'
]
.
' restart'
);
if
(
$conf
[
'courier'
][
'courier-imap-ssl'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap-ssl'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-imap-ssl'
]
.
' restart'
);
if
(
$conf
[
'courier'
][
'courier-pop'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop'
]
.
' restart'
);
if
(
$conf
[
'courier'
][
'courier-pop-ssl'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop-ssl'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'courier'
][
'courier-pop-ssl'
]
.
' restart'
);
if
(
$conf
[
'dovecot'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'dovecot'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'dovecot'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'mailman'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mailman'
][
'init_script'
]))
system
(
'nohup '
.
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mailman'
][
'init_script'
]
.
' restart >/dev/null 2>&1 &'
);
if
(
$conf
[
'postfix'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'postfix'
][
'init_script'
],
'restart'
));
//if($conf['postfix']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['postfix']['init_script'])) system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart');
if
(
$conf
[
'saslauthd'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'saslauthd'
][
'init_script'
],
'restart'
));
//if($conf['saslauthd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'])) system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart');
if
(
$conf
[
'amavis'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'amavis'
][
'init_script'
],
'restart'
));
//if($conf['amavis']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['amavis']['init_script'])) system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart');
if
(
$conf
[
'clamav'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'clamav'
][
'init_script'
],
'restart'
));
//if($conf['clamav']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['clamav']['init_script'])) system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart');
if
(
$conf
[
'courier'
][
'courier-authdaemon'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'courier'
][
'courier-authdaemon'
],
'restart'
));
//if($conf['courier']['courier-authdaemon'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart');
if
(
$conf
[
'courier'
][
'courier-imap'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'courier'
][
'courier-imap'
],
'restart'
));
//if($conf['courier']['courier-imap'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart');
if
(
$conf
[
'courier'
][
'courier-imap-ssl'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'courier'
][
'courier-imap-ssl'
],
'restart'
));
//if($conf['courier']['courier-imap-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart');
if
(
$conf
[
'courier'
][
'courier-pop'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'courier'
][
'courier-pop'
],
'restart'
));
//if($conf['courier']['courier-pop'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
if
(
$conf
[
'courier'
][
'courier-pop-ssl'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'courier'
][
'courier-pop-ssl'
],
'restart'
));
//if($conf['courier']['courier-pop-ssl'] != '' && is_executable($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
if
(
$conf
[
'dovecot'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'dovecot'
][
'init_script'
],
'restart'
));
//if($conf['dovecot']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['dovecot']['init_script'])) system($conf['init_scripts'].'/'.$conf['dovecot']['init_script'].' restart');
if
(
$conf
[
'mailman'
][
'init_script'
]
!=
''
)
system
(
'nohup '
.
$inst
->
getinitcommand
(
$conf
[
'mailman'
][
'init_script'
],
'restart'
)
.
' >/dev/null 2>&1 &'
);
//if($conf['mailman']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mailman']['init_script'])) system('nohup '.$conf['init_scripts'].'/'.$conf['mailman']['init_script'].' restart >/dev/null 2>&1 &');
}
if
(
$conf
[
'services'
][
'web'
])
{
if
(
$conf
[
'webserver'
][
'server_type'
]
==
'apache'
&&
$conf
[
'apache'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'apache'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'apache'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'webserver'
][
'server_type'
]
==
'apache'
&&
$conf
[
'apache'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'apache'
][
'init_script'
],
'restart'
));
//if($conf['webserver']['server_type'] == 'apache' && $conf['apache']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['apache']['init_script'])) system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
//* Reload is enough for nginx
if
(
$conf
[
'webserver'
][
'server_type'
]
==
'nginx'
){
if
(
$conf
[
'nginx'
][
'php_fpm_init_script'
]
!=
''
&&
@
is_file
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'nginx'
][
'php_fpm_init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'nginx'
][
'php_fpm_init_script'
]
.
' reload'
);
if
(
$conf
[
'nginx'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'nginx'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'nginx'
][
'init_script'
]
.
' reload'
);
if
(
$conf
[
'nginx'
][
'php_fpm_init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'nginx'
][
'php_fpm_init_script'
],
'reload'
));
//if($conf['nginx']['php_fpm_init_script'] != '' && @is_file($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['php_fpm_init_script'].' reload');
if
(
$conf
[
'nginx'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'nginx'
][
'init_script'
],
'reload'
));
//if($conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' reload');
}
if
(
$conf
[
'pureftpd'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'pureftpd'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'pureftpd'
][
'init_script'
]
.
' restart'
);
if
(
$conf
[
'pureftpd'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'pureftpd'
][
'init_script'
],
'restart'
));
//if($conf['pureftpd']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'])) system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
}
if
(
$conf
[
'services'
][
'dns'
])
{
if
(
$conf
[
'mydns'
][
'installed'
]
==
true
&&
$conf
[
'mydns'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mydns'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'mydns'
][
'init_script'
]
.
' restart &> /dev/null'
);
if
(
$conf
[
'powerdns'
][
'installed'
]
==
true
&&
$conf
[
'powerdns'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'powerdns'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'powerdns'
][
'init_script'
]
.
' restart &> /dev/null'
);
if
(
$conf
[
'bind'
][
'installed'
]
==
true
&&
$conf
[
'bind'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'bind'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'bind'
][
'init_script'
]
.
' restart &> /dev/null'
);
if
(
$conf
[
'mydns'
][
'installed'
]
==
true
&&
$conf
[
'mydns'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'mydns'
][
'init_script'
],
'restart'
)
.
' &> /dev/null'
);
//if($conf['mydns']['installed'] == true && $conf['mydns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['mydns']['init_script'])) system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
if
(
$conf
[
'powerdns'
][
'installed'
]
==
true
&&
$conf
[
'powerdns'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'powerdns'
][
'init_script'
],
'restart'
)
.
' &> /dev/null'
);
//if($conf['powerdns']['installed'] == true && $conf['powerdns']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['powerdns']['init_script'])) system($conf['init_scripts'].'/'.$conf['powerdns']['init_script'].' restart &> /dev/null');
if
(
$conf
[
'bind'
][
'installed'
]
==
true
&&
$conf
[
'bind'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'bind'
][
'init_script'
],
'restart'
)
.
' &> /dev/null'
);
//if($conf['bind']['installed'] == true && $conf['bind']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['bind']['init_script'])) system($conf['init_scripts'].'/'.$conf['bind']['init_script'].' restart &> /dev/null');
}
if
(
$conf
[
'services'
][
'proxy'
])
{
// if($conf['squid']['installed'] == true && $conf['squid']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['squid']['init_script'])) system($conf['init_scripts'].'/'.$conf['squid']['init_script'].' restart &> /dev/null');
if
(
$conf
[
'nginx'
][
'installed'
]
==
true
&&
$conf
[
'nginx'
][
'init_script'
]
!=
''
&&
is_executable
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'nginx'
][
'init_script'
]))
system
(
$conf
[
'init_scripts'
]
.
'/'
.
$conf
[
'nginx'
][
'init_script'
]
.
' restart &> /dev/null'
);
if
(
$conf
[
'nginx'
][
'installed'
]
==
true
&&
$conf
[
'nginx'
][
'init_script'
]
!=
''
)
system
(
$inst
->
getinitcommand
(
$conf
[
'nginx'
][
'init_script'
],
'restart'
)
.
' &> /dev/null'
);
//if($conf['nginx']['installed'] == true && $conf['nginx']['init_script'] != '' && is_executable($conf['init_scripts'].'/'.$conf['nginx']['init_script'])) system($conf['init_scripts'].'/'.$conf['nginx']['init_script'].' restart &> /dev/null');
}
if
(
$conf
[
'services'
][
'firewall'
])
{
...
...
server/lib/classes/system.inc.php
View file @
33bcd006
...
...
@@ -1597,6 +1597,23 @@ class system{
exec
(
$cmd
,
$output
,
$return_var
);
return
$return_var
==
0
?
true
:
false
;
}
function
getinitcommand
(
$servicename
,
$action
,
$init_script_directory
=
''
){
global
$conf
;
// systemd
if
(
is_executable
(
'/bin/systemd'
)){
return
'systemctl '
.
$action
.
' '
.
$servicename
.
'.service'
;
}
// upstart
if
(
is_executable
(
'/sbin/initctl'
)){
exec
(
'/sbin/initctl version 2>/dev/null | /bin/grep -q upstart'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
if
(
intval
(
$retval
[
'retval'
])
==
0
)
return
'service '
.
$servicename
.
' '
.
$action
;
}
// sysvinit
if
(
$init_script_directory
==
''
)
$init_script_directory
=
$conf
[
'init_scripts'
];
if
(
substr
(
$init_script_directory
,
-
1
)
===
'/'
)
$init_script_directory
=
substr
(
$init_script_directory
,
0
,
-
1
);
return
$init_script_directory
.
'/'
.
$servicename
.
' '
.
$action
;
}
}
?>
server/mods-available/dns_module.inc.php
View file @
33bcd006
...
...
@@ -121,6 +121,8 @@ class dns_module {
function
restartBind
(
$action
=
'restart'
)
{
global
$app
,
$conf
;
$app
->
uses
(
'system'
);
$daemon
=
''
;
if
(
is_file
(
$conf
[
'init_scripts'
]
.
'/'
.
'bind9'
))
{
$daemon
=
'bind9'
;
...
...
@@ -130,9 +132,9 @@ class dns_module {
$retval
=
array
(
'output'
=>
''
,
'retval'
=>
0
);
if
(
$action
==
'restart'
)
{
exec
(
$
conf
[
'init_scripts'
]
.
'/'
.
$daemon
.
'
restart 2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
exec
(
$
app
->
system
->
getinitcommand
(
$daemon
,
'restart
'
)
.
'
2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
}
else
{
exec
(
$
conf
[
'init_scripts'
]
.
'/'
.
$daemon
.
'
reload 2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
exec
(
$
app
->
system
->
getinitcommand
(
$daemon
,
'reload
'
)
.
'
2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
}
return
$retval
;
}
...
...
@@ -140,6 +142,7 @@ class dns_module {
function
restartPowerDNS
(
$action
=
'restart'
)
{
global
$app
,
$conf
;
$app
->
uses
(
'system'
);
$app
->
log
(
"restartPDNS called."
,
LOGLEVEL_DEBUG
);
/** Since PowerDNS does not currently allow to limit AXFR for specific zones to specific
...
...
@@ -179,7 +182,7 @@ class dns_module {
}
$retval
=
array
(
'output'
=>
''
,
'retval'
=>
0
);
exec
(
$
conf
[
'init_scripts'
]
.
'/'
.
$daemon
.
'
restart 2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
exec
(
$
app
->
system
->
getinitcommand
(
$daemon
,
'restart
'
)
.
'
2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
// unset $tmps;
return
$retval
;
...
...
server/mods-available/rescue_core_module.inc.php
View file @
33bcd006
...
...
@@ -363,6 +363,7 @@ class rescue_core_module {
private
function
_rescueDaemon
(
$daemon
){
global
$conf
;
$app
->
uses
(
'system'
);
// if you need to find all restarts search for "['init_scripts']"
/*
* First we stop the running service "normally"
...
...
@@ -374,7 +375,7 @@ class rescue_core_module {
* So we have to try to stop but if this will not work, we have to kill the stopping
* of the service
*/
exec
(
$
conf
[
'init_scripts'
]
.
'/'
.
$daemon
.
'
stop && (sleep 3; kill $!; sleep 2; kill -9 $!) &> /dev/null'
);
exec
(
$
app
->
system
->
getinitcommand
(
$daemon
,
'stop
'
)
.
'
&& (sleep 3; kill $!; sleep 2; kill -9 $!) &> /dev/null'
);
/*
* OK, we tryed to stop it normally, maybe this worked maybe not. So we have to look
...
...
@@ -385,7 +386,7 @@ class rescue_core_module {
/*
* There are no more zombies left. Lets start the service..
*/
exec
(
$
conf
[
'init_scripts'
]
.
'/'
.
$daemon
.
'
start'
);
exec
(
$
app
->
system
->
getinitcommand
(
$daemon
,
'start'
)
)
;
}
}
?>
server/mods-available/web_module.inc.php
View file @
33bcd006
...
...
@@ -194,7 +194,7 @@ class web_module {
global
$app
,
$conf
;
// load the server configuration options
$app
->
uses
(
'getconf'
);
$app
->
uses
(
'getconf
,system
'
);
$web_config
=
$app
->
getconf
->
get_server_config
(
$conf
[
'server_id'
],
'web'
);
$daemon
=
''
;
...
...
@@ -212,9 +212,10 @@ class web_module {
$retval
=
array
(
'output'
=>
''
,
'retval'
=>
0
);
if
(
$action
==
'restart'
)
{
exec
(
$conf
[
'init_scripts'
]
.
'/'
.
$daemon
.
' restart 2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
exec
(
$app
->
system
->
getinitcommand
(
$daemon
,
'restart'
)
.
' 2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
}
else
{
exec
(
$
conf
[
'init_scripts'
]
.
'/'
.
$daemon
.
'
reload 2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
exec
(
$
app
->
system
->
getinitcommand
(
$daemon
,
'reload
'
)
.
'
2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
}
return
$retval
;
}
...
...
@@ -223,15 +224,21 @@ class web_module {
global
$app
,
$conf
;
// load the server configuration options
$app
->
uses
(
'getconf'
);
$app
->
uses
(
'getconf
,system
'
);
$web_config
=
$app
->
getconf
->
get_server_config
(
$conf
[
'server_id'
],
'web'
);
list
(
$action
,
$init_script
)
=
explode
(
':'
,
$action
);
if
(
!
$init_script
)
$init_script
=
$conf
[
'init_scripts'
]
.
'/'
.
$web_config
[
'php_fpm_init_script'
];
if
(
!
$init_script
){
//$init_script = $conf['init_scripts'].'/'.$web_config['php_fpm_init_script'];
$initcommand
=
$app
->
system
->
getinitcommand
(
$web_config
[
'php_fpm_init_script'
],
$action
);
}
else
{
$path_parts
=
pathinfo
(
$init_script
);
$initcommand
=
$app
->
system
->
getinitcommand
(
$path_parts
[
'basename'
],
$action
,
$path_parts
[
'dirname'
]);
}
$retval
=
array
(
'output'
=>
''
,
'retval'
=>
0
);
exec
(
$init
_script
.
' '
.
$action
.
' 2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
exec
(
$init
command
.
' 2>&1'
,
$retval
[
'output'
],
$retval
[
'retval'
]);
return
$retval
;
}
...
...
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