protected static function checkAllDataMail() { $sql_query = "\n\t\t\tSELECT\n\t\t\t\tdomain_id, status\n\t\t\tFROM\n\t\t\t\tmail_users\n\t\t\tWHERE\n\t\t\t\tstatus\n\t\t\tIN\n\t\t\t\t('add', 'change', 'delete', 'disable', 'enable')\n\t\t\tORDER BY\n\t\t\t\tdomain_id;\n\t\t"; foreach (DB::query($sql_query) as $row) { $retVal = DaemonMail::Start($row['domain_id']); if ($retVal !== true) { return $retVal; } } return true; }
/** * Writes Apache configuration for default domain and enables configuration. * * @param array $domainData * @return boolean */ protected static function apacheWriteDomainConfig($domainData) { if ($domainData['domain_mailacc_limit'] == '-1') { DaemonMail::DaemonMailDeleteDomain($domainData['domain_name']); } else { DaemonMail::DaemonMailAddDomain($domainData['domain_name']); } $append = false; $sysGroup = DaemonConfig::$cfg->APACHE_SUEXEC_USER_PREF . $domainData['domain_gid']; $sysUser = DaemonConfig::$cfg->APACHE_SUEXEC_USER_PREF . $domainData['domain_uid']; $serverName = $domainData['domain_name']; $tpl_param = array('DOMAIN_IP' => $domainData['ip_number'], 'DOMAIN_GID' => $sysUser, 'DOMAIN_UID' => $sysGroup, 'SERVER_ADMIN' => $domainData['email'], 'DOC_ROOT' => $domainData['domain_name'], 'SERVER_NAME' => $serverName, 'SERVER_ALIAS' => 'www.' . $domainData['domain_name'] . ' ' . $sysGroup . '.' . DaemonConfig::$cfg->BASE_SERVER_VHOST, 'MASTER_DOMAIN' => $domainData['domain_name'], 'AWSTATS' => DaemonConfig::$cfg->AWSTATS_ACTIVE == 'yes' ? true : false, 'DOMAIN_CGI' => $domainData['domain_cgi'] == 'yes' ? true : false, 'DOMAIN_PHP' => $domainData['domain_php'] == 'yes' ? true : false, 'BASE_SERVER_VHOST' => DaemonConfig::$cfg->BASE_SERVER_VHOST, 'BASE_SERVER_VHOST_PREFIX' => DaemonConfig::$cfg->BASE_SERVER_VHOST_PREFIX, 'WWW_DIR' => DaemonConfig::$distro->APACHE_WWW_DIR, 'CUSTOM_SITES_CONFIG_DIR' => DaemonConfig::$distro->APACHE_CUSTOM_SITES_CONFIG_DIR, 'HTACCESS_USERS_FILE_NAME' => DaemonConfig::$cfg->HTACCESS_USERS_FILE_NAME, 'HTACCESS_GROUPS_FILE_NAME' => DaemonConfig::$cfg->HTACCESS_GROUPS_FILE_NAME, 'AWSTATS_GROUP_AUTH' => DaemonConfig::$cfg->AWSTATS_GROUP_AUTH, 'PHP_STARTER_DIR' => DaemonConfig::$distro->PHP_STARTER_DIR, 'APACHE_LOG_DIR' => DaemonConfig::$distro->APACHE_LOG_DIR, 'APACHE_TRAFFIC_LOG_DIR' => DaemonConfig::$distro->APACHE_TRAFFIC_LOG_DIR, 'SELF' => $domainData['domain_name']); if ($tpl_param['SERVER_ADMIN'] == null || $tpl_param['SERVER_ADMIN'] == '') { $msg = 'Mail Address for ServerAdmin must be set!'; System_Daemon::warning($msg); return $msg . '<br />' . false; } if ($domainData['ssl_status'] == 1) { $tpl_param['DOMAIN_PORT'] = 80; $tpl_param['REDIRECT'] = true; } else { $tpl_param['DOMAIN_PORT'] = 80; } if (isset($domainData['subdomain_url_forward'])) { $tpl_param['FORWARD_URL'] = $domainData['subdomain_url_forward']; } if (isset($domainData['subdomain_name'])) { $append = true; $serverName = $domainData['subdomain_name'] . '.' . $domainData['domain_name']; $tpl_param['DOC_ROOT'] = $domainData['domain_name'] . $domainData['subdomain_mount']; $tpl_param['SERVER_NAME'] = $serverName; $tpl_param['SELF'] = $domainData['subdomain_name'] . '.' . $domainData['domain_name']; $tpl_param['SERVER_ALIAS'] = 'www.' . $domainData['subdomain_name'] . '.' . $domainData['domain_name']; $tpl_param['TRAFFIC_PREFIX'] = $domainData['domain_id'] . '.' . $domainData['subdomain_id'] . '.'; } else { $tpl_param['TRAFFIC_PREFIX'] = $domainData['domain_id'] . '.0.'; } if (isset($domainData['master_domain'])) { $tpl_param['MASTER_DOMAIN'] = $domainData['master_domain']; $tpl_param['DOC_ROOT'] = $domainData['master_domain']; if (isset($domainData['subdomain_mount'])) { $tpl_param['DOC_ROOT'] .= $domainData['subdomain_mount']; } } $tpl = DaemonCommon::getTemplate($tpl_param); // write Apache config $config = $tpl->fetch('apache/parts/vhost.tpl'); $tpl = NULL; unset($tpl); $confFile = DaemonConfig::$distro->APACHE_SITES_DIR . '/' . $domainData['domain_name'] . '.conf'; $retVal = DaemonCommon::systemWriteContentToFile($confFile, $config, DaemonConfig::$cfg->ROOT_USER, DaemonConfig::$cfg->ROOT_GROUP, 0644, $append); if ($retVal !== true) { $msg = 'Failed to write' . $confFile; System_Daemon::warning($msg); return $msg . '<br />' . $retVal; } if (isset($domainData['ip_number_v6']) && $domainData['ip_number_v6'] != '') { $append = true; $tpl_param['DOMAIN_IP'] = '[' . $domainData['ip_number_v6'] . ']'; $tpl = DaemonCommon::getTemplate($tpl_param); // write Apache config $config = $tpl->fetch('apache/parts/vhost.tpl'); $tpl = NULL; unset($tpl); $confFile = DaemonConfig::$distro->APACHE_SITES_DIR . '/' . $domainData['domain_name'] . '.conf'; $retVal = DaemonCommon::systemWriteContentToFile($confFile, $config, DaemonConfig::$cfg->ROOT_USER, DaemonConfig::$cfg->ROOT_GROUP, 0644, $append); if ($retVal !== true) { $msg = 'Failed to write' . $confFile; System_Daemon::warning($msg); return $msg . '<br />' . $retVal; } $tpl_param['DOMAIN_IP'] = $domainData['ip_number']; } if ($domainData['ssl_status'] > 0) { $append = true; $retVal = self::writeSSLKeys($domainData); if ($retVal !== true) { $msg = 'Writing SSL keys failed'; System_Daemon::debug($msg); return $msg . '<br />' . $retVal; } $tpl_param['DOMAIN_PORT'] = 443; $tpl_param['SSL_CERT_DIR'] = DaemonConfig::$distro->SSL_CERT_DIR; $tpl_param['SSL_KEY_DIR'] = DaemonConfig::$distro->SSL_KEY_DIR; $tpl_param['REDIRECT'] = false; if (isset($domainData['ssl_cacert']) && $domainData['ssl_cacert'] != '') { $tpl_param['SSL_CACERT'] = true; } $tpl = DaemonCommon::getTemplate($tpl_param); // write Apache config $config = $tpl->fetch('apache/parts/vhost.tpl'); $tpl = NULL; unset($tpl); $confFile = DaemonConfig::$distro->APACHE_SITES_DIR . '/' . $domainData['domain_name'] . '.conf'; $retVal = DaemonCommon::systemWriteContentToFile($confFile, $config, DaemonConfig::$cfg->ROOT_USER, DaemonConfig::$cfg->ROOT_GROUP, 0644, $append); if ($retVal !== true) { $msg = 'Failed to write' . $confFile; System_Daemon::warning($msg); return $msg . '<br />' . $retVal; } if (isset($domainData['ip_number_v6']) && $domainData['ip_number_v6'] != '') { $append = true; $tpl_param['DOMAIN_IP'] = '[' . $domainData['ip_number_v6'] . ']'; $tpl = DaemonCommon::getTemplate($tpl_param); // write Apache config $config = $tpl->fetch('apache/parts/vhost.tpl'); $tpl = NULL; unset($tpl); $confFile = DaemonConfig::$distro->APACHE_SITES_DIR . '/' . $domainData['domain_name'] . '.conf'; $retVal = DaemonCommon::systemWriteContentToFile($confFile, $config, DaemonConfig::$cfg->ROOT_USER, DaemonConfig::$cfg->ROOT_GROUP, 0644, $append); if ($retVal !== true) { $msg = 'Failed to write' . $confFile; System_Daemon::warning($msg); return $msg . '<br />' . $retVal; } } } $tpl = DaemonCommon::getTemplate($tpl_param); // write Apache config $config = $tpl->fetch('apache/parts/custom.conf.tpl'); $tpl = NULL; unset($tpl); $confFile = DaemonConfig::$distro->APACHE_CUSTOM_SITES_CONFIG_DIR . '/' . $serverName . '.custom'; if (!file_exists($confFile)) { $retVal = DaemonCommon::systemWriteContentToFile($confFile, $config, DaemonConfig::$cfg->ROOT_USER, DaemonConfig::$cfg->ROOT_GROUP, 0644, $append); if ($retVal !== true) { $msg = 'Failed to write' . $confFile; System_Daemon::warning($msg); return $msg . '<br />' . $retVal; } } return true; }