From f7ec00b2f8ba3efc5bdeacef9c813f8a826ae3be Mon Sep 17 00:00:00 2001 From: Patrick Anders Date: Tue, 9 Dec 2014 14:42:25 +0100 Subject: [PATCH] add Spdy option - http://en.wikipedia.org/wiki/SPDY --- install/sql/incremental/upd_0080.sql | 1 + install/sql/ispconfig3.sql | 1 + install/tpl/server.ini.master | 1 + interface/web/admin/form/server_config.tform.php | 9 +++++++++ interface/web/admin/lib/lang/de_server_config.lng | 1 + interface/web/admin/lib/lang/en_server_config.lng | 1 + .../web/admin/templates/server_config_web_edit.htm | 8 ++++++++ interface/web/sites/form/web_vhost_domain.tform.php | 9 +++++++++ interface/web/sites/lib/lang/de_web_vhost_domain.lng | 1 + interface/web/sites/lib/lang/en_web_vhost_domain.lng | 1 + .../web/sites/templates/web_vhost_domain_advanced.htm | 2 +- interface/web/sites/templates/web_vhost_domain_ssl.htm | 8 +++++++- server/conf/apache_apps.vhost.master | 10 ++++++++-- server/conf/nginx_vhost.conf.master | 4 ++-- server/plugins-available/nginx_plugin.inc.php | 6 ++++++ 15 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 install/sql/incremental/upd_0080.sql diff --git a/install/sql/incremental/upd_0080.sql b/install/sql/incremental/upd_0080.sql new file mode 100644 index 0000000000..fcdcb622e3 --- /dev/null +++ b/install/sql/incremental/upd_0080.sql @@ -0,0 +1 @@ +ALTER TABLE `web_domain` ADD COLUMN `enable_spdy` ENUM('y','n') NULL DEFAULT 'n' AFTER `proxy_directives`; diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql index 6af74fb984..b6390e7123 100644 --- a/install/sql/ispconfig3.sql +++ b/install/sql/ispconfig3.sql @@ -1877,6 +1877,7 @@ CREATE TABLE `web_domain` ( `traffic_quota_lock` enum('n','y') NOT NULL default 'n', `fastcgi_php_version` varchar(255) DEFAULT NULL, `proxy_directives` mediumtext, + `enable_spdy` ENUM('y','n') NULL DEFAULT 'n', `last_quota_notification` date NULL default NULL, `rewrite_rules` mediumtext, `added_date` date NOT NULL DEFAULT '0000-00-00', diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master index c563650c75..7805988a71 100644 --- a/install/tpl/server.ini.master +++ b/install/tpl/server.ini.master @@ -85,6 +85,7 @@ php_ini_path_apache=/etc/php5/apache2/php.ini php_ini_path_cgi=/etc/php5/cgi/php.ini check_apache_config=y enable_sni=y +enable_spdy=n enable_ip_wildcard=y overtraffic_notify_admin=y overtraffic_notify_client=y diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php index debceae718..209a0a4c57 100644 --- a/interface/web/admin/form/server_config.tform.php +++ b/interface/web/admin/form/server_config.tform.php @@ -1021,6 +1021,15 @@ $form["tabs"]['web'] = array( 'width' => '40', 'maxlength' => '255' ), + 'enable_spdy' => 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/de_server_config.lng b/interface/web/admin/lib/lang/de_server_config.lng index 6a8e42187a..fa9ee445e7 100644 --- a/interface/web/admin/lib/lang/de_server_config.lng +++ b/interface/web/admin/lib/lang/de_server_config.lng @@ -262,4 +262,5 @@ $wb['php_ini_check_minutes_txt'] = 'Prüfe php.ini alle X Minuten auf Änderunge $wb['php_ini_check_minutes_error_empty'] = 'Bitte geben Sie einen Wert an, wie oft die php.ini auf Änderungen geprüft werden soll.'; $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'; ?> diff --git a/interface/web/admin/lib/lang/en_server_config.lng b/interface/web/admin/lib/lang/en_server_config.lng index b6288341aa..1134e9f965 100644 --- a/interface/web/admin/lib/lang/en_server_config.lng +++ b/interface/web/admin/lib/lang/en_server_config.lng @@ -263,4 +263,5 @@ $wb['network_filesystem_txt'] = 'Network Filesystem'; $wb['php_ini_check_minutes_txt'] = 'Check php.ini every X minutes for changes'; $wb['php_ini_check_minutes_error_empty'] = 'Please specify a value how often php.ini should be checked for changes.'; $wb['php_ini_check_minutes_info_txt'] = '0 = no check'; +$wb['enable_spdy_txt'] = 'enables spdy'; ?> diff --git a/interface/web/admin/templates/server_config_web_edit.htm b/interface/web/admin/templates/server_config_web_edit.htm index 1ea52554a8..1ad90ba9bb 100644 --- a/interface/web/admin/templates/server_config_web_edit.htm +++ b/interface/web/admin/templates/server_config_web_edit.htm @@ -101,6 +101,14 @@ +
+

+ +

+
+ +
+

{tmpl_var name='enable_ip_wildcard_txt'}

diff --git a/interface/web/sites/form/web_vhost_domain.tform.php b/interface/web/sites/form/web_vhost_domain.tform.php index 4d6b161db4..c342605c9a 100644 --- a/interface/web/sites/form/web_vhost_domain.tform.php +++ b/interface/web/sites/form/web_vhost_domain.tform.php @@ -523,6 +523,15 @@ if($ssl_available) { 'default' => '', 'value' => array('' => 'none_txt', 'save' => 'save_certificate_txt', 'create' => 'create_certificate_txt', 'del' => 'delete_certificate_txt') ), + 'enable_spdy' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'CHECKBOX', + 'default' => 'n', + 'value' => array ( + 0 => 'n', + 1 => 'y' + ) + ), //################################# // ENDE Datatable fields //################################# diff --git a/interface/web/sites/lib/lang/de_web_vhost_domain.lng b/interface/web/sites/lib/lang/de_web_vhost_domain.lng index 7cce816805..ddf32fbce7 100644 --- a/interface/web/sites/lib/lang/de_web_vhost_domain.lng +++ b/interface/web/sites/lib/lang/de_web_vhost_domain.lng @@ -136,4 +136,5 @@ $wb['invalid_system_user_or_group_txt'] = 'Invalid system user or group'; $wb['apache_directive_blocked_error'] = 'Die Apache Direktive wurde durch die Sicherheitsrichtline blockiert:'; $wb['btn_save_txt'] = 'Speichern'; $wb['btn_cancel_txt'] = 'Abbrechen'; +$wb['enable_spdy_txt'] = 'Aktiviere Spdy'; ?> diff --git a/interface/web/sites/lib/lang/en_web_vhost_domain.lng b/interface/web/sites/lib/lang/en_web_vhost_domain.lng index 1f6b45568d..65a2f62874 100644 --- a/interface/web/sites/lib/lang/en_web_vhost_domain.lng +++ b/interface/web/sites/lib/lang/en_web_vhost_domain.lng @@ -139,4 +139,5 @@ $wb['backup_excludes_error_regex'] = 'The excluded directories contain invalid c $wb['subdomain_error_empty'] = 'The subdommain field is empty or contains invalid characters.'; $wb['btn_save_txt'] = "Save"; $wb['btn_cancel_txt'] = "Cancel"; +$wb['enable_spdy_txt'] = 'activate Spdy'; ?> diff --git a/interface/web/sites/templates/web_vhost_domain_advanced.htm b/interface/web/sites/templates/web_vhost_domain_advanced.htm index d2c3bb871c..8529819b6d 100644 --- a/interface/web/sites/templates/web_vhost_domain_advanced.htm +++ b/interface/web/sites/templates/web_vhost_domain_advanced.htm @@ -176,4 +176,4 @@ }); } - \ No newline at end of file + diff --git a/interface/web/sites/templates/web_vhost_domain_ssl.htm b/interface/web/sites/templates/web_vhost_domain_ssl.htm index 4869c19aa8..75bf9e6816 100644 --- a/interface/web/sites/templates/web_vhost_domain_ssl.htm +++ b/interface/web/sites/templates/web_vhost_domain_ssl.htm @@ -64,6 +64,12 @@ {tmpl_var name='ssl_action'}
+
+

{tmpl_var name='enable_spdy_txt'}

+
+ {tmpl_var name="enable_spdy"} +
+
@@ -74,4 +80,4 @@
- \ No newline at end of file + diff --git a/server/conf/apache_apps.vhost.master b/server/conf/apache_apps.vhost.master index bc6c6bcfb0..7d6d66590a 100644 --- a/server/conf/apache_apps.vhost.master +++ b/server/conf/apache_apps.vhost.master @@ -10,11 +10,17 @@ ServerAdmin webmaster@localhost {tmpl_var name='apps_vhost_servername'} - + SetHandler None - + + {tmpl_if name="enable_spdy" op="==" value="y"} + + SpdyEnabled on + + {/tmpl_if} + DocumentRoot {tmpl_var name='apps_vhost_dir'} AddType application/x-httpd-php .php diff --git a/server/conf/nginx_vhost.conf.master b/server/conf/nginx_vhost.conf.master index 222bf2989e..41e08c8005 100644 --- a/server/conf/nginx_vhost.conf.master +++ b/server/conf/nginx_vhost.conf.master @@ -5,7 +5,7 @@ server { - listen :443 ssl; + listen :443 ssl{tmpl_if name='enable_spdy' op='==' value='y'} spdy{/tmpl_if}; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; listen []:443 ssl; @@ -242,4 +242,4 @@ server { } } - \ No newline at end of file + diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index c256ae18f6..27c17f25a6 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -925,6 +925,12 @@ class nginx_plugin { } } + // Spdy + $tpl->setVar('spdy_enabled', ''); + if($data['new']['enable_spdy'] == 'y') { + $tpl->setVar('spdy_enabled', ' spdy'); + } + // PHP-FPM // Support for multiple PHP versions /* -- GitLab