示例#1
0
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");
}
示例#2
0
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);
}