From 1dbd0e3540eba5d304f54842ae4cfd8397484d29 Mon Sep 17 00:00:00 2001 From: Florian Schaal Date: Mon, 19 Oct 2015 15:22:51 +0200 Subject: [PATCH] FS#2403 - Disable apps vhost in server config --- install/tpl/server.ini.master | 1 + .../web/admin/form/server_config.tform.php | 6 ++++++ .../web/admin/lib/lang/ar_server_config.lng | 1 + .../web/admin/lib/lang/bg_server_config.lng | 1 + .../web/admin/lib/lang/br_server_config.lng | 1 + .../web/admin/lib/lang/cz_server_config.lng | 1 + .../web/admin/lib/lang/de_server_config.lng | 1 + .../web/admin/lib/lang/el_server_config.lng | 1 + .../web/admin/lib/lang/en_server_config.lng | 1 + .../web/admin/lib/lang/es_server_config.lng | 1 + .../web/admin/lib/lang/fi_server_config.lng | 1 + .../web/admin/lib/lang/fr_server_config.lng | 1 + .../web/admin/lib/lang/hr_server_config.lng | 1 + .../web/admin/lib/lang/hu_server_config.lng | 1 + .../web/admin/lib/lang/id_server_config.lng | 1 + .../web/admin/lib/lang/it_server_config.lng | 1 + .../web/admin/lib/lang/ja_server_config.lng | 1 + .../web/admin/lib/lang/nl_server_config.lng | 1 + .../web/admin/lib/lang/pl_server_config.lng | 1 + .../web/admin/lib/lang/pt_server_config.lng | 1 + .../web/admin/lib/lang/ro_server_config.lng | 1 + .../web/admin/lib/lang/ru_server_config.lng | 1 + .../web/admin/lib/lang/se_server_config.lng | 1 + .../web/admin/lib/lang/sk_server_config.lng | 1 + .../web/admin/lib/lang/tr_server_config.lng | 1 + .../templates/server_config_web_edit.htm | 3 +++ .../apps_vhost_plugin.inc.php | 20 +++++++++++++++++++ 27 files changed, 53 insertions(+) diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index d50d244f70..286dc077b5 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -72,6 +72,7 @@ user=www-data group=www-data nginx_user=www-data nginx_group=www-data +apps_vhost_enabled=y apps_vhost_port=8081 apps_vhost_ip=_default_ apps_vhost_servername= diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index 988620894a..adc55b190f 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -1038,6 +1038,12 @@ $form["tabs"]['web'] = array( 1 => 'y' ) ), + 'apps_vhost_enabled' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'y', + 'value' => array (0 => 'n', 1 => 'y') + ), 'apps_vhost_port' => array( 'datatype' => 'VARCHAR', 'formtype' => 'TEXT', diff --git a/interface/web/admin/lib/lang/ar_server_config.lng b/interface/web/admin/lib/lang/ar_server_config.lng index e2f2db4e20..50000791bd 100644 --- a/interface/web/admin/lib/lang/ar_server_config.lng +++ b/interface/web/admin/lib/lang/ar_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/bg_server_config.lng b/interface/web/admin/lib/lang/bg_server_config.lng index 4365d91108..3d805a90d9 100644 --- a/interface/web/admin/lib/lang/bg_server_config.lng +++ b/interface/web/admin/lib/lang/bg_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/br_server_config.lng b/interface/web/admin/lib/lang/br_server_config.lng index e34e4ff088..212f9c0f53 100644 --- a/interface/web/admin/lib/lang/br_server_config.lng +++ b/interface/web/admin/lib/lang/br_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/cz_server_config.lng b/interface/web/admin/lib/lang/cz_server_config.lng index 8df2dbe238..eddcd21b97 100644 --- a/interface/web/admin/lib/lang/cz_server_config.lng +++ b/interface/web/admin/lib/lang/cz_server_config.lng @@ -253,5 +253,6 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index aa448d86b7..13f7834655 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -266,4 +266,5 @@ $wb['php_ini_check_minutes_info_txt'] = '0 = keine Prüfung'; $wb['php_handler_txt'] = 'Standard-PHP-Handler'; $wb['enable_spdy_txt'] = 'Stellt SPDY zur Verfügung'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/el_server_config.lng b/interface/web/admin/lib/lang/el_server_config.lng index 2cef4ed735..e672f60d76 100644 --- a/interface/web/admin/lib/lang/el_server_config.lng +++ b/interface/web/admin/lib/lang/el_server_config.lng @@ -250,4 +250,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index b5e4237ea2..ac7e2d5e0a 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -281,4 +281,5 @@ $wb['xmpp_port_https_txt'] = 'HTTPS'; $wb['xmpp_port_pastebin_txt'] = 'Pastebin'; $wb['xmpp_port_bosh_txt'] = 'BOSH'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/es_server_config.lng b/interface/web/admin/lib/lang/es_server_config.lng index a62b3f6198..16e406c64f 100644 --- a/interface/web/admin/lib/lang/es_server_config.lng +++ b/interface/web/admin/lib/lang/es_server_config.lng @@ -253,4 +253,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/fi_server_config.lng b/interface/web/admin/lib/lang/fi_server_config.lng index f4f88564cc..061465ca88 100755 --- a/interface/web/admin/lib/lang/fi_server_config.lng +++ b/interface/web/admin/lib/lang/fi_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/fr_server_config.lng b/interface/web/admin/lib/lang/fr_server_config.lng index 0ceb4af89c..8fa674c100 100644 --- a/interface/web/admin/lib/lang/fr_server_config.lng +++ b/interface/web/admin/lib/lang/fr_server_config.lng @@ -252,5 +252,6 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/hr_server_config.lng b/interface/web/admin/lib/lang/hr_server_config.lng index eaf7fb6c82..c11593f28b 100644 --- a/interface/web/admin/lib/lang/hr_server_config.lng +++ b/interface/web/admin/lib/lang/hr_server_config.lng @@ -256,6 +256,7 @@ $wb['crontab_dir_error_regex'] = 'Neispravan crontab direktorij.'; $wb['cron_wget_error_regex'] = 'Neispravna cron wget putanja.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/hu_server_config.lng b/interface/web/admin/lib/lang/hu_server_config.lng index 58b95245c0..1e4c2a1bd5 100644 --- a/interface/web/admin/lib/lang/hu_server_config.lng +++ b/interface/web/admin/lib/lang/hu_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/id_server_config.lng b/interface/web/admin/lib/lang/id_server_config.lng index 5f89667c40..8c26f2643b 100644 --- a/interface/web/admin/lib/lang/id_server_config.lng +++ b/interface/web/admin/lib/lang/id_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/it_server_config.lng b/interface/web/admin/lib/lang/it_server_config.lng index c3d435b1e4..3b5cfcfe6e 100644 --- a/interface/web/admin/lib/lang/it_server_config.lng +++ b/interface/web/admin/lib/lang/it_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/ja_server_config.lng b/interface/web/admin/lib/lang/ja_server_config.lng index 3f3c63940a..76e1cf87ae 100644 --- a/interface/web/admin/lib/lang/ja_server_config.lng +++ b/interface/web/admin/lib/lang/ja_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/nl_server_config.lng b/interface/web/admin/lib/lang/nl_server_config.lng index e9c32b525d..b31b45236d 100644 --- a/interface/web/admin/lib/lang/nl_server_config.lng +++ b/interface/web/admin/lib/lang/nl_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/pl_server_config.lng b/interface/web/admin/lib/lang/pl_server_config.lng index 9c55a4f767..d1a0b6750b 100644 --- a/interface/web/admin/lib/lang/pl_server_config.lng +++ b/interface/web/admin/lib/lang/pl_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/pt_server_config.lng b/interface/web/admin/lib/lang/pt_server_config.lng index 712d15aeff..3081121c2b 100644 --- a/interface/web/admin/lib/lang/pt_server_config.lng +++ b/interface/web/admin/lib/lang/pt_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/ro_server_config.lng b/interface/web/admin/lib/lang/ro_server_config.lng index d6d950ffea..5ecec82d33 100644 --- a/interface/web/admin/lib/lang/ro_server_config.lng +++ b/interface/web/admin/lib/lang/ro_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/ru_server_config.lng b/interface/web/admin/lib/lang/ru_server_config.lng index 1acfb0541d..fbddb89166 100644 --- a/interface/web/admin/lib/lang/ru_server_config.lng +++ b/interface/web/admin/lib/lang/ru_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/se_server_config.lng b/interface/web/admin/lib/lang/se_server_config.lng index baf79af675..8bf64edf4e 100644 --- a/interface/web/admin/lib/lang/se_server_config.lng +++ b/interface/web/admin/lib/lang/se_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/sk_server_config.lng b/interface/web/admin/lib/lang/sk_server_config.lng index 1e8ae4dac1..6e79b15f08 100644 --- a/interface/web/admin/lib/lang/sk_server_config.lng +++ b/interface/web/admin/lib/lang/sk_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/lib/lang/tr_server_config.lng b/interface/web/admin/lib/lang/tr_server_config.lng index 2e7a7df1b1..531fe07acf 100644 --- a/interface/web/admin/lib/lang/tr_server_config.lng +++ b/interface/web/admin/lib/lang/tr_server_config.lng @@ -255,4 +255,5 @@ $wb['crontab_dir_error_regex'] = 'Invalid crontab directory.'; $wb['cron_wget_error_regex'] = 'Invalid cron wget path.'; $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb["disable_bind_log_txt"] = "Disable bind9 messages for Loglevel WARN"; +$wb["apps_vhost_enabled_txt"] = "Apps-vhost enabled"; ?> diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm index 9f8f9d8f21..f32e1473a7 100644 --- a/interface/web/admin/templates/server_config_web_edit.htm +++ b/interface/web/admin/templates/server_config_web_edit.htm @@ -228,6 +228,9 @@
+
+ +
{tmpl_var name='apps_vhost_enabled'}
diff --git a/server/plugins-available/apps_vhost_plugin.inc.php b/server/plugins-available/apps_vhost_plugin.inc.php index 320f3d024b..d5d5dc8a9a 100644 --- a/server/plugins-available/apps_vhost_plugin.inc.php +++ b/server/plugins-available/apps_vhost_plugin.inc.php @@ -119,6 +119,16 @@ class apps_vhost_plugin { /* end of backwards compatibility section */ $app->system->file_put_contents("$vhost_conf_dir/apps.vhost", $content); + + // enabled / disable apps-vhost + $vhost_symlink = escapeshellcmd($web_config['vhost_conf_enabled_dir'].'/000-apps.vhost'); + if(is_link($vhost_symlink) && $web_config['apps_vhost_enabled'] == 'n') { + $app->system->unlink($vhost_symlink); + } + if(!@is_link($vhost_conf_enabled_dir.'/000-apps.vhost') && $web_config['apps_vhost_enabled'] == 'y') { + symlink($vhost_conf_dir.'/apps.vhost', $vhost_conf_enabled_dir.'/000-apps.vhost'); + } + $app->services->restartServiceDelayed('httpd', 'restart'); } @@ -185,6 +195,16 @@ class apps_vhost_plugin { file_put_contents($web_config['php_fpm_pool_dir'].'/apps.conf', $fpm_content); file_put_contents("$vhost_conf_dir/apps.vhost", $content); + + // enabled / disable apps-vhost + $vhost_symlink = escapeshellcmd($web_config['vhost_conf_enabled_dir'].'/000-apps.vhost'); + if(is_link($vhost_symlink) && $web_config['apps_vhost_enabled'] == 'n') { + $app->system->unlink($vhost_symlink); + } + if(!@is_link($vhost_conf_enabled_dir.'/000-apps.vhost') && $web_config['apps_vhost_enabled'] == 'y') { + symlink($vhost_conf_dir.'/apps.vhost', $vhost_conf_enabled_dir.'/000-apps.vhost'); + } + $app->services->restartServiceDelayed('httpd', 'reload'); } } -- GitLab