function framework() { $unix = new unix(); if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, Framework...\n"; } $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $pid = $unix->get_pid_from_file($pidfile); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx Already Artica task running PID {$pid} since {$time}mn\n"; } return; } @file_put_contents($pidfile, getmypid()); if (!is_file("/etc/artica-postfix/WORDPRESS_APPLIANCE")) { $lighttpdbin = $unix->find_program("lighttpd"); if (is_file($lighttpdbin)) { if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, {$lighttpdbin} OK turn, to lighttpd...\n"; } return; } } if (!is_file("/etc/php5/fpm/pool.d/framework.conf")) { $php = $unix->LOCATE_PHP5_BIN(); shell_exec("{$php} /usr/share/artica-postfix/exec.php-fpm.php --build"); } if (!is_file("/etc/php5/fpm/pool.d/framework.conf")) { if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, Unable to stat framework settings\n"; } return; } if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, building framework...\n"; } $host = new nginx(47980); $host->set_proxy_disabled(); $host->set_DocumentRoot("/usr/share/artica-postfix/framework"); $host->set_framework(); $host->build_proxy(); $PID = PID_NUM(); if (!$unix->process_exists($PID)) { if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, not started, start it...\n"; } start(true); } $kill = $unix->find_program("kill"); if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, reloading PID {$PID}\n"; } shell_exec("{$kill} -HUP {$PID} >/dev/null 2>&1"); }
function configure_single_freeweb($servername) { $q = new mysql(); $unix = new unix(); $php = $unix->LOCATE_PHP5_BIN(); $ligne = mysql_fetch_array($q->QUERY_SQL("SELECT * from freeweb WHERE servername='{$servername}'", "artica_backup")); $free = new freeweb($servername); $NginxFrontEnd = $free->NginxFrontEnd; $groupware = $free->groupware; build_progress("{$servername}: {$groupware}", 20); $NOPROXY["SARG"] = true; $NOPROXY["ARTICA_MINIADM"] = true; $NOPROXY["WORDPRESS"] = true; $NOPROXY[null] = true; $q2 = new mysql_squid_builder(); $ligne2 = mysql_fetch_array($q2->QUERY_SQL("SELECT cacheid FROM reverse_www WHERE servername='{$ligne["servername"]}'")); $host = new nginx($servername); if ($host->owa == 1) { $nginx_exchange = new nginx_exchange($servername); build_progress("{$servername}: {building}", 50); $nginx_exchange->buildConfig(); build_progress("{$servername}: {building} {done}", 90); return; } if (isset($NOPROXY[$groupware])) { build_progress("{$servername}: compile as FRONT-END", 30); if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, {$servername} compile as FRONT-END\n"; } $free->CheckWorkingDirectory(); $host->set_proxy_disabled(); $host->set_DocumentRoot($free->WORKING_DIRECTORY); if ($groupware == "SARG") { $host->SargDir(); } if ($groupware == "WORDPRESS") { if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx,{$php} /usr/share/artica-postfix/exec.wordpress.php \"{$servername}\"\n"; } system("{$php} /usr/share/artica-postfix/exec.wordpress.php \"{$servername}\""); $host->WORDPRESS = true; $host->set_index_file("index.php"); } } else { build_progress("{$servername}: {building}", 30); $host->set_freeweb(); $host->set_storeid($ligne2["cacheid"]); } if ($free->groupware == "Z-PUSH") { $host->NoErrorPages = true; } if ($free->groupware == "WORDPRESS") { $host->WORDPRESS = true; } $host->set_servers_aliases($free->Params["ServerAlias"]); if ($groupware == "ZARAFA") { if ($free->NginxFrontEnd == 1) { $host->groupware_zarafa_Frontend(); return; } } if ($GLOBALS["OUTPUT"]) { echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, {$servername} building configuration...\n"; } build_progress("{$servername}: {building}", 50); $host->build_proxy(); build_progress("{$servername}: {building} {done}", 90); }