From f7ec00b2f8ba3efc5bdeacef9c813f8a826ae3be Mon Sep 17 00:00:00 2001
From: Patrick Anders <p.anders@timmehosting.de>
Date: Wed, 10 Dec 2014 08:44:26 -0500
Subject: [PATCH] add Spdy option - http://en.wikipedia.org/wiki/SPDY
---
server/conf/apache_apps.vhost.master | 10 ++++-
server/conf/nginx_vhost.conf.master | 4 +-
interface/web/admin/templates/server_config_web_edit.htm | 8 ++++
interface/web/sites/templates/web_vhost_domain_advanced.htm | 2
interface/web/sites/lib/lang/en_web_vhost_domain.lng | 1
interface/web/admin/lib/lang/en_server_config.lng | 1
install/tpl/server.ini.master | 1
interface/web/admin/form/server_config.tform.php | 9 ++++
interface/web/sites/lib/lang/de_web_vhost_domain.lng | 1
install/sql/incremental/upd_0080.sql | 1
interface/web/admin/lib/lang/de_server_config.lng | 1
install/sql/ispconfig3.sql | 1
server/plugins-available/nginx_plugin.inc.php | 6 +++
interface/web/sites/form/web_vhost_domain.tform.php | 9 ++++
interface/web/sites/templates/web_vhost_domain_ssl.htm | 8 +++
15 files changed, 57 insertions(+), 6 deletions(-)
diff --git a/install/sql/incremental/upd_0080.sql b/install/sql/incremental/upd_0080.sql
new file mode 100644
index 0000000..fcdcb62
--- /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 6af74fb..b6390e7 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1877,6 +1877,7 @@
`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 c563650..7805988 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -85,6 +85,7 @@
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 debceae..209a0a4 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -1021,6 +1021,15 @@
'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 6a8e421..fa9ee44 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_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 b628834..1134e9f 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['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 1ea5255..1ad90ba 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 @@
<label for="htaccess_allow_override">{tmpl_var name='htaccess_allow_override_txt'}</label>
<input name="htaccess_allow_override" id="htaccess_allow_override" value="{tmpl_var name='htaccess_allow_override'}" size="40" maxlength="255" type="text" class="textInput" />
</div>
+ <div class="ctrlHolder">
+ <p class="label">
+ <tmpl_var name="enable_spdy_txt">
+ </p>
+ <div class="multiField">
+ <tmpl_var name="enable_spdy">
+ </div>
+ </div>
<div class="ctrlHolder">
<p class="label">{tmpl_var name='enable_ip_wildcard_txt'}</p>
<div class="multiField">
diff --git a/interface/web/sites/form/web_vhost_domain.tform.php b/interface/web/sites/form/web_vhost_domain.tform.php
index 4d6b161..c342605 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 @@
'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 7cce816..ddf32fb 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['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 1f6b455..65a2f62 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['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 d2c3bb8..8529819 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 @@
});
}
-</script>
\ No newline at end of file
+</script>
diff --git a/interface/web/sites/templates/web_vhost_domain_ssl.htm b/interface/web/sites/templates/web_vhost_domain_ssl.htm
index 4869c19..75bf9e6 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'}
</select>
</div>
+ <div class="ctrlHolder">
+ <p class="label">{tmpl_var name='enable_spdy_txt'}</p>
+ <div class="multiField">
+ {tmpl_var name="enable_spdy"}
+ </div>
+ </div>
</fieldset>
<input type="hidden" name="id" value="{tmpl_var name='id'}">
@@ -74,4 +80,4 @@
</div>
</div>
-</div>
\ No newline at end of file
+</div>
diff --git a/server/conf/apache_apps.vhost.master b/server/conf/apache_apps.vhost.master
index bc6c6bc..7d6d665 100644
--- a/server/conf/apache_apps.vhost.master
+++ b/server/conf/apache_apps.vhost.master
@@ -10,11 +10,17 @@
<VirtualHost {tmpl_var name='apps_vhost_ip'}:{tmpl_var name='apps_vhost_port'}>
ServerAdmin webmaster@localhost
{tmpl_var name='apps_vhost_servername'}
-
+
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
-
+
+ {tmpl_if name="enable_spdy" op="==" value="y"}
+ <IfModule spdy_module>
+ SpdyEnabled on
+ </IfModule>
+ {/tmpl_if}
+
<IfModule mod_php5.c>
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 222bf29..41e08c8 100644
--- a/server/conf/nginx_vhost.conf.master
+++ b/server/conf/nginx_vhost.conf.master
@@ -5,7 +5,7 @@
</tmpl_if>
<tmpl_if name='ssl_enabled'>
- listen <tmpl_var name='ip_address'>:443 ssl;
+ listen <tmpl_var name='ip_address'>:443 ssl{tmpl_if name='enable_spdy' op='==' value='y'} spdy{/tmpl_if};
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
<tmpl_if name='ipv6_enabled'>
listen [<tmpl_var name='ipv6_address'>]:443 ssl;
@@ -242,4 +242,4 @@
}
</tmpl_if>
}
-</tmpl_loop>
\ No newline at end of file
+</tmpl_loop>
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index c256ae1..27c17f2 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -925,6 +925,12 @@
}
}
+ // Spdy
+ $tpl->setVar('spdy_enabled', '');
+ if($data['new']['enable_spdy'] == 'y') {
+ $tpl->setVar('spdy_enabled', ' spdy');
+ }
+
// PHP-FPM
// Support for multiple PHP versions
/*
--
Gitblit v1.9.1