diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index 02d08ff99a99ea38160d77e71ee2063f69407030..4d2652e3f68bdc7b8a7b73c575a1eaf6b74eb8d4 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -13,6 +13,7 @@ hostname=server1.domain.tld nameservers=192.168.0.1,192.168.0.2 loglevel=2 backup_dir=/var/backup +backup_dir_ftpread=y [mail] module=postfix_mysql diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 38d282b958f922e6cdd5fd085e22b9190da83533..47ba89c3b7f7c9a551a25397be7f34ba08bb2987 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -138,6 +138,12 @@ $form["tabs"]['server'] = array( 'width' => '40', 'maxlength' => '255' ), + 'backup_dir_ftpread' => array( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array(0 => 'n', 1 => 'y') + ), ################################## # ENDE Datatable fields ################################## diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index 6c1e1a772397b91b2621cf1940250ca49ab2d5f2..6b9bbfe2c02eec4b08bc7a82802c9e41b1bbd452 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -86,4 +86,5 @@ $wb["network_config_warning_txt"] = 'The network configuration option is only av $wb["CA_path_txt"] = 'CA Path'; $wb["CA_pass_txt"] = 'CA passphrase'; $wb["fastcgi_config_syntax_txt"] = 'FastCGI config syntax'; +$wb["backup_dir_ftpread_txt"] = 'Backup dir. readable for website FTP users.'; ?> \ No newline at end of file diff --git a/interface/web/admin/templates/server_config_server_edit.htm b/interface/web/admin/templates/server_config_server_edit.htm index a0e08cb4d4db705c60961eceef988fe2ab60d994..8f42d8cc53e8bdfbfa163da206adbd42dc292bd6 100644 --- a/interface/web/admin/templates/server_config_server_edit.htm +++ b/interface/web/admin/templates/server_config_server_edit.htm @@ -42,6 +42,12 @@ +
+

{tmpl_var name='backup_dir_ftpread_txt'}

+
+ {tmpl_var name='backup_dir_ftpread'} +
+
diff --git a/server/cron_daily.php b/server/cron_daily.php index 6f3774b8c1f1da7f8dfb84e54548fb3455614b5c..e21520c5c05d67eb8d856e2f0b997edf0c636936 100644 --- a/server/cron_daily.php +++ b/server/cron_daily.php @@ -435,8 +435,16 @@ $backup_dir = $server_config['backup_dir']; if($backup_dir != '') { + if(isset($server_config['backup_dir_ftpread']) && $server_config['backup_dir_ftpread'] == 'y') { + $backup_dir_permissions = 0755; + } else { + $backup_dir_permissions = 0750; + } + if(!is_dir($backup_dir)) { - mkdir(escapeshellcmd($backup_dir), 0750, true); + mkdir(escapeshellcmd($backup_dir), $backup_dir_permissions, true); + } else { + chmod(escapeshellcmd($backup_dir), $backup_dir_permissions); } $sql = "SELECT * FROM web_domain WHERE type = 'vhost'";