diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php index a4c37893082259f43c902dadcfb30f0b2ea1ceff..736fa4fa1db4b82c3ed525857519d735b27efa25 100644 --- a/install/dist/lib/gentoo.lib.php +++ b/install/dist/lib/gentoo.lib.php @@ -290,7 +290,7 @@ class installer extends installer_base //* Configure master.cf and add a line for deliver $content = rf($conf["postfix"]["config_dir"].'/master.cf'); $deliver_content = 'dovecot unix - n n - - pipe'."\n".' flags=DROhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}@${nexthop}'; - af($conf[$config_dir.'/master.cf', $deliver_content); + af($configdir.'/master.cf', $deliver_content); unset($content); unset($deliver_content); } diff --git a/install/install.php b/install/install.php index c9f6545190825c1c7b613e3084c4acf6e7c4d1a2..a4396723c42b50456a6747d1e89bd836b11e13e8 100644 --- a/install/install.php +++ b/install/install.php @@ -248,11 +248,11 @@ if($install_mode == 'standard') { $inst->add_database_server_record(); //* Configure Postgrey - $force = @($conf['postgrey']['installed']) ? true : $inst->force_configure_app('Postgrey'); + $force = @($conf['postgrey']['installed']) ? true : $inst->force_configure_app('Postgrey', false); if($force) swriteln('Configuring Postgrey'); //* Configure Postfix - $force = @($conf['postfix']['installed']) ? true : $inst->force_configure_app('Postfix'); + $force = @($conf['postfix']['installed']) ? true : $inst->force_configure_app('Postfix', false); if($force) { swriteln('Configuring Postfix'); $inst->configure_postfix(); @@ -262,7 +262,7 @@ if($install_mode == 'standard') { if($conf['services']['mail']) { //* Configure Mailman - $force = @($conf['mailman']['installed']) ? true : $inst->force_configure_app('Mailman'); + $force = @($conf['mailman']['installed']) ? true : $inst->force_configure_app('Mailman', false); if($force) { swriteln('Configuring Mailman'); $inst->configure_mailman(); @@ -270,8 +270,8 @@ if($install_mode == 'standard') { //* Check for Dovecot and Courier if(!$conf['dovecot']['installed'] && !$conf['courier']['installed']) { - $conf['dovecot']['installed'] = $inst->force_configure_app('Dovecot'); - $conf['courier']['installed'] = $inst->force_configure_app('Courier'); + $conf['dovecot']['installed'] = $inst->force_configure_app('Dovecot', false); + $conf['courier']['installed'] = $inst->force_configure_app('Courier', false); } //* Configure Mailserver - Dovecot or Courier if($conf['dovecot']['installed'] && $conf['courier']['installed']) { @@ -298,21 +298,21 @@ if($install_mode == 'standard') { } //* Configure Spamasassin - $force = @($conf['spamassassin']['installed']) ? true : $inst->force_configure_app('Spamassassin'); + $force = @($conf['spamassassin']['installed']) ? true : $inst->force_configure_app('Spamassassin', false); if($force) { swriteln('Configuring Spamassassin'); $inst->configure_spamassassin(); } //* Configure Amavis - $force = @($conf['amavis']['installed']) ? true : $inst->force_configure_app('Amavisd'); + $force = @($conf['amavis']['installed']) ? true : $inst->force_configure_app('Amavisd', false); if($force) { swriteln('Configuring Amavisd'); $inst->configure_amavis(); } //* Configure Getmail - $force = @($conf['getmail']['installed']) ? true : $inst->force_configure_app('Getmail'); + $force = @($conf['getmail']['installed']) ? true : $inst->force_configure_app('Getmail', false); if($force) { swriteln('Configuring Getmail'); $inst->configure_getmail(); @@ -322,9 +322,9 @@ if($install_mode == 'standard') { //* Check for DNS if(!$conf['powerdns']['installed'] && !$conf['bind']['installed'] && !$conf['mydns']['installed']) { - $conf['powerdns']['installed'] = $inst->force_configure_app('PowerDNS'); - $conf['bind']['installed'] = $inst->force_configure_app('BIND'); - $conf['mydns']['installed'] = $inst->force_configure_app('MyDNS'); + $conf['powerdns']['installed'] = $inst->force_configure_app('PowerDNS', false); + $conf['bind']['installed'] = $inst->force_configure_app('BIND', false); + $conf['mydns']['installed'] = $inst->force_configure_app('MyDNS', false); } //* Configure PowerDNS if($conf['powerdns']['installed']) { @@ -346,14 +346,14 @@ if($install_mode == 'standard') { } //* Configure Jailkit - $force = @($conf['jailkit']['installed']) ? true : $inst->force_configure_app('Jailkit'); + $force = @($conf['jailkit']['installed']) ? true : $inst->force_configure_app('Jailkit', false); if($force) { swriteln('Configuring Jailkit'); $inst->configure_jailkit(); } //* Configure Pureftpd - $force = @($conf['pureftpd']['installed']) ? true : $inst->force_configure_app('pureftpd'); + $force = @($conf['pureftpd']['installed']) ? true : $inst->force_configure_app('pureftpd', false); if($force) { swriteln('Configuring Pureftpd'); $inst->configure_pureftpd(); @@ -361,8 +361,8 @@ if($install_mode == 'standard') { //* Check for Web-Server if(!$conf['apache']['installed'] && !$conf['nginx']['installed']) { - $conf['apache']['installed'] = $inst->force_configure_app('Apache'); - $conf['nginx']['installed'] = $inst->force_configure_app('nginx'); + $conf['apache']['installed'] = $inst->force_configure_app('Apache', false); + $conf['nginx']['installed'] = $inst->force_configure_app('nginx', false); } //* Configure Webserver - Apache or nginx @@ -382,7 +382,7 @@ if($install_mode == 'standard') { $conf['services']['web'] = true; $conf['services']['file'] = true; //* Configure Vlogger - $force = @($conf['vlogger']['installed']) ? true : $inst->force_configure_app('vlogger'); + $force = @($conf['vlogger']['installed']) ? true : $inst->force_configure_app('vlogger', false); if($force) { swriteln('Configuring vlogger'); $inst->configure_vlogger(); @@ -406,7 +406,7 @@ if($install_mode == 'standard') { } //* Configure XMPP - $force = @($conf['xmpp']['installed']) ? true : $inst->force_configure_app('Metronome XMPP Server'); + $force = @($conf['xmpp']['installed']) ? true : $inst->force_configure_app('Metronome XMPP Server', false); if($force) { swriteln('Configuring Metronome XMPP Server'); $inst->configure_xmpp(); @@ -415,8 +415,8 @@ if($install_mode == 'standard') { //* Check for Firewall if(!$conf['ufw']['installed'] && !$conf['firewall']['installed']) { - $conf['ufw']['installed'] = $inst->force_configure_app('Ubuntu Firewall'); - $conf['firewall']['installed'] = $inst->force_configure_app('Bastille Firewall'); + $conf['ufw']['installed'] = $inst->force_configure_app('Ubuntu Firewall', false); + $conf['firewall']['installed'] = $inst->force_configure_app('Bastille Firewall', false); } //* Configure Firewall - Ubuntu or Bastille if($conf['ufw']['installed'] && $conf['firewall']['installed']) { @@ -441,14 +441,14 @@ if($install_mode == 'standard') { } //* Configure Fail2ban - $force = @($conf['fail2ban']['installed']) ? true : $inst->force_configure_app('Fail2ban'); + $force = @($conf['fail2ban']['installed']) ? true : $inst->force_configure_app('Fail2ban', false); if($force) { swriteln('Configuring Fail2ban'); $inst->configure_fail2ban(); } //* Configure OpenVZ - $force = @($conf['openvz']['installed']) ? true : $inst->force_configure_app('OpenVZ'); + $force = @($conf['openvz']['installed']) ? true : $inst->force_configure_app('OpenVZ', false); if($force) { $conf['services']['vserver'] = true; swriteln('Configuring OpenVZ'); @@ -873,4 +873,4 @@ chmod($md5_filename,0700); echo "Installation completed.\n"; -?> \ No newline at end of file +?> diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index 3f54fc8bec1c4c97822110ab9637ae2f1d57c1d7..87533e6c71018498a33a81e6b12612e3a9942463 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -164,13 +164,14 @@ class installer_base { if ($conf['services']['web'] && (($conf['apache']['installed'] && is_file($conf['apache']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")) || ($conf['nginx']['installed'] && is_file($conf['nginx']["vhost_conf_enabled_dir"]."/000-ispconfig.vhost")))) $this->ispconfig_interface_installed = true; } - public function force_configure_app($service) { + public function force_configure_app($service, $enable_force=true) { $force = false; swriteln("[WARN] autodetect for $service failed"); - if(strtolower($this->simple_query("Force configure $service", array('y', 'n'), 'n') ) == 'y') { -// swriteln("Configure $service"); - $force = true; - } else swriteln("Skipping $service\n"); + if($enable_force) { + if(strtolower($this->simple_query("Force configure $service", array('y', 'n'), 'n') ) == 'y') { + $force = true; + } else swriteln("Skipping $service\n"); + } return $force; } diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index df45246e64a1b01e64b2b777d1e31ae87488a794..1ed6e5ecf0f7c05ac75a96668dc380b042cc2fce 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -785,6 +785,7 @@ CREATE TABLE `mail_forwarding` ( `destination` text, `type` enum('alias','aliasdomain','forward','catchall') NOT NULL default 'alias', `active` enum('n','y') NOT NULL DEFAULT 'n', + `greylisting` enum('n','y' ) NOT NULL DEFAULT 'n', PRIMARY KEY (`forwarding_id`), KEY `server_id` (`server_id`,`source`), KEY `type` (`type`) @@ -928,6 +929,7 @@ CREATE TABLE `mail_user` ( `move_junk` enum('n','y') NOT NULL default 'n', `custom_mailfilter` mediumtext, `postfix` enum('n','y') NOT NULL default 'y', + `greylisting` enum('n','y' ) NOT NULL DEFAULT 'n', `access` enum('n','y') NOT NULL default 'y', `disableimap` enum('n','y') NOT NULL default 'n', `disablepop3` enum('n','y') NOT NULL default 'n', diff --git a/install/tpl/fedora_amavisd_conf.master b/install/tpl/fedora_amavisd_conf.master index 56b2d2c20df6a981fe03d05b3b601558945719e8..5275552e851d2577183ceb1dc632de36422f7023 100644 --- a/install/tpl/fedora_amavisd_conf.master +++ b/install/tpl/fedora_amavisd_conf.master @@ -48,7 +48,7 @@ $nanny_details_level = 2; # nanny verbosity: 1: traditional, 2: detailed @local_domains_maps = ( [".$mydomain"] ); # list of all local domains -@mynetworks = qw( 00.0.0.0/8 127.0.0.0/8 [::1] [FE80::]/10 [FEC0::]/10 +@mynetworks = qw( 0.0.0.0/8 127.0.0.0/8 [::1] [FE80::]/10 [FEC0::]/10 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 ); $unix_socketname = "$MYHOME/amavisd.sock"; # amavisd-release or amavis-milter diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index f521cabb39b86463c0b1b712037e7bf94b48df9e..dbff7edb5003864e2b88ed10b648ec95c143ea4c 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -18,7 +18,7 @@ admin_notify_events=1 backup_dir=/var/backup backup_dir_is_mount=y backup_mode=rootgz -backup_delete=y +backup_delete=n monit_url= monit_user= monit_password= diff --git a/interface/web/vm/lib/lang/ar_openvz_template.lng b/interface/web/vm/lib/lang/ar_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/ar_openvz_template.lng +++ b/interface/web/vm/lib/lang/ar_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/ar_openvz_vm.lng b/interface/web/vm/lib/lang/ar_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/ar_openvz_vm.lng +++ b/interface/web/vm/lib/lang/ar_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/bg_openvz_template.lng b/interface/web/vm/lib/lang/bg_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/bg_openvz_template.lng +++ b/interface/web/vm/lib/lang/bg_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/bg_openvz_vm.lng b/interface/web/vm/lib/lang/bg_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/bg_openvz_vm.lng +++ b/interface/web/vm/lib/lang/bg_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/br_openvz_template.lng b/interface/web/vm/lib/lang/br_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/br_openvz_template.lng +++ b/interface/web/vm/lib/lang/br_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/br_openvz_vm.lng b/interface/web/vm/lib/lang/br_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/br_openvz_vm.lng +++ b/interface/web/vm/lib/lang/br_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/cz_openvz_template.lng b/interface/web/vm/lib/lang/cz_openvz_template.lng index 7fff3b31fe28cdd8d6b159ea1063b708f6aa2965..3abd8167dc709ba7259c5f9bbe314e06b0ee3abb 100644 --- a/interface/web/vm/lib/lang/cz_openvz_template.lng +++ b/interface/web/vm/lib/lang/cz_openvz_template.lng @@ -91,6 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Šablona'; $wb['Advanced'] = 'Pokročilý'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> - diff --git a/interface/web/vm/lib/lang/cz_openvz_vm.lng b/interface/web/vm/lib/lang/cz_openvz_vm.lng index c2c26d002d0e66fd1ff26460d52052e46a2d2208..eaf12b75576efc915e07765926bad49cfa09bcd9 100644 --- a/interface/web/vm/lib/lang/cz_openvz_vm.lng +++ b/interface/web/vm/lib/lang/cz_openvz_vm.lng @@ -38,6 +38,6 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Pokročilý'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/de_openvz_template.lng b/interface/web/vm/lib/lang/de_openvz_template.lng index 0f0e3ae27aa444ffc8f24d99d5325ba7d555e789..c86e878b75db6b359c15993fb8d0a69f2939ec70 100644 --- a/interface/web/vm/lib/lang/de_openvz_template.lng +++ b/interface/web/vm/lib/lang/de_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages ist leer.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Erweitert'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/de_openvz_vm.lng b/interface/web/vm/lib/lang/de_openvz_vm.lng index b41c65dcf6bd04c9e0a19a350b43bfa980fc6c5d..edce4b733b1477cc52485ee839ac2144c642f14c 100644 --- a/interface/web/vm/lib/lang/de_openvz_vm.lng +++ b/interface/web/vm/lib/lang/de_openvz_vm.lng @@ -37,5 +37,5 @@ $wb['io_priority_error_empty'] = 'I/O Priorität ist leer.'; $wb['template_nameserver_error_empty'] = 'Nameserver ist leer.'; $wb['Virtual server'] = 'Virtueller Server'; $wb['Advanced'] = 'Erweitert'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/el_openvz_template.lng b/interface/web/vm/lib/lang/el_openvz_template.lng index 2f5c8f6efa2ceb77d75fc5df834b3625aa1e94de..b8c654372351e19e6a53689f4e0cc9532c6b93fb 100644 --- a/interface/web/vm/lib/lang/el_openvz_template.lng +++ b/interface/web/vm/lib/lang/el_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/el_openvz_vm.lng b/interface/web/vm/lib/lang/el_openvz_vm.lng index 889d1f3bbbe6e699bdbea55b7a12244cd0381710..c74b1029232f8cdd8523be6a48db330e8a269567 100644 --- a/interface/web/vm/lib/lang/el_openvz_vm.lng +++ b/interface/web/vm/lib/lang/el_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Το Nameserver(s) είναι κενό $wb['Virtual server'] = 'Εικονικός server'; $wb['Advanced'] = 'Για προχωρημένους'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/en_openvz_template.lng b/interface/web/vm/lib/lang/en_openvz_template.lng index 1d9d457eafd7e402ee4a77306a90cb45e6e0ee48..a2b7f8db966feac079f8752917ab24fb1eae6c52 100644 --- a/interface/web/vm/lib/lang/en_openvz_template.lng +++ b/interface/web/vm/lib/lang/en_openvz_template.lng @@ -91,6 +91,5 @@ $wb["swappages_error_empty"] = 'Swappages is empty.'; $wb["Template"] = 'Template'; $wb["Advanced"] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb['features_txt'] = 'iptables'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/en_openvz_vm.lng b/interface/web/vm/lib/lang/en_openvz_vm.lng index d7ad26c95c0740dd3609142953ec9f1174ffae2c..67cdbfd6f5d05eb7338f354601fb4fc02c961632 100644 --- a/interface/web/vm/lib/lang/en_openvz_vm.lng +++ b/interface/web/vm/lib/lang/en_openvz_vm.lng @@ -38,5 +38,5 @@ $wb["template_nameserver_error_empty"] = 'Nameserver(s) is empty.'; $wb["Virtual server"] = 'Virtual server'; $wb["Advanced"] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/es_openvz_template.lng b/interface/web/vm/lib/lang/es_openvz_template.lng index d64c9813e334f6f79889b4177d0183d21ec2f123..cad093304b699820fb8675925eafe3dd51abe934 100644 --- a/interface/web/vm/lib/lang/es_openvz_template.lng +++ b/interface/web/vm/lib/lang/es_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages esta vacío.'; $wb['Template'] = 'Plantilla'; $wb['Advanced'] = 'Avanzado'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/es_openvz_vm.lng b/interface/web/vm/lib/lang/es_openvz_vm.lng index 495de6fcb903f7ad164d9207887ec43fc47cd4c4..6a88f4f441ba82d125555dc216aa3a39d26a43b6 100644 --- a/interface/web/vm/lib/lang/es_openvz_vm.lng +++ b/interface/web/vm/lib/lang/es_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) está vacío.'; $wb['Virtual server'] = 'Servidor virtual'; $wb['Advanced'] = 'Avanzado'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/fi_openvz_template.lng b/interface/web/vm/lib/lang/fi_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/fi_openvz_template.lng +++ b/interface/web/vm/lib/lang/fi_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/fi_openvz_vm.lng b/interface/web/vm/lib/lang/fi_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/fi_openvz_vm.lng +++ b/interface/web/vm/lib/lang/fi_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/fr_openvz_template.lng b/interface/web/vm/lib/lang/fr_openvz_template.lng index 14655c0ec5d14e54f5fea9798b975a71965b72c1..66db26534dad061c2e2b72f663588b44513e7189 100644 --- a/interface/web/vm/lib/lang/fr_openvz_template.lng +++ b/interface/web/vm/lib/lang/fr_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages est vide.'; $wb['Template'] = 'Modèle'; $wb['Advanced'] = 'Avancé'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/fr_openvz_vm.lng b/interface/web/vm/lib/lang/fr_openvz_vm.lng index 96728481b5797e8e37d51f2d94f020bbe5103e35..26d21a06346f2c62ad4a1de938ea23d9bd04ee2e 100644 --- a/interface/web/vm/lib/lang/fr_openvz_vm.lng +++ b/interface/web/vm/lib/lang/fr_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) est vide.'; $wb['Virtual server'] = 'Serveur virtuel'; $wb['Advanced'] = 'Avancé'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/hr_openvz_template.lng b/interface/web/vm/lib/lang/hr_openvz_template.lng index 19a371fbfec0525bd00e88a351c70edd11581ada..69b36b92026105395278dcc7847a99d5f3a64d9b 100644 --- a/interface/web/vm/lib/lang/hr_openvz_template.lng +++ b/interface/web/vm/lib/lang/hr_openvz_template.lng @@ -91,7 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages polje je prazno.'; $wb['Template'] = 'Predložak'; $wb['Advanced'] = 'Napredno'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> - - diff --git a/interface/web/vm/lib/lang/hr_openvz_vm.lng b/interface/web/vm/lib/lang/hr_openvz_vm.lng index 4be9932c38bda9b66807a179f8b1f536ff9735df..6ae18e105d1b59604440a782d8cf2b7aed01ef5a 100644 --- a/interface/web/vm/lib/lang/hr_openvz_vm.lng +++ b/interface/web/vm/lib/lang/hr_openvz_vm.lng @@ -38,7 +38,7 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(i) polje je prazno.'; $wb['Virtual server'] = 'Virtualni server'; $wb['Advanced'] = 'Napredno'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/hu_openvz_template.lng b/interface/web/vm/lib/lang/hu_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/hu_openvz_template.lng +++ b/interface/web/vm/lib/lang/hu_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/hu_openvz_vm.lng b/interface/web/vm/lib/lang/hu_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/hu_openvz_vm.lng +++ b/interface/web/vm/lib/lang/hu_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/id_openvz_template.lng b/interface/web/vm/lib/lang/id_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/id_openvz_template.lng +++ b/interface/web/vm/lib/lang/id_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/id_openvz_vm.lng b/interface/web/vm/lib/lang/id_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/id_openvz_vm.lng +++ b/interface/web/vm/lib/lang/id_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/it_openvz_template.lng b/interface/web/vm/lib/lang/it_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/it_openvz_template.lng +++ b/interface/web/vm/lib/lang/it_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/it_openvz_vm.lng b/interface/web/vm/lib/lang/it_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/it_openvz_vm.lng +++ b/interface/web/vm/lib/lang/it_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/ja_openvz_template.lng b/interface/web/vm/lib/lang/ja_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/ja_openvz_template.lng +++ b/interface/web/vm/lib/lang/ja_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/ja_openvz_vm.lng b/interface/web/vm/lib/lang/ja_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/ja_openvz_vm.lng +++ b/interface/web/vm/lib/lang/ja_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/nl_openvz_template.lng b/interface/web/vm/lib/lang/nl_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/nl_openvz_template.lng +++ b/interface/web/vm/lib/lang/nl_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/nl_openvz_vm.lng b/interface/web/vm/lib/lang/nl_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/nl_openvz_vm.lng +++ b/interface/web/vm/lib/lang/nl_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/pl_openvz_template.lng b/interface/web/vm/lib/lang/pl_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/pl_openvz_template.lng +++ b/interface/web/vm/lib/lang/pl_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/pl_openvz_vm.lng b/interface/web/vm/lib/lang/pl_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/pl_openvz_vm.lng +++ b/interface/web/vm/lib/lang/pl_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/pt_openvz_template.lng b/interface/web/vm/lib/lang/pt_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/pt_openvz_template.lng +++ b/interface/web/vm/lib/lang/pt_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/pt_openvz_vm.lng b/interface/web/vm/lib/lang/pt_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/pt_openvz_vm.lng +++ b/interface/web/vm/lib/lang/pt_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/ro_openvz_template.lng b/interface/web/vm/lib/lang/ro_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/ro_openvz_template.lng +++ b/interface/web/vm/lib/lang/ro_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/ro_openvz_vm.lng b/interface/web/vm/lib/lang/ro_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/ro_openvz_vm.lng +++ b/interface/web/vm/lib/lang/ro_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/ru_openvz_template.lng b/interface/web/vm/lib/lang/ru_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/ru_openvz_template.lng +++ b/interface/web/vm/lib/lang/ru_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/ru_openvz_vm.lng b/interface/web/vm/lib/lang/ru_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/ru_openvz_vm.lng +++ b/interface/web/vm/lib/lang/ru_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/se_openvz_template.lng b/interface/web/vm/lib/lang/se_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/se_openvz_template.lng +++ b/interface/web/vm/lib/lang/se_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/se_openvz_vm.lng b/interface/web/vm/lib/lang/se_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/se_openvz_vm.lng +++ b/interface/web/vm/lib/lang/se_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/sk_openvz_template.lng b/interface/web/vm/lib/lang/sk_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/sk_openvz_template.lng +++ b/interface/web/vm/lib/lang/sk_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/sk_openvz_vm.lng b/interface/web/vm/lib/lang/sk_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/sk_openvz_vm.lng +++ b/interface/web/vm/lib/lang/sk_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/tr_openvz_template.lng b/interface/web/vm/lib/lang/tr_openvz_template.lng index 217747c711fec3173b3986e05f6d47eb1458562e..262cad0dab88af8bf1d89b98b5bfb021a6089220 100644 --- a/interface/web/vm/lib/lang/tr_openvz_template.lng +++ b/interface/web/vm/lib/lang/tr_openvz_template.lng @@ -91,5 +91,5 @@ $wb['swappages_error_empty'] = 'Swappages is empty.'; $wb['Template'] = 'Template'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/lib/lang/tr_openvz_vm.lng b/interface/web/vm/lib/lang/tr_openvz_vm.lng index 06a10d2fab952faca1e5452f5b63a43152021103..3f4e1c1ee1d2a76cbf5d17347673f845e14ccb76 100644 --- a/interface/web/vm/lib/lang/tr_openvz_vm.lng +++ b/interface/web/vm/lib/lang/tr_openvz_vm.lng @@ -38,5 +38,5 @@ $wb['template_nameserver_error_empty'] = 'Nameserver(s) is empty.'; $wb['Virtual server'] = 'Virtual server'; $wb['Advanced'] = 'Advanced'; $wb['features_txt'] = 'Features'; -$wb["iptables_txt"] = "iptables"; +$wb["iptables_txt"] = "IP Tables"; ?> diff --git a/interface/web/vm/templates/openvz_template_advanced_edit.htm b/interface/web/vm/templates/openvz_template_advanced_edit.htm index 4ef22d6b079c3d2b156906b5e6fc03fbb36abbf7..d3dee9a281a1afe800724566c0a87e21553d5a29 100644 --- a/interface/web/vm/templates/openvz_template_advanced_edit.htm +++ b/interface/web/vm/templates/openvz_template_advanced_edit.htm @@ -15,8 +15,8 @@
- -
+ +
@@ -34,16 +34,16 @@
-
+
-
+
-
+
diff --git a/server/lib/classes/cron.d/500-backup.inc.php b/server/lib/classes/cron.d/500-backup.inc.php index a9fa3f91fe06553045750d1079b3f396868a97ce..e196cb5f890509ac8eaba62fea41449261fe7ce7 100644 --- a/server/lib/classes/cron.d/500-backup.inc.php +++ b/server/lib/classes/cron.d/500-backup.inc.php @@ -192,11 +192,16 @@ class cronjob_backup extends cronjob { $web_user = $rec['system_user']; $web_backup_dir = realpath($backup_dir.'/web'.$web_id); if(is_dir($web_backup_dir)) { - exec('sudo -u '.escapeshellarg($web_user).' rm -f '.escapeshellarg($web_backup_dir.'/*')); - $sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ?"; - $app->db->query($sql, $conf['server_id'], $web_id); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $web_id); + $dir_handle = opendir($web_backup_dir.'/'); + while ($file = readdir($dir_handle)) { + if(!is_dir($file)) { + unlink ("$web_backup_dir/"."$file"); + } + } } + $sql = "DELETE FROM web_backup WHERE server_id = ? AND parent_domain_id = ?"; + $app->db->query($sql, $conf['server_id'], $web_id); + if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $web_id); } } } @@ -353,15 +358,7 @@ class cronjob_backup extends cronjob { } //* end run_backups if( $server_config['backup_dir_is_mount'] == 'y' ) $app->system->umount_backup_dir($backup_dir); - } else { - //* send email to admin that backup directory could not be mounted - $global_config = $app->getconf->get_global_config('mail'); - if($global_config['admin_mail'] != ''){ - $subject = 'Backup directory '.$backup_dir.' could not be mounted'; - $message = "Backup directory ".$backup_dir." could not be mounted.\n\nThe command\n\n".$server_config['backup_dir_mount_cmd']."\n\nfailed."; - mail($global_config['admin_mail'], $subject, $message); - } - } + } } // delete files from backup download dir (/var/www/example.com/backup) diff --git a/server/lib/classes/cron.d/500-backup_mail.inc.php b/server/lib/classes/cron.d/500-backup_mail.inc.php index 89cb1673b45530cc28bd6ffe71d4a322ba11409d..6e718b89b3b212ecf7895cc92e4e8cabb94a20b3 100644 --- a/server/lib/classes/cron.d/500-backup_mail.inc.php +++ b/server/lib/classes/cron.d/500-backup_mail.inc.php @@ -66,7 +66,6 @@ class cronjob_backup_mail extends cronjob { if( $server_config['backup_dir_is_mount'] == 'y' && !$app->system->mount_backup_dir($backup_dir) ) $run_backups = false; $records = $app->db->queryAllRecords("SELECT * FROM mail_user WHERE server_id = ? AND maildir != ''", intval($conf['server_id'])); - if(is_array($records) && $run_backups) { if(!is_dir($backup_dir)) { mkdir(escapeshellcmd($backup_dir), $backup_dir_permissions, true); @@ -76,12 +75,13 @@ class cronjob_backup_mail extends cronjob { foreach($records as $rec) { //* Do the mailbox backup + $email = $rec['email']; + $temp = explode("@",$email); + $domain = $temp[1]; + unset($temp); + $domain_rec=$app->db->queryOneRecord("SELECT * FROM mail_domain WHERE domain = ?", $domain); + if($rec['backup_interval'] == 'daily' or ($rec['backup_interval'] == 'weekly' && date('w') == 0) or ($rec['backup_interval'] == 'monthly' && date('d') == '01')) { - $email = $rec['email']; - $temp = explode("@",$email); - $domain = $temp[1]; - unset($temp);; - $domain_rec=$app->db->queryOneRecord("SELECT * FROM mail_domain WHERE domain = ?", $domain); $backupusername = 'root'; $backupgroup = 'root'; @@ -194,23 +194,29 @@ class cronjob_backup_mail extends cronjob { unset($dir_handle); } /* Remove inactive backups */ - if($rec['backup_interval'] == 'none') { - /* remove backups from db */ - $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ?"; - $app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']); - if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']); + if($rec['backup_interval'] == 'none' || $rec['backup_interval'] == '') { + /* remove archives */ - $mail_backup_dir = $backup_dir.'/mail'.$rec['domain_id']; + $mail_backup_dir = realpath($backup_dir.'/mail'.$domain_rec['domain_id']); $mail_backup_file = 'mail'.$rec['mailuser_id'].'_*'; if(is_dir($mail_backup_dir)) { - foreach (glob($mail_backup_dir.'/'.$mail_backup_file) as $filename) { - unlink($filename); + $dir_handle = opendir($mail_backup_dir.'/'); + while ($file = readdir($dir_handle)) { + if(!is_dir($file)) { + unlink ("$mail_backup_dir/"."$file"); + } } } + /* remove backups from db */ + $sql = "DELETE FROM mail_backup WHERE server_id = ? AND parent_domain_id = ? AND mailuser_id = ?"; + $app->db->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']); + if($app->db->dbHost != $app->dbmaster->dbHost) $app->dbmaster->query($sql, $conf['server_id'], $domain_rec['domain_id'], $rec['mailuser_id']); + } } if( $server_config['backup_dir_is_mount'] == 'y' ) $app->system->umount_backup_dir($backup_dir); - } //* end run_backups + //* end run_backups + } } parent::onRunJob(); diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php index 98fc51fdef84cf4a018eb9a927224ad525608c6e..739e8220e13cf43fdca96e63d731798e0f503c8c 100644 --- a/server/lib/classes/system.inc.php +++ b/server/lib/classes/system.inc.php @@ -1802,6 +1802,8 @@ class system{ } function mount_backup_dir($backup_dir, $mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_mount.sh'){ + global $app, $conf; + $mounted = true; if ( is_file($mount_cmd) && is_executable($mount_cmd) && @@ -1813,11 +1815,22 @@ class system{ if (!$this->is_mounted($backup_dir)) $mounted = false; } } else $mounted = false; + if (!$mounted) { + //* send email to admin that backup directory could not be mounted + $global_config = $app->getconf->get_global_config('mail'); + if($global_config['admin_mail'] != ''){ + $subject = 'Backup directory '.$backup_dir.' could not be mounted'; + $message = "Backup directory ".$backup_dir." could not be mounted.\n\nThe command\n\n".$mount_cmd."\n\nfailed."; + mail($global_config['admin_mail'], $subject, $message); + } + } return $mounted; } function umount_backup_dir($backup_dir, $mount_cmd = '/usr/local/ispconfig/server/scripts/backup_dir_umount.sh'){ + global $app, $conf; + if ( is_file($mount_cmd) && is_executable($mount_cmd) && fileowner($mount_cmd) === 0 @@ -1828,7 +1841,19 @@ class system{ } } - return $this->is_mounted($backup_dir) == 0 ? true : false; + $unmounted = $this->is_mounted($backup_dir) == 0 ? true : false; + if(!$unmounted) { + //* send email to admin that backup directory could not be unmounted + $global_config = $app->getconf->get_global_config('mail'); + if($global_config['admin_mail'] != ''){ + $subject = 'Backup directory '.$backup_dir.' could not be unmounted'; + $message = "Backup directory ".$backup_dir." could not be unmounted.\n\nThe command\n\n".$mount_cmd."\n\nfailed."; + mail($global_config['admin_mail'], $subject, $message); + } + } + + return $unmounted; + } function getinitcommand($servicename, $action, $init_script_directory = ''){