当前位置: 首页>>代码示例>>PHP>>正文


PHP unix::APACHE_SRC_ACCOUNT方法代码示例

本文整理汇总了PHP中unix::APACHE_SRC_ACCOUNT方法的典型用法代码示例。如果您正苦于以下问题:PHP unix::APACHE_SRC_ACCOUNT方法的具体用法?PHP unix::APACHE_SRC_ACCOUNT怎么用?PHP unix::APACHE_SRC_ACCOUNT使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在unix的用法示例。


在下文中一共展示了unix::APACHE_SRC_ACCOUNT方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: install

function install($filename)
{
    $GLOBALS["PROGRESS_FILE"] = "/usr/share/artica-postfix/ressources/logs/squid.install.progress";
    $GLOBALS["LOG_FILE"] = "/usr/share/artica-postfix/ressources/logs/web/squid.install.progress.txt";
    $unix = new unix();
    $LINUX_CODE_NAME = $unix->LINUX_CODE_NAME();
    $LINUX_DISTRIBUTION = $unix->LINUX_DISTRIBUTION();
    $LINUX_VERS = $unix->LINUX_VERS();
    $LINUX_ARCHITECTURE = $unix->LINUX_ARCHITECTURE();
    $APACHEUSER = $unix->APACHE_SRC_ACCOUNT();
    $DebianVer = "debian{$LINUX_VERS[0]}";
    $TMP_DIR = $unix->TEMP_DIR();
    $ORGV = @file_get_contents("/usr/share/artica-postfix/VERSION");
    $PATCH_VER = null;
    $tarballs_file = "/usr/share/artica-postfix/ressources/conf/upload/{$filename}";
    echo "Package {$tarballs_file}\n";
    $size = filesize($tarballs_file);
    echo "Size....................: " . FormatBytes($size / 1024) . "\n";
    build_progress("Analyze...", 10);
    echo "Current system..........: {$LINUX_CODE_NAME} {$LINUX_DISTRIBUTION} {$LINUX_VERS[0]}/{$LINUX_VERS[1]} {$LINUX_ARCHITECTURE}\n";
    echo "Package.................: {$filename}\n";
    echo "Temp dir................: {$TMP_DIR}\n";
    if (!is_file($tarballs_file)) {
        echo "{$tarballs_file} no such file...\n";
        build_progress("No such file...", 110);
        return;
    }
    echo "Uncompressing {$tarballs_file}...\n";
    build_progress("{extracting} {$filename}...", 20);
    $chown = $unix->find_program("chown");
    $chmod = $unix->find_program("chmod");
    $tar = $unix->find_program("tar");
    $rm = $unix->find_program("rm");
    $nohup = $unix->find_program("nohup");
    $php = $unix->LOCATE_PHP5_BIN();
    $squid = $unix->LOCATE_SQUID_BIN();
    build_progress("{extracting} {$filename}...", 50);
    system("{$tar} xf {$tarballs_file} -C /");
    echo "Removing {$tarballs_file}...\n";
    @unlink($tarballs_file);
    shell_exec("{$rm} -rf /usr/share/artica-postfix/ressources/conf/upload/*");
    @unlink(dirname(__FILE__) . "/ressources/logs/squid.compilation.params");
    build_progress("{restarting} Squid-cache...", 60);
    system("/etc/init.d/squid restart --force");
    build_progress("{reconfiguring} Squid-cache...", 65);
    system("{$php} /usr/share/artica-postfix/exec.squid.php --build --force");
    build_progress("{reconfiguring} {APP_UFDBGUARD}...", 70);
    system("{$php} /usr/share/artica-postfix/exec.squidguard.php --build --force");
    build_progress("{restarting} {APP_C_ICAP}...", 80);
    system("/etc/init.d/c-icap restart");
    build_progress("Refresh local versions...", 90);
    system('/usr/share/artica-postfix/bin/process1 --force --verbose --' . time());
    $squid_version = x_squid_version();
    build_progress("{success} v.{$squid_version}...", 100);
    echo "Starting......: " . date("H:i:s") . " Done you can close the screen....\n";
}
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:56,代码来源:exec.squid.uncompress.php

示例2: apache_config

function apache_config()
{
    $sock = new sockets();
    $unix = new unix();
    $EnablePHPFPM = 0;
    $APACHE_SRC_ACCOUNT = $unix->APACHE_SRC_ACCOUNT();
    $APACHE_SRC_GROUP = $unix->APACHE_SRC_GROUP();
    if (preg_match("#APACHE_RUN_GROUP#", $APACHE_SRC_GROUP)) {
        $APACHE_SRC_GROUP = "www-data";
    }
    $LogFilePath = "/var/log/artica-wifidog/access.log";
    $directories[] = "/var/run/apache2";
    $directories[] = "/var/run/artica-apache";
    $directories[] = "/var/log/artica-wifidog";
    $directories[] = "/home/artica/hotspot/sessions";
    $directories[] = "/home/artica/hotspot/caches";
    while (list($index, $maindir) = each($directories)) {
        @mkdir($maindir, 0755, true);
        @chown($maindir, $APACHE_SRC_ACCOUNT);
        @chgrp($maindir, $APACHE_SRC_GROUP);
    }
    $ErrorLog = dirname($LogFilePath) . "/error.log";
    if (!is_file($LogFilePath)) {
        @touch($LogFilePath);
    }
    @chown($LogFilePath, $APACHE_SRC_ACCOUNT);
    @chgrp($LogFilePath, $APACHE_SRC_GROUP);
    if (!is_file($ErrorLog)) {
        @touch($ErrorLog);
    }
    @chown($ErrorLog, $APACHE_SRC_ACCOUNT);
    @chgrp($ErrorLog, $APACHE_SRC_GROUP);
    $APACHE_MODULES_PATH = $unix->APACHE_MODULES_PATH();
    $HotSpotMaxClients = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/HotSpotMaxClients"));
    $HotSpotStartServers = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/HotSpotStartServers"));
    $HotSpotForceDDOSDisable = intval(@file_get_contents("/etc/artica-postfix/settings/Daemons/HotSpotForceDDOSDisable"));
    if ($HotSpotMaxClients == 0) {
        $HotSpotMaxClients = 20;
    }
    if ($HotSpotStartServers == 0) {
        $HotSpotStartServers = 5;
    }
    $EnableArticaHotSpot = $sock->GET_INFO("EnableArticaHotSpot");
    $SquidHotSpotPort = $sock->GET_INFO("SquidHotSpotPort");
    $ArticaHotSpotPort = $sock->GET_INFO("ArticaHotSpotPort");
    $ArticaSSLHotSpotPort = $sock->GET_INFO("ArticaSSLHotSpotPort");
    $ArticaSplashHotSpotPort = $sock->GET_INFO("ArticaSplashHotSpotPort");
    $ArticaSplashHotSpotPortSSL = $sock->GET_INFO("ArticaSplashHotSpotPortSSL");
    if (!is_numeric($ArticaHotSpotPort)) {
        $ArticaHotSpotPort = 0;
    }
    if (!is_numeric($ArticaSplashHotSpotPort)) {
        $ArticaSplashHotSpotPort = 16080;
    }
    if (!is_numeric($ArticaSplashHotSpotPortSSL)) {
        $ArticaSplashHotSpotPortSSL = 16443;
    }
    $ArticaHotSpotInterface = $sock->GET_INFO("ArticaHotSpotInterface");
    $HospotHTTPServerName = trim($sock->GET_INFO("HospotHTTPServerName"));
    $HotSpotErrorRedirect = $sock->GET_INFO("HotSpotErrorRedirect");
    if ($HotSpotErrorRedirect == null) {
        $HotSpotErrorRedirect = "http://www.msftncsi.com";
    }
    $Params = unserialize($sock->GET_INFO("HotSpotEvasive"));
    $ApacheEvasiveInstalled = intval($sock->GET_INFO("ApacheEvasiveInstalled"));
    if (!is_numeric($Params["DOSEnable"])) {
        $Params["DOSEnable"] = 1;
    }
    if (!is_numeric($Params["DOSHashTableSize"])) {
        $Params["DOSHashTableSize"] = 1024;
    }
    if (!is_numeric($Params["DOSPageCount"])) {
        $Params["DOSPageCount"] = 3;
    }
    if (!is_numeric($Params["DOSSiteCount"])) {
        $Params["DOSSiteCount"] = 20;
    }
    if (!is_numeric($Params["DOSPageInterval"])) {
        $Params["DOSPageInterval"] = 1;
    }
    if (!is_numeric($Params["DOSSiteInterval"])) {
        $Params["DOSSiteInterval"] = 10;
    }
    if (!is_numeric($Params["DOSBlockingPeriod"])) {
        $Params["DOSBlockingPeriod"] = 5;
    }
    $unix = new unix();
    $NETWORK_ALL_INTERFACES = $unix->NETWORK_ALL_INTERFACES();
    $ipaddr = $NETWORK_ALL_INTERFACES[$ArticaHotSpotInterface]["IPADDR"];
    if ($GLOBALS["OUTPUT"]) {
        echo "Starting......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} HotSpot run as {$ArticaHotSpotInterface} ( {$ipaddr} )\n";
    }
    if ($ipaddr == "0.0.0.0") {
        $ipaddr = "*";
    }
    if ($ipaddr == null) {
        $ipaddr = "*";
    }
    $GLOBALS["HOSTPOT_WEB_INTERFACE"] = $ipaddr;
    $phpfpm = $unix->APACHE_LOCATE_PHP_FPM();
//.........这里部分代码省略.........
开发者ID:articatech,项目名称:artica,代码行数:101,代码来源:exec.hostpot-web.php

示例3: sessions_clean

function sessions_clean()
{
    $unix = new unix();
    $sock = new sockets();
    $TimeFile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".time";
    if ($unix->file_time_min($TimeFile) < 60) {
        return;
    }
    @unlink($TimeFile);
    @file_put_contents($TimeFile, time());
    $APACHE_SRC_ACCOUNT = $unix->APACHE_SRC_ACCOUNT();
    $APACHE_SRC_GROUP = $unix->APACHE_SRC_GROUP();
    $CleanPHPSessionTime = $sock->GET_INFO("CleanPHPSessionTime");
    if (!is_numeric($CleanPHPSessionTime)) {
        $CleanPHPSessionTime = 1440;
    }
    sessions_clean_parse("/var/lib/php5", $CleanPHPSessionTime, $APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP);
    sessions_clean_parse("/var/lib/php5-zarafa", $CleanPHPSessionTime, $APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP);
    sessions_clean_parse("/home/squid/error_page_sessions", $CleanPHPSessionTime, $APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP);
    sessions_clean_parse("/usr/share/artica-postfix/ressources/logs/jGrowl", 360, $APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP);
    sessions_clean_parse("/usr/share/artica-postfix/ressources/conf", 360, $APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP);
    sessions_clean_parse("/home/squid/error_page_cache", 60);
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:23,代码来源:exec.clean.logs.php

示例4: sessions_clean

function sessions_clean()
{
    $unix = new unix();
    $sock = new sockets();
    $TimeFile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".time";
    $APACHE_SRC_ACCOUNT = $unix->APACHE_SRC_ACCOUNT();
    $APACHE_SRC_GROUP = $unix->APACHE_SRC_GROUP();
    $CleanPHPSessionTime = $sock->GET_INFO("CleanPHPSessionTime");
    if (!is_numeric($CleanPHPSessionTime)) {
        $CleanPHPSessionTime = 2880;
    }
    if ($unix->file_time_min($TimeFile) < 60) {
        return;
    }
    @unlink($TimeFile);
    @file_put_contents($TimeFile, time());
    if ($CleanPHPSessionTime > 5) {
        if (is_dir("/var/lib/php5")) {
            foreach (glob("/var/lib/php5/*") as $filename) {
                $unix->chown_func($APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP, $filename);
                $time = $unix->file_time_min($filename);
                if ($time > 2880) {
                    $unix->_syslog("Clean: Remove PHP Session file " . basename($filename) . " {$time}Mn", basename(__FILE__));
                    @unlink($filename);
                }
            }
        }
        if (is_dir("/var/lib/php5-zarafa")) {
            foreach (glob("/var/lib/php5-zarafa/*") as $filename) {
                $time = $unix->file_time_min($filename);
                if ($time > 2880) {
                    $unix->_syslog("Clean: Remove PHP Zarafa Session file " . basename($filename) . " {$time}Mn", basename(__FILE__));
                    @unlink($filename);
                }
            }
        }
    }
    foreach (glob("/usr/share/artica-postfix/ressources/logs/jGrowl/*") as $filename) {
        $time = $unix->file_time_min($filename);
        if ($time > 360) {
            @unlink($filename);
        }
    }
    foreach (glob("/usr/share/artica-postfix/ressources/conf/*") as $filename) {
        $time = $unix->file_time_min($filename);
        if ($time > 360) {
            @unlink($filename);
        }
    }
}
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:50,代码来源:exec.clean.logs.php

示例5: build

function build()
{
    $unix = new unix();
    $sock = new sockets();
    $apache = $unix->APACHE_SRC_ACCOUNT();
    $apachegrp = $unix->APACHE_SRC_GROUP();
    $VSFTPDPort = intval($sock->GET_INFO("VSFTPDPort"));
    if ($VSFTPDPort == 0) {
        $VSFTPDPort = 21;
    }
    $VsFTPDPassive = $sock->GET_INFO("VsFTPDPassive");
    $VsFTPDFileOpenMode = $sock->GET_INFO("VsFTPDFileOpenMode");
    $VsFTPDLocalUmask = $sock->GET_INFO("VsFTPDLocalUmask");
    $ProFTPDRootLogin = intval($sock->GET_INFO("ProFTPDRootLogin"));
    if (!is_numeric($VsFTPDPassive)) {
        $VsFTPDPassive = 1;
    }
    if ($VsFTPDFileOpenMode == null) {
        $VsFTPDFileOpenMode = "0666";
    }
    if ($VsFTPDLocalUmask == null) {
        $VsFTPDLocalUmask = "077";
    }
    if ($VsFTPDFileOpenMode == null) {
        $VsFTPDFileOpenMode = "0666";
    }
    $VsFTPDLocalMaxRate = intval($sock->GET_INFO("VsFTPDLocalMaxRate"));
    $f[] = "ServerName\t\t\"FTP server {$unix->hostname_g}()\"";
    $f[] = "ServerType\t\tstandalone";
    $f[] = "DefaultServer\t\ton";
    $f[] = "Port\t\t\t\t{$VSFTPDPort}";
    $f[] = "UseIPv6\t\t\toff";
    $f[] = "Umask\t\t\t\t{$VsFTPDFileOpenMode} {$VsFTPDLocalUmask}";
    $f[] = "PidFile\t\t\t/var/run/proftpd.pid";
    $f[] = "MaxInstances\t\t30";
    $f[] = "User\t\t\t\t{$apache}";
    $f[] = "Group\t\t\t\t{$apachegrp}";
    if ($ProFTPDRootLogin == 1) {
        $f[] = "RootLogin\ton";
    } else {
        $f[] = "RootLogin\toff";
    }
    $f[] = "RequireValidShell\toff";
    $f[] = "DefaultRoot \t\t~";
    $f[] = "AllowOverwrite\ton";
    $f[] = "IdentLookups     \toff";
    $f[] = "UseReverseDNS    \toff";
    $f[] = "LogFormat         default \"%h %l %u %t \\\"%r\\\" %s %b\"";
    $f[] = "LogFormat\t\t\tauth    \"%v [%P] %h %t \\\"%r\\\" %s\"";
    $f[] = "LogFormat\t\t\twrite   \"%h %l %u %t \\\"%r\\\" %s %b\"";
    $f[] = "SystemLog \t\t/var/log/proftpd.log";
    $f[] = "TransferLog \t\t/var/log/xferlog";
    $f[] = "LoadModule \t\tmod_quotatab.c";
    $f[] = "LoadModule \t\tmod_quotatab_sql.c";
    $f[] = "";
    $f[] = "LoadModule \t\tmod_sql.c";
    $f[] = "LoadModule \t\tmod_sql_mysql.c";
    $f[] = "";
    $f[] = "LoadModule \t\tmod_ldap.c";
    $f[] = "";
    $f[] = "AuthOrder\t\t\tAuthOrder mod_sql.c mod_ldap.c";
    $f[] = "";
    if ($VsFTPDPassive == 1) {
        $pasv_min_port = intval($sock->GET_INFO("VsFTPDPassiveMinPort"));
        $pasv_max_port = intval($sock->GET_INFO("VsFTPDPassiveMaxPort"));
        if ($pasv_min_port == 0) {
            $pasv_min_port = 40000;
        }
        if ($pasv_max_port == 0) {
            $pasv_max_port = 40200;
        }
        $f[] = "PassivePorts {$pasv_min_port} {$pasv_max_port}";
        $VsFTPDPassiveAddr = $sock->GET_INFO("VsFTPDPassiveAddr");
        if ($VsFTPDPassiveAddr != null) {
            $f[] = "MasqueradeAddress {$VsFTPDPassiveAddr}";
        }
    }
    if ($VsFTPDLocalMaxRate > 0) {
        if (strpos($VsFTPDLocalMaxRate, ".") == 0) {
            $VsFTPDLocalMaxRate = "{$VsFTPDLocalMaxRate}.0";
        }
        $f[] = "TransferRate RETR {$VsFTPDLocalMaxRate}";
        $f[] = "TransferRate STOR {$VsFTPDLocalMaxRate}";
    }
    $f[] = "";
    $f[] = "# Bar use of SITE CHMOD by default";
    $f[] = "<Limit SITE_CHMOD>";
    $f[] = "  DenyAll";
    $f[] = "</Limit>";
    $f[] = "";
    $f[] = "# A basic anonymous configuration, no upload directories.  If you do not";
    $f[] = "# want anonymous users, simply delete this entire <Anonymous> section.";
    $f[] = "<Anonymous ~ftp>";
    $f[] = "  User\t\t\t\tftp";
    $f[] = "  Group\t\t\t\tftp";
    $f[] = "";
    $f[] = "  # We want clients to be able to login with \"anonymous\" as well as \"ftp\"";
    $f[] = "  UserAlias\t\t\tanonymous ftp";
    $f[] = "";
    $f[] = "  # Limit the maximum number of anonymous logins";
//.........这里部分代码省略.........
开发者ID:articatech,项目名称:artica,代码行数:101,代码来源:exec.proftpd.php

示例6: install

function install($filename)
{
    $GLOBALS["PROGRESS_FILE"] = "/usr/share/artica-postfix/ressources/logs/artica.install.progress";
    $GLOBALS["LOG_FILE"] = "/usr/share/artica-postfix/ressources/logs/web/artica.install.progress.txt";
    $unix = new unix();
    $LINUX_CODE_NAME = $unix->LINUX_CODE_NAME();
    $LINUX_DISTRIBUTION = $unix->LINUX_DISTRIBUTION();
    $LINUX_VERS = $unix->LINUX_VERS();
    $LINUX_ARCHITECTURE = $unix->LINUX_ARCHITECTURE();
    $APACHEUSER = $unix->APACHE_SRC_ACCOUNT();
    $DebianVer = "debian{$LINUX_VERS[0]}";
    $TMP_DIR = $unix->TEMP_DIR();
    $ORGV = @file_get_contents("/usr/share/artica-postfix/VERSION");
    $PATCH_VER = null;
    $tarballs_file = "/usr/share/artica-postfix/ressources/conf/upload/{$filename}";
    echo "Package {$tarballs_file}\n";
    $size = filesize($tarballs_file);
    ArticaMeta_release($tarballs_file);
    if (preg_match('#([0-9\\.]+)_([0-9\\.]+)-([0-9]+).tgz$#i', $filename, $r)) {
        $CUR_BRANCH = @file_get_contents("/usr/share/artica-postfix/MAIN_RELEASE");
        $CUR_BRANCH = trim($CUR_BRANCH);
        echo "Patch....................: {$r[3]}\n";
        echo "From.....................: {$r[1]}\n";
        echo "To.......................: {$r[2]}\n";
        echo "Current Branch..........: {$CUR_BRANCH}\n";
        if ($CUR_BRANCH != $r[1]) {
            echo "{$CUR_BRANCH} != {$r[1]}\n";
            build_progress("{not_for_current_branch} {requested} {$r[1]}", 110);
            return;
        }
        $PATCH_VER = $r[2] . " :";
        $ASPATCH = true;
    }
    echo "Size....................: " . FormatBytes($size / 1024) . "\n";
    echo "Current version.........: {$ORGV}\n";
    build_progress("{analyze}...", 10);
    echo "Current system..........: {$LINUX_CODE_NAME} {$LINUX_DISTRIBUTION} {$LINUX_VERS[0]}/{$LINUX_VERS[1]} {$LINUX_ARCHITECTURE}\n";
    echo "Package.................: {$filename}\n";
    echo "Temp dir................: {$TMP_DIR}\n";
    echo "Apache User.............: {$APACHEUSER}\n";
    if (!is_file($tarballs_file)) {
        echo "{$tarballs_file} no such file...\n";
        build_progress("No such file...", 110);
        return;
    }
    echo "Uncompressing {$tarballs_file}...\n";
    build_progress("{extracting} {$filename}...", 20);
    $chown = $unix->find_program("chown");
    $chmod = $unix->find_program("chmod");
    $tar = $unix->find_program("tar");
    $rm = $unix->find_program("rm");
    $nohup = $unix->find_program("nohup");
    $php = $unix->LOCATE_PHP5_BIN();
    $squid = $unix->LOCATE_SQUID_BIN();
    build_progress("{extracting} {$filename}...", 50);
    system("{$tar} xpf {$tarballs_file} -C /usr/share/");
    echo "Removing {$tarballs_file}...\n";
    @unlink($tarballs_file);
    shell_exec("{$rm} -rf /usr/share/artica-postfix/ressources/conf/upload/*");
    build_progress("{apply_permissions}...", 55);
    echo "{$APACHEUSER} -> /usr/share/artica-postfix\n";
    shell_exec("{$chown} -R {$APACHEUSER} /usr/share/artica-postfix");
    echo "0755 -> /usr/share/artica-postfix\n";
    shell_exec("{$chmod} -R 0755 /usr/share/artica-postfix");
    $ORGD = @file_get_contents("/usr/share/artica-postfix/VERSION");
    echo "Old version.............: {$ORGV}\n";
    if ($ASPATCH) {
        $patched = " (patched)";
    }
    echo "Current version.........: {$ORGD}{$patched}\n";
    sleep(2);
    if ($ORGV == $ORGD) {
        build_progress("{operation_failed} Same version {$PATCH_VER}{$filename}...", 110);
        return;
    }
    build_progress("{restarting} Artica...", 60);
    $unix->THREAD_COMMAND_SET("{$php} /usr/share/artica-postfix/exec.web-community-filter.php --register");
    build_progress("{restarting} Artica...", 65);
    build_progress("{building_init_scripts}...", 70);
    system("{$php} /usr/share/artica-postfix/exec.initslapd.php");
    build_progress("{updating_network}...", 75);
    system("{$php} /usr/share/artica-postfix/exec.virtuals-ip.php");
    system("{$php} /usr/share/artica-postfix/exec.monit.php --build");
    echo "Starting......: " . date("H:i:s") . " Purge and clean....\n";
    build_progress("{restarting} Artica...", 80);
    if (is_file("/etc/init.d/nginx")) {
        shell_exec("{$nohup} /etc/init.d/nginx reload >/dev/null 2>&1 &");
    }
    build_progress("{restarting} Artica...", 81);
    shell_exec("{$nohup} /etc/init.d/auth-tail restart");
    build_progress("{restarting} Artica...", 82);
    shell_exec("{$nohup} /etc/init.d/artica-framework");
    build_progress("{restarting} Artica...", 83);
    shell_exec("{$nohup} /usr/share/artica-postfix/bin/process1 --force --verbose " . time() . "");
    build_progress("{restarting} Artica...", 84);
    shell_exec("{$nohup} /usr/share/artica-postfix/bin/artica-make --empty-cache >/dev/null 2>&1 &");
    build_progress("{restarting} Artica...", 85);
    shell_exec("{$nohup} /etc/init.d/monit restart >/dev/null 2>&1 &");
    build_progress("{restarting} Artica...", 86);
    shell_exec("{$nohup} /etc/init.d/artica-status restart --force >/dev/null 2>&1 &");
//.........这里部分代码省略.........
开发者ID:articatech,项目名称:artica,代码行数:101,代码来源:exec.artica.update.manu.php

示例7: build

function build()
{
    $unix = new unix();
    $sock = new sockets();
    $users = new usersMenus();
    $APACHE_MODULES_PATH = $users->APACHE_MODULES_PATH;
    if ($GLOBALS["OUTPUT"]) {
        echo "Configuring...: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} Apache modules in \"{$APACHE_MODULES_PATH}\"\n";
    }
    $ZarafaApachePort = $sock->GET_INFO("ZarafaApachePort");
    $ZarafaApacheSSL = $sock->GET_INFO("ZarafaApacheSSL");
    $LighttpdArticaDisableSSLv2 = $sock->GET_INFO("LighttpdArticaDisableSSLv2");
    $ZarafaWebNTLM = $sock->GET_INFO("ZarafaWebNTLM");
    $ZarafaApacheServerName = $sock->GET_INFO("ZarafaApacheServerName");
    if (!is_numeric($ZarafaWebNTLM)) {
        $ZarafaWebNTLM = 0;
    }
    if (!is_numeric($LighttpdArticaDisableSSLv2)) {
        $LighttpdArticaDisableSSLv2 = 0;
    }
    if (!is_numeric($ZarafaApacheSSL)) {
        $ZarafaApacheSSL = 0;
    }
    if (!is_numeric($ZarafaApachePort)) {
        $ZarafaApachePort = 9010;
    }
    $ZarafaApachePHPFPMEnable = $sock->GET_INFO("ZarafaApachePHPFPMEnable");
    if (!is_numeric($ZarafaApachePHPFPMEnable)) {
        $ZarafaApachePHPFPMEnable = 0;
    }
    if ($ZarafaApacheServerName == null) {
        $ZarafaApacheServerName = $unix->hostname_g();
    }
    if (!is_dir('/usr/share/php/mapi')) {
        if (is_dir('/usr/local/share/php/mapi')) {
            @mkdir("/usr/share/php", 0755, true);
            shell_exec('/bin/ln -s /usr/local/share/php/mapi /usr/share/php/mapi');
        }
    }
    $username = $unix->APACHE_SRC_ACCOUNT();
    $group = $unix->APACHE_SRC_GROUP();
    if ($GLOBALS["OUTPUT"]) {
        echo "Configuring...: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} logs access: /var/log/apache-zarafa/access.log\n";
    }
    if ($GLOBALS["OUTPUT"]) {
        echo "Configuring...: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} logs error : /var/log/apache-zarafa/error.log\n";
    }
    @unlink("/var/log/apache-zarafa/access.log");
    @unlink("/var/log/apache-zarafa/error.log");
    @touch("/var/log/apache-zarafa/access.log");
    @touch("/var/log/apache-zarafa/access.log");
    @mkdir("/var/run/apache2", 0755, true);
    @mkdir("/var/run/artica-apache", 0755, true);
    @mkdir('/var/run/zarafa-web', 0755, true);
    @mkdir('/var/log/apache-zarafa', 0755, true);
    @mkdir('/var/lib/zarafa-webaccess/tmp', 0755, true);
    $unix->chown_func($username, $group, "/var/log/apache-zarafa/access.log");
    $unix->chown_func($username, $group, "/var/log/apache-zarafa/error.log");
    $unix->chown_func($username, $group, "/var/run/apache2");
    $unix->chown_func($username, $group, "/var/run/artica-apache");
    $unix->chown_func($username, $group, "/var/run/zarafa-web");
    $unix->chown_func($username, $group, "/var/log/apache-zarafa");
    $unix->chown_func($username, $group, "/var/lib/zarafa-webaccess");
    $unix->chmod_func(0777, "/var/lib/zarafa-webaccess/tmp");
    $unix->chown_func($username, $group, "/usr/share/zarafa-webaccess/plugins/*");
    if ($ZarafaApacheSSL == 1) {
        if (is_file("{$APACHE_MODULES_PATH}/mod_ssl.so")) {
            if (!is_file("/etc/ssl/certs/zarafa/apache.crt.nopass.cert")) {
                shell_exec("/usr/share/artica-postfix/bin/artica-install --zarafa-apache-certificates");
            }
            $f[] = "LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so";
            $f[] = "SSLEngine on";
            $f[] = "SSLCertificateFile /etc/ssl/certs/zarafa/apache.crt.nopass.cert";
            $f[] = "SSLCertificateKeyFile /etc/ssl/certs/zarafa/apache-ca.key.nopass.key";
            if ($LighttpdArticaDisableSSLv2 == 1) {
                $f[] = "SSLProtocol -ALL +SSLv3 +TLSv1";
                $f[] = "SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM";
            }
            $f[] = "SSLRandomSeed connect builtin";
            $f[] = "SSLRandomSeed startup file:/dev/urandom  256";
            $f[] = "SSLRandomSeed connect file:/dev/urandom 256";
            $f[] = "AddType application/x-x509-ca-cert .crt";
            $f[] = "AddType application/x-pkcs7-crl    .crl";
            $f[] = "SSLPassPhraseDialog  builtin";
            $f[] = "SSLSessionCache        shmcb:/var/run/apache2/ssl_scache-zarafa(512000)";
            $f[] = "SSLSessionCacheTimeout  300";
            $f[] = "SSLVerifyClient none";
            $f[] = "ServerSignature Off";
        }
    }
    $SET_MODULES = SET_MODULES();
    $FreeWebPerformances = unserialize(base64_decode($sock->GET_INFO("ZarafaApachePerformances")));
    if (!is_numeric($FreeWebPerformances["Timeout"])) {
        $FreeWebPerformances["Timeout"] = 300;
    }
    if (!is_numeric($FreeWebPerformances["KeepAlive"])) {
        $FreeWebPerformances["KeepAlive"] = 0;
    }
    if (!is_numeric($FreeWebPerformances["MaxKeepAliveRequests"])) {
        $FreeWebPerformances["MaxKeepAliveRequests"] = 100;
//.........这里部分代码省略.........
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:101,代码来源:exec.zarafa-apache.php

示例8: squid_conf_copy

function squid_conf_copy()
{
    if (is_file("/usr/share/artica-postfix/ressources/logs/web/squid.conf")) {
        @unlink("/usr/share/artica-postfix/ressources/logs/web/squid.conf");
    }
    @copy("/etc/squid3/squid.conf", "/usr/share/artica-postfix/ressources/logs/web/squid.conf");
    @chmod("/usr/share/artica-postfix/ressources/logs/web/squid.conf", 0755);
    $unix = new unix();
    @chown("/usr/share/artica-postfix/ressources/logs/web/squid.conf", $unix->APACHE_SRC_ACCOUNT());
}
开发者ID:articatech,项目名称:artica,代码行数:10,代码来源:squid.php

示例9: install_PIWIK

function install_PIWIK($servername)
{
    $sources = "/usr/share/piwik";
    $unix = new unix();
    $cp = $unix->find_program("cp");
    $freeweb = new freeweb($servername);
    if (!is_dir($sources)) {
        writelogs("[{$servername}] {$sources} no such directory", __FUNCTION__, __FILE__, __LINE__);
        return;
    }
    if (!is_dir($freeweb->WORKING_DIRECTORY)) {
        writelogs("[{$servername}] {$freeweb->WORKING_DIRECTORY} no such directory", __FUNCTION__, __FILE__, __LINE__);
        return;
    }
    include_once dirname(__FILE__) . "/ressources/class.piwik.inc";
    $piwik = new piwik();
    if ($piwik->checkWebsite($freeweb->WORKING_DIRECTORY)) {
        return;
    }
    writelogs("[{$servername}] copy sources...", __FUNCTION__, __FILE__, __LINE__);
    shell_exec("{$cp} -rf {$sources}/* {$freeweb->WORKING_DIRECTORY}/");
    @unlink("{$freeweb->WORKING_DIRECTORY}/config/config.ini.php");
    @mkdir('/usr/share/piwik/tmp/assets', 0777, true);
    @mkdir('/usr/share/piwik/tmp/templates_c', 0777, true);
    @mkdir('/usr/share/piwik/tmp/cache', 0777, true);
    @mkdir('/usr/share/piwik/tmp/assets', 0777, true);
    shell_exec('/bin/chmod 0777 /usr/share/piwik/tmp');
    shell_exec('/bin/chmod 0777 /usr/share/piwik/tmp/templates_c/');
    shell_exec('/bin/chmod 0777 /usr/share/piwik/tmp/cache/');
    shell_exec('/bin/chmod 0777 /usr/share/piwik/tmp/assets/');
    shell_exec('/bin/chmod a+w /usr/share/piwik/config');
    $apacheusername = $unix->APACHE_SRC_ACCOUNT();
    $apachegroup = $unix->APACHE_SRC_GROUP();
    $freeweb->chown($freeweb->WORKING_DIRECTORY);
}
开发者ID:articatech,项目名称:artica,代码行数:35,代码来源:exec.freeweb.php

示例10: execute_mysql

function execute_mysql($OnlyID = 0)
{
    $GLOBALS["INDEXED"] = 0;
    $GLOBALS["SKIPPED"] = 0;
    $GLOBALS["DIRS"] = array();
    $unix = new unix();
    $httrack = $unix->find_program("httrack");
    if (!is_file($httrack)) {
        apache_admin_mysql(0, "httrack no such binary", null, __FILE__, __LINE__, "webcopy");
        return;
    }
    $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid";
    $pid = $unix->get_pid_from_file($pidfile);
    if ($unix->process_exists($pid, basename(__FILE__))) {
        apache_admin_mysql(1, "Already instance executed", null, __FILE__, __LINE__, "webcopy");
        return;
    }
    $ini = new Bs_IniHandler();
    $sock = new sockets();
    $datas = $sock->GET_INFO("ArticaProxySettings");
    if (trim($datas) != null) {
        $ini->loadString($datas);
        if (!isset($ini->_params["PROXY"]["ArticaProxyServerEnabled"])) {
            $ini->_params["PROXY"]["ArticaProxyServerEnabled"] = "no";
        }
        $ArticaProxyServerEnabled = $ini->_params["PROXY"]["ArticaProxyServerEnabled"];
        $ArticaProxyServerName = $ini->_params["PROXY"]["ArticaProxyServerName"];
        $ArticaProxyServerPort = $ini->_params["PROXY"]["ArticaProxyServerPort"];
        $ArticaProxyServerUsername = trim($ini->_params["PROXY"]["ArticaProxyServerUsername"]);
        $ArticaProxyServerUserPassword = $ini->_params["PROXY"]["ArticaProxyServerUserPassword"];
        if ($ArticaProxyServerEnabled == 1) {
            $ArticaProxyServerEnabled = "yes";
        }
    }
    $PPRoxy = null;
    $userPP = null;
    if ($ArticaProxyServerEnabled == "yes") {
        if ($ArticaProxyServerUsername != null) {
            $userPP = "{$ArticaProxyServerUsername}:{$ArticaProxyServerUserPassword}@";
        }
        $PPRoxy = " --proxy {$userPP}@{$ArticaProxyServerName}:{$ArticaProxyServerPort}";
    } else {
        $squidbin = $unix->LOCATE_SQUID_BIN();
        if (is_file($squidbin)) {
            $SQUIDEnable = $sock->GET_INFO("SQUIDEnable");
            if (!is_numeric($SQUIDEnable)) {
                $SQUIDEnable = 1;
            }
            $SquidMgrListenPort = intval($sock->GET_INFO("SquidMgrListenPort"));
            $PPRoxy = " --proxy 127.0.0.1:{$SquidMgrListenPort}";
        }
    }
    $getmypid = getmypid();
    @file_put_contents($pidfile, $getmypid);
    $php = $unix->LOCATE_PHP5_BIN();
    $APACHE_USERNAME = $unix->APACHE_SRC_ACCOUNT();
    $APACHE_SRC_GROUP = $unix->APACHE_SRC_GROUP();
    $q = new mysql();
    $nice = EXEC_NICE();
    $sql = "SELECT * FROM httrack_sites WHERE enabled=1";
    $results = $q->QUERY_SQL($sql, "artica_backup");
    if (!$q->ok) {
        apache_admin_mysql(0, "Fatal: {$q->mysql_error}", null, __FILE__, __LINE__, "webcopy");
        return;
    }
    $t1 = time();
    $count = 0;
    if ($OnlyID > 0) {
        $ligne2 = mysql_fetch_array($q->QUERY_SQL("SELECT sitename FROM httrack_sites WHERE ID={$OnlyID}", "artica_backup"));
        $log_exp = " only for [{$ligne2["sitename"]}] ";
    }
    apache_admin_mysql(2, "Starting executing WebCopy task {$log_exp} pid:{$getmypid}", null, __FILE__, __LINE__, "webcopy");
    $dirsizeG = 0;
    while ($ligne = mysql_fetch_assoc($results)) {
        if ($OnlyID > 0) {
            if ($ligne["ID"] != $OnlyID) {
                continue;
            }
        }
        $t = time();
        $count++;
        $workingdir = $ligne["workingdir"];
        $sitename = $ligne["sitename"];
        $minrate = $ligne["minrate"];
        $maxfilesize = $ligne["maxfilesize"];
        $maxsitesize = $ligne["maxsitesize"];
        $size = $ligne["size"];
        $sizeKB = $size / 1024;
        $sizeMB = round($sizeKB / 1024, 2);
        $maxworkingdir = intval($ligne["maxworkingdir"]);
        if ($maxworkingdir == 0) {
            $maxworkingdir = 20;
        }
        $maxsitesizeMB = $maxsitesize / 1000;
        if ($maxsitesizeMB > $maxworkingdir) {
            $maxsitesize = $maxworkingdir * 1000;
        }
        if ($sizeMB > $maxworkingdir) {
            apache_admin_mysql(1, "Skip downloading content of {$sitename} Directory: {$sizeMB}MB reach limit of {$maxworkingdir}MB", null, __FILE__, __LINE__, "webcopy");
            continue;
//.........这里部分代码省略.........
开发者ID:articatech,项目名称:artica,代码行数:101,代码来源:exec.httptrack.php

示例11: coova_web

function coova_web()
{
    $ldap = new clladp();
    $sock = new sockets();
    $ChilliConf = unserialize(base64_decode($sock->GET_INFO("ChilliConf")));
    if (!isset($ChilliConf["HS_UAMFREEWEB"])) {
        if ($GLOBALS["OUTPUT"]) {
            echo "Starting......: " . date("H:i:s") . " [INIT]: FreeWeb Login page is not set...\n";
        }
    }
    $f[] = "<?";
    $f[] = "\t\$msecret  = '{$ldap->ldap_password}';            //Change this to be the same as your chilli's configuration";
    $f[] = "\t\$username   = \$_POST['username'];";
    $f[] = "\t\$password   = \$_POST['password'];";
    $f[] = "\t\$challenge  = \$_POST['challenge'];";
    $f[] = "\t\$redir\t    = \$_POST['userurl'];";
    $f[] = "\t\$server_ip  = \$_POST['uamip'];";
    $f[] = "\t\$port       = \$_POST['uamport'];";
    $f[] = "";
    $f[] = "    //--Add a remember me cookie---";
    $f[] = "    if( array_key_exists('remember',\$_POST)){";
    $f[] = "        \$Year = (2592000*12) + time();";
    $f[] = "        setcookie(\"hs[username]\",   \$username, \$Year);";
    $f[] = "        setcookie('hs[password]',        \$password, \$Year);";
    $f[] = "    }";
    $f[] = "";
    $f[] = "    //--There is a bug that keeps the logout in a loop if userurl is http%3a%2f%2f1.0.0.0 ---/";
    $f[] = "    //--We need to remove this and replace it with something we want";
    $f[] = "    if (preg_match(\"/1\\.0\\.0\\.0/i\", \$redir)) {";
    $f[] = "";
    $f[] = "        \$default_site = 'google.com';";
    $f[] = "        \$pattern = \"/1\\.0\\.0\\.0/i\";";
    $f[] = "        \$redir = preg_replace(\$pattern, \$default_site, \$redir);";
    $f[] = "    }";
    $f[] = "";
    $f[] = "\t\$enc_pwd    = return_new_pwd(\$password,\$challenge,\$uamsecret);";
    $f[] = "\t//\$dir\t\t= '/json/logon';";
    $f[] = "\t\$dir\t\t= '/logon';";
    $f[] = "    \$target     = \"http://\$server_ip\".':'.\$port.\$dir.\"?username=\$username&password=\$enc_pwd&userurl=\$redir\";";
    $f[] = "   // print(\$target);";
    $f[] = "";
    $f[] = "\theader(\"Location: \$target\");";
    $f[] = "";
    $f[] = "\t//Function to do the encryption thing of the password";
    $f[] = "\tfunction return_new_pwd(\$pwd,\$challenge,\$uamsecret){";
    $f[] = "\t        \$hex_chal   = pack('H32', \$challenge);                  //Hex the challenge";
    $f[] = "\t        \$newchal    = pack('H*', md5(\$hex_chal.\$uamsecret));    //Add it to with \$uamsecret (shared between chilli an this script)";
    $f[] = "\t        \$response   = md5(\"\" . \$pwd . \$newchal);              //md5 the lot";
    $f[] = "\t        \$newpwd     = pack('a32', \$pwd);                //pack again";
    $f[] = "\t        \$password   = implode ('', unpack('H32', (\$newpwd ^ \$newchal))); //unpack again";
    $f[] = "\t        return \$password;";
    $f[] = "    \t}";
    $f[] = "";
    $f[] = "?>";
    $unix = new unix();
    $cp = $unix->find_program("cp");
    @mkdir("/var/www/coova_json", 0755, true);
    if (!is_file("/var/www/coova_json/login.php")) {
        echo "Starting......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} Installing Coova JSON...\n";
        shell_exec("{$cp} -rf /var/www/c2/yfi_cake/setup/coova_json/* /var/www/coova_json/");
    }
    @file_put_contents("/var/www/coova_json/login.php", @implode("\n", $f));
    @chmod("var/www/coova_json/login.php", 0755);
    $unix->chown_func($unix->APACHE_SRC_ACCOUNT(), $unix->APACHE_SRC_GROUP(), "/var/www/coova_json/*");
    echo "Starting......: " . date("H:i:s") . " [INIT]: {$GLOBALS["TITLENAME"]} `coova_json/login.php` done\n";
    $f = explode("\n", @file_get_contents("/var/www/coova_json/js/custom.js"));
    while (list($key, $line) = each($f)) {
        if (preg_match("#\\s+p_url_use:.*?'#", $line)) {
            echo "Starting......: " . date("H:i:s") . " [INIT]: Chilli: L.{$key} FreeWeb: {$ChilliConf["HS_UAMFREEWEB"]}\n";
            $f[$key] = "\tp_url_use:  'http://{$ChilliConf["HS_UAMFREEWEB"]}/c2/yfi_cake/third_parties/json_usage_check?key=12345&username=',  //This is the YFi Web service which will show the user's usage";
            continue;
        }
        if (preg_match("#\\s+p_url_uam:.*?'#", $line)) {
            echo "Starting......: " . date("H:i:s") . " [INIT]: Chilli: L.{$key} FreeWeb: {$ChilliConf["HS_UAMFREEWEB"]}\n";
            $f[$key] = "\tp_url_uam:  'http://{$ChilliConf["HS_UAMFREEWEB"]}/mobile/uam.php?challenge=',    //This us the web service which will return a uam encrypted hash using the challenge, password and UAM shared secret";
            continue;
        }
        if (preg_match("#\\s+p_url_voucher_name:.*?'#", $line)) {
            echo "Starting......: " . date("H:i:s") . " [INIT]: Chilli: L.{$key} FreeWeb: {$ChilliConf["HS_UAMFREEWEB"]}\n";
            $f[$key] = "\tp_url_voucher_name: 'http://{$ChilliConf["HS_UAMFREEWEB"]}/c2/yfi_cake/third_parties/json_voucher_name?key=12345&password=',";
            continue;
        }
    }
    @file_put_contents("/var/www/coova_json/js/custom.js", @implode("\n", $f));
    echo "Starting......: " . date("H:i:s") . " [INIT]: Chilli: `/custom.js` done\n";
    $f = explode("\n", @file_get_contents("/var/www/coova_json/uam.php"));
    while (list($key, $line) = each($f)) {
        if (preg_match("#uamsecret.*?=#", $line)) {
            $f[$key] = "\t\$uamsecret = '{$ldap->ldap_password}';";
            continue;
        }
    }
    @file_put_contents("/var/www/coova_json/uam.php", @implode("\n", $f));
    echo "Starting......: " . date("H:i:s") . " [INIT]: Chilli: `/uam.php` done\n";
    DefaultSplash($ChilliConf);
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:96,代码来源:exec.chilli.php

示例12: LoagRotateApache

function LoagRotateApache()
{
    $sock = new sockets();
    $unix = new unix();
    $ApacheLogRotate = $sock->GET_INFO("ApacheLogRotate");
    if (!is_numeric($ApacheLogRotate)) {
        $ApacheLogRotate = 1;
    }
    if ($ApacheLogRotate == 0) {
        return;
    }
    $gzip = $unix->find_program("gzip");
    $ligneC = unserialize(base64_decode($sock->GET_INFO("ApacheLogRotateParams")));
    if (!is_numeric($ligneC["RotateType"])) {
        $ligneC["RotateType"] = 0;
    }
    if (!is_numeric($ligneC["MaxSize"])) {
        $ligneC["MaxSize"] = 100;
    }
    if (!is_numeric($ligneC["RotateCount"])) {
        $ligneC["RotateCount"] = 5;
    }
    $php5 = $unix->LOCATE_PHP5_BIN();
    $q = new mysql();
    $sql = "SELECT servername FROM freeweb";
    $results = $q->QUERY_SQL($sql, 'artica_backup');
    if (mysql_num_rows($results) == 0) {
        return;
    }
    while ($ligne = mysql_fetch_array($results, MYSQL_ASSOC)) {
        $servername = $ligne["servername"];
        $f = array();
        $f[] = "/var/log/apache2/{$servername}/*.log {";
        $f[] = "\t{$ligneC["RotateFreq"]}";
        $f[] = "\tsu " . $unix->APACHE_SRC_ACCOUNT() . " " . $unix->APACHE_SRC_GROUP();
        $f[] = "\tmissingok";
        if ($ligneC["MaxSize"] > 0) {
            $f[] = "\tsize {$ligneC["MaxSize"]}M";
        }
        if ($ligneC["RotateCount"] > 0) {
            $f[] = "\trotate {$ligneC["RotateCount"]}";
        }
        $f[] = "\tcompress";
        $f[] = "\tsharedscripts";
        $f[] = "\tcreate 640 root";
        $f[] = "\tdateext";
        $f[] = "\tcompressext .gz";
        $f[] = "\tcompresscmd {$gzip}";
        $f[] = "\tcompressoptions -9";
        $f[] = "\textension -TASK-99999";
        $f[] = "\tpostrotate";
        $f[] = "{$php5} /usr/share/artica-postfix/exec.freeweb.php --reload";
        $f[] = "endscript";
        $f[] = "}\n";
        @file_put_contents("/etc/logrotate.d/rotate-{$servername}", @implode("\n", $f));
    }
}
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:57,代码来源:exec.logrotate.php

示例13: start

function start()
{
    $unix = new unix();
    $sock = new sockets();
    $EnableArticaMirror = intval($sock->GET_INFO("EnableArticaMirror"));
    if ($EnableArticaMirror == 0) {
        die;
    }
    $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid";
    $cachetime = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".time";
    if ($GLOBALS["VERBOSE"]) {
        echo "Time: {$cachetime}\n";
    }
    $pid = @file_get_contents($pidfile);
    if ($unix->process_exists($pid)) {
        WriteMyLogs("Already executed PID:{$pid}, die()", __FUNCTION__, __FILE__, __LINE__);
        die;
    }
    @file_put_contents($pidfile, getmypid());
    $cachetimeEx = $unix->file_time_min($cachetime);
    if (!$GLOBALS["FORCE"]) {
        if ($cachetimeEx < 25) {
            return;
        }
    }
    @unlink($cachetime);
    @file_put_contents($cachetime, time());
    $APACHE_USER = $unix->APACHE_SRC_ACCOUNT();
    $MyRepo = "/home/www.artica.fr/web/tmpf/auto.update.ini";
    $MIRROR = "http://articatech.net";
    $REMOTE_URI = "{$MIRROR}/auto.update.php";
    $OFFICIAL_DEST = "/home/www.artica.fr/web/download";
    $NIGHTLY_DEST = "/home/www.artica.fr/web/nightbuilds";
    $TEMP_DIR = $unix->TEMP_DIR();
    $MyRepo = "/home/www.artica.fr/web/tmpf/auto.update.ini";
    if (!is_file($MyRepo)) {
        if ($GLOBALS["VERBOSE"]) {
            echo "{$MyRepo} no such file\n";
        }
    }
    $ini = new Bs_IniHandler($MyRepo);
    $LOCAL_OFFICIAL = $ini->_params["NEXT"]["artica"];
    $LOCAL_NIGHTLY = $ini->_params["NEXT"]["artica-nightly"];
    $tmpfile = $unix->FILE_TEMP();
    $curl = new ccurl($REMOTE_URI);
    if (!$curl->GetFile($tmpfile)) {
        return;
    }
    $ini = new Bs_IniHandler($tmpfile);
    $REMOTE_OFFICIAL = $ini->_params["NEXT"]["artica"];
    $REMOTE_NIGHTLY = $ini->_params["NEXT"]["artica-nightly"];
    @unlink($tmpfile);
    echo "Official {$LOCAL_OFFICIAL}/{$REMOTE_OFFICIAL}\n";
    echo "Nightly {$LOCAL_NIGHTLY}/{$REMOTE_NIGHTLY}\n";
    if ($LOCAL_OFFICIAL != $REMOTE_OFFICIAL) {
        $uri = "{$MIRROR}/download/artica-{$REMOTE_OFFICIAL}.tgz";
        $ArticaFileTemp = "{$TEMP_DIR}/{$REMOTE_OFFICIAL}.tgz";
        echo "Downloading {$uri}\n";
        $curl1 = new ccurl($uri);
        if (!$curl1->GetFile($ArticaFileTemp)) {
            echo "Failed\n";
            return;
        }
        @copy($ArticaFileTemp, "{$OFFICIAL_DEST}/artica-{$REMOTE_OFFICIAL}.tgz");
        @chown("{$OFFICIAL_DEST}/artica-{$REMOTE_OFFICIAL}.tgz", "{$APACHE_USER}");
        @unlink($ArticaFileTemp);
        @unlink($MyRepo);
    }
    if ($LOCAL_NIGHTLY != $REMOTE_NIGHTLY) {
        $uri = "{$MIRROR}/nightbuilds/artica-{$REMOTE_NIGHTLY}.tgz";
        $ArticaFileTemp = "{$TEMP_DIR}/{$REMOTE_NIGHTLY}.tgz";
        echo "*******************************************\n";
        echo "Downloading {$uri} to {$ArticaFileTemp}\n";
        echo "Local: {$NIGHTLY_DEST}/{$REMOTE_NIGHTLY}.tgz\n";
        echo "*******************************************\n\n";
        $curl2 = new ccurl($uri);
        if (!$curl2->GetFile($ArticaFileTemp)) {
            echo "Failed\n";
            return;
        }
        @copy($ArticaFileTemp, "{$NIGHTLY_DEST}/artica-{$REMOTE_NIGHTLY}.tgz");
        @chown("{$NIGHTLY_DEST}/artica-{$REMOTE_NIGHTLY}.tgz", "{$APACHE_USER}");
        @unlink($ArticaFileTemp);
        @unlink($MyRepo);
    }
}
开发者ID:BillTheBest,项目名称:1.6.x,代码行数:86,代码来源:exec.artica.mirror.php

示例14: extract_tgz

function extract_tgz($uuid)
{
    $unix = new unix();
    $workingdir = "/usr/share/artica-postfix/ressources/conf/meta/hosts/uploaded/{$uuid}";
    if (is_file("{$workingdir}/status.tgz")) {
        $tar = $unix->find_program("tar");
        shell_exec("{$tar} -xf {$workingdir}/status.tgz -C {$workingdir}/");
        @unlink("{$workingdir}/status.tgz");
    }
    $unix->chown_func($unix->APACHE_SRC_ACCOUNT(), $unix->APACHE_SRC_GROUP(), "{$workingdir}/*");
    if (is_file("{$workingdir}/squid_admin_mysql.db")) {
        $q = new mysql_meta();
        if (!$q->TABLE_EXISTS("squid_admin_mysql")) {
            $q->CheckTables();
        }
        $data = trim(@file_get_contents("{$workingdir}/squid_admin_mysql.db"));
        if ($data != null) {
            $q->QUERY_SQL(@file_get_contents("{$workingdir}/squid_admin_mysql.db"));
            if (!$q->ok) {
                meta_admin_mysql(0, "Failed to import {$workingdir}/squid_admin_mysql.db", $q->mysql_error, __FILE__, __LINE__);
            } else {
                @unlink("{$workingdir}/squid_admin_mysql.db");
            }
        } else {
            @unlink("{$workingdir}/squid_admin_mysql.db");
        }
    } else {
        if ($GLOBALS["VERBOSE"]) {
            echo "{$workingdir}/squid_admin_mysql.db ( no such file )\n";
        }
    }
    if (is_file("{$workingdir}/network_hosts.db")) {
        __network_hosts($uuid, "{$workingdir}/network_hosts.db");
    } else {
        if ($GLOBALS["VERBOSE"]) {
            echo "{$workingdir}/network_hosts.db ( no such file )\n";
        }
    }
    global_status_ini($uuid);
}
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:40,代码来源:exec.artica-meta-server.php

示例15: apache_config

function apache_config()
{
    $sock = new sockets();
    $unix = new unix();
    $EnablePHPFPM = 0;
    $ipaddr = null;
    @mkdir("/var/run/apache2", 0755, true);
    @mkdir("/var/run/sarg-apache", 0755, true);
    @mkdir("/var/log/apache2", 0755, true);
    @mkdir(dirname($GLOBALS["APACHE_PID_PATH"]), 0755, true);
    $APACHE_SRC_ACCOUNT = $unix->APACHE_SRC_ACCOUNT();
    $APACHE_SRC_GROUP = $unix->APACHE_SRC_GROUP();
    $APACHE_MODULES_PATH = $unix->APACHE_MODULES_PATH();
    $SargOutputDir = $sock->GET_INFO("SargOutputDir");
    if ($SargOutputDir == null) {
        $SargOutputDir = "/var/www/html/squid-reports";
    }
    $SargWebPort = intval($sock->GET_INFO("SargWebPort"));
    if ($SargWebPort == 0) {
        $SargWebPort = rand(55600, 59000);
        $sock->SET_INFO("SargWebPort", $SargWebPort);
    }
    if (is_link($SargOutputDir)) {
        $SargOutputDir = @readlink($SargOutputDir);
    }
    @mkdir($SargOutputDir, 0755, true);
    if (!is_file("{$SargOutputDir}/index.html")) {
        $php = $unix->LOCATE_PHP5_BIN();
        shell_exec("{$php} /usr/share/artica-postfix/exec.sarg.php --exec --force >/dev/null 2>&1 &");
    }
    if ($ipaddr == null) {
        $ipaddr = "*";
    }
    $phpfpm = $unix->APACHE_LOCATE_PHP_FPM();
    $php = $unix->LOCATE_PHP5_BIN();
    $EnableArticaApachePHPFPM = $sock->GET_INFO("EnableArticaApachePHPFPM");
    if (!is_numeric($EnableArticaApachePHPFPM)) {
        $EnableArticaApachePHPFPM = 0;
    }
    if (!is_file($phpfpm)) {
        $EnableArticaApachePHPFPM = 0;
    }
    $logfile = "/var/log/apache2/apache-sarg-access.log";
    $ErrorLog = "/var/log/apache2/apache-sarg-error.log";
    $unix->chown_func($APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP, "/var/run/sarg-apache");
    $apache_LOCATE_MIME_TYPES = $unix->apache_LOCATE_MIME_TYPES();
    if ($EnableArticaApachePHPFPM == 1) {
        if (!is_file("{$APACHE_MODULES_PATH}/mod_fastcgi.so")) {
            if ($GLOBALS["OUTPUT"]) {
                echo "Starting......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} mod_fastcgi.so is required to use PHP5-FPM\n";
            }
            $EnableArticaApachePHPFPM = 0;
        }
    }
    if ($APACHE_SRC_ACCOUNT == null) {
        $APACHE_SRC_ACCOUNT = "www-data";
        $APACHE_SRC_GROUP = "www-data";
        $unix->CreateUnixUser($APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP, "Apache username");
    }
    @unlink($ErrorLog);
    @unlink($logfile);
    if (!is_file("{$logfile}")) {
        @touch("{$logfile}");
    }
    if (!is_file("{$ErrorLog}")) {
        @touch("{$ErrorLog}");
    }
    $unix->chown_func($APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP, $ErrorLog);
    $unix->chown_func($APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP, $logfile);
    $unix->chown_func($APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP, "/var/run/sarg-apache");
    $unix->chown_func($APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP, "/var/log/apache2");
    $unix->chown_func($APACHE_SRC_ACCOUNT, $APACHE_SRC_GROUP, dirname($GLOBALS["APACHE_PID_PATH"]));
    if ($GLOBALS["OUTPUT"]) {
        echo "Starting......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} Run as {$APACHE_SRC_ACCOUNT}:{$APACHE_SRC_GROUP}\n";
    }
    if ($GLOBALS["OUTPUT"]) {
        echo "Starting......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} HTTP Port: {$ArticaSplashHotSpotPort} SSL Port: {$ArticaSplashHotSpotPortSSL}\n";
    }
    if ($GLOBALS["OUTPUT"]) {
        echo "Starting......: " . date("H:i:s") . " [INIT]: {$GLOBALS["SERVICE_NAME"]} PHP-FPM: {$EnablePHPFPM}\n";
    }
    $f[] = "LockFile /var/run/apache2/sarg-artica-accept.lock";
    $f[] = "PidFile {$GLOBALS["APACHE_PID_PATH"]}";
    $f[] = "AcceptMutex flock";
    $f[] = "DocumentRoot {$SargOutputDir}";
    $f[] = "DirectoryIndex index.html";
    $f[] = "ErrorDocument 400 /index.html";
    $f[] = "ErrorDocument 401 /index.html";
    $f[] = "ErrorDocument 403 /index.html";
    $f[] = "ErrorDocument 404 /index.html";
    $f[] = "ErrorDocument 500 /index.html";
    $f[] = "NameVirtualHost {$ipaddr}:{$SargWebPort}";
    $f[] = "Listen {$ipaddr}:{$SargWebPort}";
    $f[] = "<VirtualHost {$ipaddr}:{$SargWebPort}>";
    $f[] = "\tServerName {$ipaddr}";
    $f[] = "\tDocumentRoot {$SargOutputDir}";
    $f[] = "</VirtualHost>";
    $f[] = "<IfModule mpm_prefork_module>";
    $f[] = "</IfModule>";
    $f[] = "<IfModule mpm_worker_module>";
//.........这里部分代码省略.........
开发者ID:brucewu16899,项目名称:1.6.x,代码行数:101,代码来源:exec.sarg-web.php


注:本文中的unix::APACHE_SRC_ACCOUNT方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。