function setupsecondary_main() { global $gbl, $sgbl, $login, $ghtml; global $argv; $dbf = $sgbl->__var_dbf; $prgm = $sgbl->__var_program_name; $list = parse_opt($argv); if (!isset($list['primary-master'])) { print "need --primary-master=\n"; exit; } if (!isset($list['sshport'])) { print "need --sshport=\n"; exit; } $master = $list['primary-master']; $sshport = $list['sshport']; print "Taking backup of the current database anyway...\n"; lxshell_php("../bin/common/mebackup.php"); $slavepass = randomString(7); print "Setting up mysql to receive data from master\n"; add_line_to_secondary_mycnf($master, $slavepass); $pass = slave_get_db_pass(); // TODO: REPLACE MYSQL_CONNECT $dblink = mysqli_connect("localhost", "root", $pass, $dbf); mysqli_query($dblink, "STOP SLAVE"); print "Getting initial data from the master\n"; system("ssh -p {$sshport} {$master} \"(cd /usr/local/lxlabs/{$prgm}/httpdocs ; lphp.exe ../bin/common/setupprimarymaster.php --slavepass={$slavepass})\" | mysql -u root -p{$pass} {$dbf}"); print "starting mysql data getting process\n"; mysqli_query($dblink, "CHANGE MASTER TO master_host='{$master}', master_password='******'"); mysqli_query($dblink, "START SLAVE"); lxfile_touch("../etc/secondary_master"); lxfile_touch("../etc/running_secondary"); }
function fixExtraDB() { $sq = new Sqlite(null, 'client'); $sq->rawQuery("update monitorserver set priv_q_monitorport_num = 'Unlimited'"); $sq->rawQuery("update client set priv_q_monitorport_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_monitorserver_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_vmipaddress_a_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_backup_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_process_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_realmem_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_backup_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_ncpu_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_ioprio_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_cpuunit_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_swap_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_backup_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_ip_manage_flag = 'on' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_iptables_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_vps_add_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_vps_limit_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_secondlevelquota_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_centralbackup_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update pserver set parent_clname = 'client-admin'"); $sq->rawQuery("update vps set iid = vpsid where iid is null"); $sq->rawQuery("update vps set iid = vpsid where iid = ''"); $sq->rawQuery("update vps set priv_q_swap_usage = 2 * priv_q_realmem_usage where priv_q_swap_usage = ''"); $sq->rawQuery("update vps set priv_q_swap_usage = 2 * priv_q_realmem_usage where priv_q_swap_usage is null"); $sq->rawQuery("update vps set priv_q_swap_usage = 'Unlimited' where priv_q_swap_usage = 0"); $sq->rawQuery("update vps set priv_q_centralbackup_flag = centralbackup_flag where priv_q_centralbackup_flag = ''"); $sq->rawQuery("update vps set priv_q_centralbackup_flag = centralbackup_flag where priv_q_centralbackup_flag is null"); $sq->rawQuery("update vps set kloxo_flag = lxadmin_flag where kloxo_flag is null"); $sq->rawQuery("update vps set kloxo_flag = lxadmin_flag where kloxo_flag = ''"); db_set_default('vps', 'kloxo_flag', 'on'); db_set_default('vps', 'priv_q_managedns_flag', 'on'); db_set_default('client', 'priv_q_managedns_flag', 'on'); db_set_default('vps', 'priv_q_managereversedns_flag', 'on'); db_set_default('client', 'priv_q_managereversedns_flag', 'on'); db_set_default('client', 'priv_q_centralbackup_flag', 'on'); db_set_default('vps', 'priv_q_rebuildvps_flag', 'on'); db_set_default('client', 'priv_q_rebuildvps_flag', 'on'); db_set_default('ippool', 'freeflag', 'on'); initDbLoginPre(); migrateResourceplan('vps'); $sq->rawQuery("update resourceplan set realname = nname where realname = ''"); $sq->rawQuery("update resourceplan set realname = nname where realname is null"); $sq->rawQuery("alter table dns change ser_dns_record_a ser_dns_record_a longtext"); lxshell_php("../bin/common/fixresourceplan.php"); call_with_flag("convert_favorite"); }
function fixExtraDB() { print "Fix database\n"; $sq = new Sqlite(null, 'client'); $sq->rawQuery("update monitorserver set priv_q_monitorport_num = 'Unlimited'"); $sq->rawQuery("update client set priv_q_monitorport_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_monitorserver_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_vmipaddress_a_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_backup_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_process_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_realmem_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_backup_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_ncpu_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_ioprio_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_cpuunit_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_swap_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_backup_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_ip_manage_flag = 'on' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_iptables_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_vps_add_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_vps_limit_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_secondlevelquota_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_centralbackup_flag = 'On' where nname = 'admin'"); $sq->rawQuery("update pserver set parent_clname = 'client-admin'"); $sq->rawQuery("update vps set iid = vpsid where iid is null"); $sq->rawQuery("update vps set iid = vpsid where iid = ''"); $sq->rawQuery("update vps set priv_q_swap_usage = 2 * priv_q_realmem_usage where priv_q_swap_usage = ''"); $sq->rawQuery("update vps set priv_q_swap_usage = 2 * priv_q_realmem_usage where priv_q_swap_usage is null"); $sq->rawQuery("update vps set priv_q_swap_usage = 'Unlimited' where priv_q_swap_usage = 0"); $sq->rawQuery("update vps set priv_q_centralbackup_flag = centralbackup_flag where priv_q_centralbackup_flag = ''"); $sq->rawQuery("update vps set priv_q_centralbackup_flag = centralbackup_flag where priv_q_centralbackup_flag is null"); db_set_default('vps', 'kloxo_flag', 'off'); db_set_default('vps', 'priv_q_managedns_flag', 'on'); db_set_default('vps', 'priv_q_managereversedns_flag', 'on'); db_set_default('vps', 'priv_q_rebuildvps_flag', 'on'); db_set_default('client', 'priv_q_managedns_flag', 'on'); db_set_default('client', 'priv_q_managereversedns_flag', 'on'); db_set_default('client', 'priv_q_centralbackup_flag', 'on'); db_set_default('client', 'priv_q_rebuildvps_flag', 'on'); db_set_default('ippool', 'freeflag', 'on'); db_set_default('vps', 'ttype', 'openvz'); db_set_default("vps", "swapdiskname", "vm.swap", "ttype = 'xen'"); db_set_default("vps", "maindiskname", "root.img", "ttype = 'xen'"); db_set_default('vps', 'corerootdir', '/vz/private', "ttype = 'openvz'"); db_set_default("vps", "corerootdir", "/home/xen", "ttype = 'xen'"); db_set_default('pserver', 'coma_psrole_a', 'vps'); initDbLoginPre(); print "Fix database (Resource plans)\n"; migrateResourceplan('vps'); $sq->rawQuery("update resourceplan set realname = nname where realname = ''"); $sq->rawQuery("update resourceplan set realname = nname where realname is null"); $sq->rawQuery("alter table dns change ser_dns_record_a ser_dns_record_a longtext"); lxshell_php("../bin/common/fixresourceplan.php"); print "Fix database (Favorites)\n"; call_with_flag("convert_favorite"); lxfile_touch($file); }
function convert_favorite() { lxshell_php("../bin/common/favoriteconvert.php"); }
function updateIPpool($param) { lxshell_php("../bin/fix/fixippool.php"); }
function fixDataBaseIssues() { log_cleanup("Fix Database Issues"); log_cleanup("- Fix admin account database settings"); $sq = new Sqlite(null, 'domain'); $sq->rawQuery("update domain set priv_q_php_flag = 'on'"); $sq->rawQuery("update web set priv_q_php_flag = 'on'"); $sq->rawQuery("update client set priv_q_php_flag = 'on'"); $sq->rawQuery("update client set priv_q_addondomain_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_rubyrails_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_rubyfcgiprocess_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_mysqldb_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_phpfcgi_flag = 'on' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_phpfcgiprocess_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_subdomain_num = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_totaldisk_usage = 'Unlimited' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_php_manage_flag = 'on' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_installapp_flag = 'on' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_cron_minute_flag = 'on' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_document_root_flag = 'on' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_runstats_flag = 'on' where nname = 'admin'"); $sq->rawQuery("update client set priv_q_webhosting_flag = 'on' where nname = 'admin'"); $sq->rawQuery("update ticket set parent_clname = 'client-admin' where subject = 'Welcome to Kloxo'"); $sq->rawQuery("update domain set dtype = 'maindomain' where dtype = 'domain'"); log_cleanup("- Set default database settings"); db_set_default('mmail', 'remotelocalflag', 'local'); db_set_default('mmail', 'syncserver', 'localhost'); db_set_default('dns', 'syncserver', 'localhost'); db_set_default('pserver', 'coma_psrole_a', ',web,dns,mmail,mysqldb,'); db_set_default('web', 'syncserver', 'localhost'); db_set_default('uuser', 'syncserver', 'localhost'); db_set_default('client', 'syncserver', 'localhost'); db_set_default('addondomain', 'mail_flag', 'on'); db_set_default('client', 'priv_q_can_change_limit_flag', 'on'); db_set_default('web', 'priv_q_installapp_flag', 'on'); db_set_default('client', 'priv_q_installapp_flag', 'on'); db_set_default('client', 'websyncserver', 'localhost'); db_set_default('client', 'mmailsyncserver', 'localhost'); db_set_default('client', 'mysqldbsyncserver', 'localhost'); db_set_default('client', 'priv_q_can_change_password_flag', 'on'); db_set_default('client', 'coma_dnssyncserver_list', ',localhost,'); db_set_default('domain', 'priv_q_installapp_flag', 'on'); db_set_default('domain', 'dtype', 'domain'); db_set_default('domain', 'priv_q_php_manage_flag', 'on'); db_set_default('web', 'priv_q_php_manage_flag', 'on'); db_set_default('client', 'priv_q_php_manage_flag', 'on'); db_set_default('client', 'priv_q_webhosting_flag', 'on'); db_set_default_variable_diskusage('client', 'priv_q_totaldisk_usage', 'priv_q_disk_usage'); db_set_default_variable_diskusage('domain', 'priv_q_totaldisk_usage', 'priv_q_disk_usage'); db_set_default_variable('web', 'docroot', 'nname'); db_set_default_variable('client', 'used_q_maindomain_num', 'used_q_domain_num'); db_set_default_variable('client', 'priv_q_maindomain_num', 'priv_q_domain_num'); db_set_default("servermail", "domainkey_flag", "on"); log_cleanup("- Fix resourceplan settings in database"); migrateResourceplan('domain'); $sq->rawQuery("update resourceplan set realname = nname where realname = ''"); $sq->rawQuery("update resourceplan set realname = nname where realname is null"); lxshell_php("../bin/common/fixresourceplan.php"); log_cleanup("- Alter some database tables to fit that of Kloxo"); // TODO: Check if this is still longer needed! $sq->rawQuery("alter table sslcert change text_ca_content text_ca_content longtext"); $sq->rawQuery("alter table sslcert change text_key_content text_key_content longtext"); $sq->rawQuery("alter table sslcert change text_csr_content text_csr_content longtext"); $sq->rawQuery("alter table sslcert change text_crt_content text_crt_content longtext"); $sq->rawQuery("alter table mailaccount change ser_forward_a ser_forward_a longtext"); $sq->rawQuery("alter table dns change ser_dns_record_a ser_dns_record_a longtext"); $sq->rawQuery("alter table installsoft change ser_installappmisc_b ser_installappmisc_b longtext"); $sq->rawQuery("alter table web change ser_redirect_a ser_redirect_a longtext"); log_cleanup("- Set default welcome text at Kloxo login page"); initDbLoginPre(); log_cleanup("- Remove default db password if exists"); critical_change_db_pass(); }
debug_for_backend(); $global_dontlogshell = true; execSisinfoc(); system("iptables -t nat -L"); vpstraffic__openvz::iptables_delete(); vpstraffic__openvz::iptables_create(); if ($argv[1] === 'master') { start_portmonitor(); } dprint("Starting Server\n"); system("echo 16536 > /proc/sys/net/ipv4/tcp_max_tw_buckets_ve"); system("echo 256 > /proc/sys/net/ipv4/tcp_max_tw_kmem_fraction"); if (is_openvz()) { //system("sysctl net.ipv4.conf.all.proxy_arp=1"); } lxshell_php("../bin/fix/fixippool.php"); $global_dontlogshell = false; lxserver_main(); function timed_execution() { global $global_dontlogshell; $global_dontlogshell = true; timed_exec(2, "checkRestart"); timed_exec(2 * 5, "execSisinfoc"); $global_dontlogshell = false; } function execSisinfoc() { dprint("execing sisinfoc\n"); lxshell_background("__path_php_path", "../bin/sisinfoc.php"); }
function fix_move_to_client() { lxshell_php("../bin/fix/fixmovetoclient.php"); }