From df0089f3adb62ad40d0ec3296eddc52f6b4463fe Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Mon, 08 Jun 2009 02:45:15 -0400 Subject: [PATCH] - checking for correct working directory in install and update - checking for running instance in server.php --- install/install.php | 4 ++++ server/server.php | 5 +++++ install/update.php | 4 ++++ 3 files changed, 13 insertions(+), 0 deletions(-) diff --git a/install/install.php b/install/install.php index 9474eb5..6765170 100644 --- a/install/install.php +++ b/install/install.php @@ -53,6 +53,10 @@ //** Include the base class of the installer class require_once('lib/installer_base.lib.php'); +//** Ensure that current working directory is install directory +$cur_dir = getcwd(); +if(realpath(dirname(__FILE__)) != $cur_dir) die("Please run installation/update from _inside_ the install directory!\n"); + //** Install logfile define('ISPC_LOG_FILE', '/var/log/ispconfig_install.log'); define('ISPC_INSTALL_ROOT', realpath(dirname(__FILE__).'/../')); diff --git a/install/update.php b/install/update.php index 727dfd0..2fb2d9b 100644 --- a/install/update.php +++ b/install/update.php @@ -53,6 +53,10 @@ //** Include the base class of the installer class require_once('lib/installer_base.lib.php'); +//** Ensure that current working directory is install directory +$cur_dir = getcwd(); +if(realpath(dirname(__FILE__)) != $cur_dir) die("Please run installation/update from _inside_ the install directory!\n"); + //** Install logfile define('ISPC_LOG_FILE', '/var/log/ispconfig_install.log'); define('ISPC_INSTALL_ROOT', realpath(dirname(__FILE__).'/../')); diff --git a/server/server.php b/server/server.php index 3646f81..fcb7e81 100644 --- a/server/server.php +++ b/server/server.php @@ -56,6 +56,11 @@ clearstatcache(); for($i=0;$i<1200;$i++){ // Wait max. 1200 sec, then proceed if(is_file($conf["temppath"].$conf["fs_div"].".ispconfig_lock")){ + exec("ps aux | grep '/usr/local/ispconfig/server/server.php' | grep -v 'grep' | wc -l", $check); + if(intval($check[0]) > 1) { // 1 because this is 2nd instance! + $app->log("There is already an instance of server.php running. Exiting.", LOGLEVEL_DEBUG); + exit; + } $app->log("There is already a lockfile set. Waiting another 10 seconds...", LOGLEVEL_DEBUG); sleep(10); clearstatcache(); -- Gitblit v1.9.1