diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master index ee7dcac076e68ab26df912ac3428e3f432d5b29a..75f6a72e87286937c78e3312d10b3e5c6d27383b 100644 --- a/server/conf/vhost.conf.master +++ b/server/conf/vhost.conf.master @@ -215,6 +215,7 @@ <tmpl_if name='cgi' op='==' value='y'> # cgi enabled <Directory {tmpl_var name='document_root'}/cgi-bin> + AllowOverride <tmpl_var name='allow_override'> <tmpl_if name='apache_version' op='>' value='2.2' format='version'> Require all granted <tmpl_else> diff --git a/server/cron.php b/server/cron.php index ba59ff404927421b7743c85ab757fb98e26ecaaa..ef13d06e2f3b072c4d806db6f236325e25153339 100644 --- a/server/cron.php +++ b/server/cron.php @@ -33,24 +33,33 @@ require SCRIPT_PATH."/lib/config.inc.php"; // Check whether another instance of this script is already running $lockFile = $conf['temppath'] . $conf['fs_div'] . '.ispconfig_cron_lock'; -if (is_file($lockFile)) { +if(is_file($lockFile)) { clearstatcache(); - - // Maybe we hit a deadlock and the lock file is no longer relevant - if(filemtime($lockFile) > time() - 86400) { // 86400 seconds = 1 day - if($conf['log_priority'] <= LOGLEVEL_WARN) print @date('d.m.Y-H:i').' - WARNING - The cron lock file is older than one day.' . "\n"; - exit; - } - - // Check if the process id we have in the lock file is still present + +// Check if the process id we have in the lock file is still present $pid = trim(file_get_contents($lockFile)); if(preg_match('/^[0-9]+$/', $pid)) { - if(file_exists('/proc/' . $pid)) { - if($conf['log_priority'] <= LOGLEVEL_WARN) print @date('d.m.Y-H:i').' - WARNING - There is already an instance of server.php running with pid ' . $pid . '.' . "\n"; - exit; + if(is_dir('/proc/' . $pid)) { + if(file_exists('/proc/' . $pid . '/cmdline')) { + if(strpos(file_get_contents('/proc/' . $pid . '/cmdline'), 'cron.php') !== false) { + if($conf['log_priority'] <= LOGLEVEL_WARN) print @date('d.m.Y-H:i').' - WARNING - There is already an instance of cron.php running with pid ' . $pid . '.' . "\n"; + exit; + } else { + if($conf['log_priority'] <= LOGLEVEL_WARN) print @date('d.m.Y-H:i').' - WARNING - There is a process running with pid ' . $pid . ' but it seems not to be cron.php, continuing.' . "\n"; + } + } else { + if(filemtime($lockFile) < time() - 86400) { + if($conf['log_priority'] <= LOGLEVEL_WARN) print @date('d.m.Y-H:i').' - WARNING - There is already an instance of cron.php running with pid ' . $pid . ' but process is older than 1 day. Continuing.' . "\n"; + } else { + if($conf['log_priority'] <= LOGLEVEL_WARN) print @date('d.m.Y-H:i').' - WARNING - There is already an instance of cron.php running with pid ' . $pid . '.' . "\n"; + exit; + } + } + } else { + if($conf['log_priority'] <= LOGLEVEL_WARN) print @date('d.m.Y-H:i').' - WARNING - There is already a lockfile set, but no process running with this pid (' . $pid . '). Continuing.' . "\n"; + } } - if($conf['log_priority'] <= LOGLEVEL_WARN) print @date('d.m.Y-H:i').' - WARNING - There is already a lockfile set, but no process running with this pid (' . $pid . '). Continuing.' . "\n"; } // Set Lockfile @@ -69,7 +78,7 @@ $conf['server_id'] = intval($conf['server_id']); // Load required base-classes -$app->uses('modules,ini_parser,file,services,getconf,system,cron,functions'); +$app->uses('modules,ini_parser,file,services,getconf,system,cron,functions,plugins'); $app->load('libdatetime,cronjob'); // read all cron jobs diff --git a/server/lib/classes/monitor_tools.inc.php b/server/lib/classes/monitor_tools.inc.php index a15514fd728392d30dc45a5b8ab99a98862ef468..1d3dab290b318247be421678c774c1db04bb7e91 100644 --- a/server/lib/classes/monitor_tools.inc.php +++ b/server/lib/classes/monitor_tools.inc.php @@ -217,21 +217,18 @@ class monitor_tools { $distconfid = 'debian100'; $distid = 'debian60'; $distbaseid = 'debian'; - swriteln("Operating System: Debian 10.0 (Buster) or compatible\n"); } elseif(strstr(trim(file_get_contents('/etc/debian_version')), '/sid')) { $distname = 'Debian'; $distver = 'Testing'; $distid = 'debian60'; $distconfid = 'debiantesting'; $distbaseid = 'debian'; - swriteln("Operating System: Debian Testing\n"); } else { $distname = 'Debian'; $distver = 'Unknown'; $distid = 'debian60'; $distconfid = 'debian100'; $distbaseid = 'debian'; - swriteln("Operating System: Debian or compatible, unknown version.\n"); } }