Пример #1
0
function BuildArticaInNginx()
{
    $sock = new sockets();
    $unix = new unix();
    $BuildFrameWorkInNginx = false;
    $EnableArticaFrontEndToNGninx = intval($sock->GET_INFO("EnableArticaFrontEndToNGninx"));
    if ($GLOBALS["OUTPUT"]) {
        echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, EnableArticaFrontEndToNGninx = {$EnableArticaFrontEndToNGninx}\n";
    }
    if ($EnableArticaFrontEndToNGninx == 0) {
        return;
    }
    $SargOutputDir = $sock->GET_INFO("SargOutputDir");
    if ($SargOutputDir == null) {
        $SargOutputDir = "/var/www/html/squid-reports";
    }
    if (!is_dir($SargOutputDir)) {
        @mkdir($SargOutputDir, 0755, true);
    }
    if (!is_file("{$SargOutputDir}/logo.gif")) {
        @copy("/usr/share/artica-postfix/css/images/logo.gif", "{$SargOutputDir}/logo.gif");
    }
    if (!is_file("{$SargOutputDir}/pattern.png")) {
        @copy("/usr/share/artica-postfix/css/images/pattern.png", "{$SargOutputDir}/pattern.png");
    }
    $phpfpm = $unix->APACHE_LOCATE_PHP_FPM();
    $EnablePHPFPM = $sock->GET_INFO("EnablePHPFPM");
    $EnableArticaApachePHPFPM = $sock->GET_INFO("EnableArticaApachePHPFPM");
    if (!is_numeric($EnableArticaApachePHPFPM)) {
        $EnableArticaApachePHPFPM = 0;
    }
    if ($EnableArticaApachePHPFPM == 0) {
        $EnablePHPFPM = 0;
    }
    $EnableSargGenerator = $sock->GET_INFO("EnableSargGenerator");
    if (!is_numeric($EnableSargGenerator)) {
        $EnableSargGenerator = 1;
    }
    if (!is_numeric($EnablePHPFPM)) {
        $EnablePHPFPM = 0;
    }
    if (!is_file($phpfpm)) {
        $EnablePHPFPM = 0;
    }
    if ($EnablePHPFPM == 1) {
        ToSyslog("Restarting PHP5-FPM");
        shell_exec("/etc/init.d/php5-fpm reload >/dev/null 2>&1");
    }
    $host = new nginx("0.0.0.0:9000");
    $host->set_ssl();
    $host->set_proxy_disabled();
    $host->set_DocumentRoot("/usr/share/artica-postfix");
    $host->set_index_file("admin.index.php");
    $host->build_proxy();
    $lighttpdbin = $unix->find_program("lighttpd");
    if (!is_file($lighttpdbin)) {
        $BuildFrameWorkInNginx = true;
    }
    if (is_file("/etc/artica-postfix/WORDPRESS_APPLIANCE")) {
        $BuildFrameWorkInNginx = true;
    }
    if ($EnableSargGenerator == 1) {
        if ($GLOBALS["OUTPUT"]) {
            echo "Starting......: " . date("H:i:s") . " [INIT]: Nginx, SARG is enabled...\n";
        }
        $host->SargDir();
        $host->build_proxy();
    }
    if ($BuildFrameWorkInNginx) {
        if (is_file("/etc/php5/fpm/pool.d/framework.conf")) {
            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->set_listen_ip("127.0.0.1");
            $host->set_servers_aliases(array("127.0.0.1"));
            $host->build_proxy();
        }
    }
}
Пример #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);
}