static function removeOtherDriver($driverapp) { global $gbl, $sgbl, $login, $ghtml; if ($driverapp === 'bind') { lxshell_return("service", "djbdns", "stop"); lxshell_return("chkconfig", "named", "on"); $pattern = 'include "/etc/global.options.named.conf";'; $file = "/var/named/chroot/etc/named.conf"; $comment = "//Global_options_file"; addLineIfNotExist($file, $pattern, $comment); $options_file = "/var/named/chroot/etc/global.options.named.conf"; $example_options = "acl \"lxcenter\" {\n"; $example_options .= " localhost;\n"; $example_options .= "};\n\n"; $example_options .= "options {\n"; $example_options .= " max-transfer-time-in 60;\n"; $example_options .= " transfer-format many-answers;\n"; $example_options .= " transfers-in 60;\n"; $example_options .= " auth-nxdomain yes;\n"; $example_options .= " allow-transfer { \"lxcenter\"; };\n"; $example_options .= " allow-recursion { \"lxcenter\"; };\n"; $example_options .= " recursion no;\n"; $example_options .= " version \"LxCenter - 1.0\";\n"; $example_options .= "};\n\n"; $example_options .= "# Remove # to see all DNS queries\n"; $example_options .= "#logging {\n"; $example_options .= "# channel query_logging {\n"; $example_options .= "# file \" /var/log / named_query . log\";\n"; $example_options .= "# versions 3 size 100M;\n"; $example_options .= "# print-time yes;\n"; $example_options .= "# };\n\n"; $example_options .= "# category queries {\n"; $example_options .= "# query_logging;\n"; $example_options .= "# };\n"; $example_options .= "#};\n"; if (!lfile_exists($options_file)) { touch($options_file); chown($options_file, "named"); } $cont = lfile_get_contents($options_file); $pattern = "options"; if (!preg_match("+{$pattern}+i", $cont)) { file_put_contents($options_file, "{$example_options}\n"); } $pattern = 'include "/etc/kloxo.named.conf";'; $file = "/var/named/chroot/etc/named.conf"; $comment = "//Kloxo"; addLineIfNotExistInside($file, $pattern, $comment); touch("/var/named/chroot/etc/kloxo.named.conf"); chown("/var/named/chroot/etc/kloxo.named.conf", "named"); lxshell_return("rpm", "-e", "djbdns"); lunlink("/etc/init.d/djbdns"); } else { lxshell_return("service", "named", "stop"); lxshell_return("rpm", "-e", "--nodeps", "bind"); lxshell_return("rpm", "-e", "--nodeps", "bind-chroot"); lxshell_return("chkconfig", "djbdns", "on"); } }
function setInitialBind() { log_cleanup("Initialize Kloxo bind config files"); $pattern = 'include "/etc/global.options.named.conf";'; $file = "/var/named/chroot/etc/named.conf"; $comment = "//Kloxo global config (stop being open recursors)"; addLineIfNotExist($file, $pattern, $comment); if (!lxfile_exists("/var/named/chroot/etc/kloxo.named.conf")) { log_cleanup("- Initialize process"); lxfile_touch("/var/named/chroot/etc/kloxo.named.conf"); lxfile_touch("/var/named/chroot/etc/global.options.named.conf"); } else { log_cleanup("- No need to initialize"); } }
function install_main() { $installcomp['mail'] = array("vpopmail", "courier-imap-toaster", "courier-authlib-toaster", "qmail", "safecat", "httpd", "spamassassin", "ezmlm-toaster", "autorespond-toaster"); $installcomp['web'] = array("httpd", "pure-ftpd"); $installcomp['dns'] = array("bind", "bind-chroot"); $installcomp['database'] = array("mysql"); global $argv; $comp = array("web", "mail", "dns", "database"); $serverlist = $comp; foreach ($comp as $c) { flush(); if (array_search($c, $serverlist) !== false) { print "Installing {$c} Components...."; $req = $installcomp[$c]; $func = "installcomp_{$c}"; if (function_exists($func)) { $func(); } install_general_mine($req); print "\n"; } } $options_file = "/var/named/chroot/etc/global.options.named.conf"; $example_options = "acl \"lxcenter\" {\n"; $example_options .= "\tlocalhost;\n"; $example_options .= "};\n\n"; $example_options .= "options {\n"; $example_options .= "\tmax-transfer-time-in 60;\n"; $example_options .= "\ttransfer-format many-answers;\n"; $example_options .= "\ttransfers-in 60;\n"; $example_options .= "\tauth-nxdomain yes;\n"; $example_options .= "\tallow-transfer { \"lxcenter\"; };\n"; $example_options .= "\tallow-recursion { \"lxcenter\"; };\n"; $example_options .= "\trecursion no;\n"; $example_options .= "\tversion \"LxCenter-1.0\";\n"; $example_options .= "};\n\n"; $example_options .= "# Remove # to see all DNS queries\n"; $example_options .= "# logging {\n"; $example_options .= "#\t channel query_logging {\n"; $example_options .= "#\t\t file \"/var/log/named_query.log\";\n"; $example_options .= "#\t\t versions 3 size 100M;\n"; $example_options .= "#\t\t print-time yes;\n"; $example_options .= "#\t };\n\n"; $example_options .= "#\t category queries {\n"; $example_options .= "#\t\t query_logging;\n"; $example_options .= "#\t };\n"; $example_options .= "# };\n"; if (!file_exists($options_file)) { touch($options_file); chown($options_file, "named"); } $cont = file_get_contents($options_file); $pattern = "options"; if (!preg_match("+{$pattern}+i", $cont)) { file_put_contents($options_file, "{$example_options}\n"); } $pattern = 'include "/etc/kloxo.named.conf";'; $file = "/var/named/chroot/etc/named.conf"; $comment = "//Kloxo"; addLineIfNotExist($file, $pattern, $comment); touch("/var/named/chroot/etc/kloxo.named.conf"); chown("/var/named/chroot/etc/kloxo.named.conf", "named"); }
function install_main() { global $installcomp; global $argv; $comp = array("web", "mail", "dns", "database"); $list = parse_opt($argv); if ($list['server-list']) { $serverlist = implode(",", $list['server-list']); } else { $serverlist = $comp; } foreach ($comp as $c) { flush(); if (array_search($c, $serverlist) !== false) { print "Installing {$c} Components...."; $req = $installcomp[$c]; $func = "installcomp_{$c}"; if (function_exists($func)) { $func(); } install_general_mine($req); print "\n"; } } $pattern = "Include /etc/httpd/conf/kloxo/kloxo.conf"; $file = "/etc/httpd/conf/httpd.conf"; $comment = "#Kloxo"; addLineIfNotExist($file, $pattern, $comment); mkdir("/etc/httpd/conf/kloxo/"); $dir_path = dirname(__FILE__); copy("{$dir_path}/kloxo.conf", "/etc/httpd/conf/kloxo/kloxo.conf"); touch("/etc/httpd/conf/kloxo/virtualhost.conf"); touch("/etc/httpd/conf/kloxo/webmail.conf"); touch("/etc/httpd/conf/kloxo/init.conf"); mkdir("/etc/httpd/conf/kloxo/forward/"); touch("/etc/httpd/conf/kloxo/forward/forwardhost.conf"); $options_file = "/var/named/chroot/etc/global.options.named.conf"; $example_options = "acl \"lxcenter\" {\n"; $example_options .= " localhost;\n"; $example_options .= "};\n\n"; $example_options .= "options {\n"; $example_options .= " max-transfer-time-in 60;\n"; $example_options .= " transfer-format many-answers;\n"; $example_options .= " transfers-in 60;\n"; $example_options .= " auth-nxdomain yes;\n"; $example_options .= " allow-transfer { \"lxcenter\"; };\n"; $example_options .= " allow-recursion { \"lxcenter\"; };\n"; $example_options .= " recursion no;\n"; $example_options .= " version \"LxCenter-1.0\";\n"; $example_options .= "};\n\n"; $example_options .= "# Remove # to see all DNS queries\n"; $example_options .= "#logging {\n"; $example_options .= "# channel query_logging {\n"; $example_options .= "# file \"/var/log/named_query.log\";\n"; $example_options .= "# versions 3 size 100M;\n"; $example_options .= "# print-time yes;\n"; $example_options .= "# };\n\n"; $example_options .= "# category queries {\n"; $example_options .= "# query_logging;\n"; $example_options .= "# };\n"; $example_options .= "#};\n"; if (!lfile_exists($options_file)) { touch($options_file); chown($options_file, "named"); } $cont = lfile_get_contents($options_file); $pattern = "options"; if (!preg_match("+{$pattern}+i", $cont)) { file_put_contents($options_file, "{$example_options}\n"); } $pattern = 'include "/etc/kloxo.named.conf";'; $file = "/var/named/chroot/etc/named.conf"; $comment = "//Kloxo"; addLineIfNotExist($file, $pattern, $comment); touch("/var/named/chroot/etc/kloxo.named.conf"); chown("/var/named/chroot/etc/kloxo.named.conf", "named"); }