From 824780673a6e4cc040608d207bfaf2cb27d937a4 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 06 Sep 2011 06:09:46 -0400
Subject: [PATCH] Made fastcgi syntax configurable to support older apache versions.

---
 server/conf/vhost.conf.master                                |   73 ++++++++++++++++--------------------
 server/plugins-available/apache2_plugin.inc.php              |    1 
 interface/web/tools/templates/user_settings.htm              |    2 
 interface/web/admin/templates/server_config_fastcgi_edit.htm |    6 +++
 interface/web/admin/lib/lang/en_server_config.lng            |    6 +-
 install/tpl/server.ini.master                                |    1 
 interface/web/admin/form/server_config.tform.php             |    8 ++++
 7 files changed, 52 insertions(+), 45 deletions(-)

diff --git a/install/tpl/server.ini.master b/install/tpl/server.ini.master
index 97c59fd..02d08ff 100644
--- a/install/tpl/server.ini.master
+++ b/install/tpl/server.ini.master
@@ -70,6 +70,7 @@
 fastcgi_children=8
 fastcgi_max_requests=5000
 fastcgi_bin=/usr/bin/php-cgi
+fastcgi_config_syntax=1
 
 [jailkit]
 jailkit_chroot_home=/home/[username]
diff --git a/interface/web/admin/form/server_config.tform.php b/interface/web/admin/form/server_config.tform.php
index 4db9551..5badcad 100644
--- a/interface/web/admin/form/server_config.tform.php
+++ b/interface/web/admin/form/server_config.tform.php
@@ -686,6 +686,14 @@
 			'width' => '40',
 			'maxlength' => '255'
 		),
+		'fastcgi_config_syntax' => array(
+			'datatype' => 'INTEGER',
+			'formtype' => 'SELECT',
+			'default' => '2',
+			'value' => array('1' => 'Old', '2' => 'New'),
+			'width' => '40',
+			'maxlength' => '255'
+		),
 	##################################
 	# 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 9255188..6c1e1a7 100644
--- a/interface/web/admin/lib/lang/en_server_config.lng
+++ b/interface/web/admin/lib/lang/en_server_config.lng
@@ -7,11 +7,10 @@
 $wb["ufw_default_forward_policy_txt"] = 'Default Forward Policy';
 $wb["ufw_default_application_policy_txt"] = 'Default Application Policy';
 $wb["ufw_log_level_txt"] = 'Log Level';
-
 $wb["jailkit_chroot_home_txt"] = 'Jailkit chroot home';
 $wb["jailkit_chroot_app_sections_txt"] = 'Jailkit chroot app sections';
 $wb["jailkit_chroot_app_programs_txt"] = 'Jailkit chrooted applications';
-$wb['jailkit_chroot_cron_programs_txt'] = 'Jailkit cron chrooted applications';
+$wb["jailkit_chroot_cron_programs_txt"] = 'Jailkit cron chrooted applications';
 $wb["website_path_txt"] = 'Website path';
 $wb["website_symlinks_txt"] = 'Website symlinks';
 $wb["website_basedir_txt"] = 'Website basedir';
@@ -86,4 +85,5 @@
 $wb["network_config_warning_txt"] = 'The network configuration option is only available for Debian and Ubuntu Servers. Do not enable this option if your network interface is not eth0.';
 $wb["CA_path_txt"] = 'CA Path';
 $wb["CA_pass_txt"] = 'CA passphrase';
-?>
+$wb["fastcgi_config_syntax_txt"] = 'FastCGI config syntax';
+?>
\ No newline at end of file
diff --git a/interface/web/admin/templates/server_config_fastcgi_edit.htm b/interface/web/admin/templates/server_config_fastcgi_edit.htm
index 6e1bfea..3ca49c5 100644
--- a/interface/web/admin/templates/server_config_fastcgi_edit.htm
+++ b/interface/web/admin/templates/server_config_fastcgi_edit.htm
@@ -33,6 +33,12 @@
       	<label for="fastcgi_bin">{tmpl_var name='fastcgi_bin_txt'}</label>
         <input name="fastcgi_bin" id="fastcgi_bin" value="{tmpl_var name='fastcgi_bin'}" size="40" maxlength="255" type="text" class="textInput" />
 			</div>
+	  <div class="ctrlHolder">
+      	<label for="fastcgi_config_syntax">{tmpl_var name='fastcgi_config_syntax_txt'}</label>
+        <select name="fastcgi_config_syntax" id="fastcgi_config_syntax" class="selectInput">
+					{tmpl_var name='fastcgi_config_syntax'}
+				</select>
+      </div>
     </fieldset>
 
     <input type="hidden" name="id" value="{tmpl_var name='id'}">
diff --git a/interface/web/tools/templates/user_settings.htm b/interface/web/tools/templates/user_settings.htm
index 49c2a55..969c21b 100644
--- a/interface/web/tools/templates/user_settings.htm
+++ b/interface/web/tools/templates/user_settings.htm
@@ -16,7 +16,7 @@
 			</div>
       <div class="ctrlHolder">
       	<label for="passwort2">{tmpl_var name='passwort_txt'}</label>
-        <input name="passwort2" id="passwort2" value="" size="15" maxlength="100" type="password" class="textInput" />
+        <input name="passwort2" id="passwort2" value="" size="15" maxlength="100" type="password" class="textInput" style="width:100px;"/>
 			</div>
       <div class="ctrlHolder">
       	<label for="language">{tmpl_var name='language_txt'}</label>
diff --git a/server/conf/vhost.conf.master b/server/conf/vhost.conf.master
index 3356fb3..f9cfb39 100644
--- a/server/conf/vhost.conf.master
+++ b/server/conf/vhost.conf.master
@@ -155,40 +155,48 @@
 	  
 	  # IdleTimeout n (300 seconds)
 	  # An idle fastcgi application will be terminated after IdleTimeout seconds.
-	  FcgidIdleTimeout 300
+	  # FcgidIdleTimeout 300
+	  IdleTimeout 300
 	  
 	  # ProcessLifeTime n (3600 seconds)
       # A fastcgi application will be terminated if lifetime expired, even no error is detected.
-      FcgidProcessLifeTime 3600
+      # FcgidProcessLifeTime 3600
+	  ProcessLifeTime 3600
 	  
 	  # MaxProcessCount n (1000)
       # The max count of total fastcgi process count.
       # FcgidMaxProcesses 1000
+	  MaxProcessCount 1000
       
 	  # DefaultMinClassProcessCount n (3)
       # The minimum number of fastcgi application instances for any one fastcgi application.
       # Idle fastcgi will not be killed if their count is less than n
       # Set this to 0, and tweak IdleTimeout
-	  FcgidMinProcessesPerClass 0
+	  # FcgidMinProcessesPerClass 0
+	  DefaultMinClassProcessCount 0
 	  
 	  # DefaultMaxClassProcessCount n (100)
       # The maximum number of fastcgi application instances allowed to run for
       # particular one fastcgi application.
-      FcgidMaxProcessesPerClass 100
+      # FcgidMaxProcessesPerClass 100
+	  DefaultMaxClassProcessCount 100
 	  
 	  # IPCConnectTimeout n (3 seconds)
       # The connect timeout to a fastcgi application.
-      FcgidConnectTimeout 3
+      # FcgidConnectTimeout 3
+	  IPCConnectTimeout 3
 	  
 	  # IPCCommTimeout n (20 seconds)
       # The communication timeout to a fastcgi application. Please increase this
       # value if your CGI have a slow initialization or slow respond.
-      FcgidIOTimeout 360
+      # FcgidIOTimeout 360
+	  IPCCommTimeout 360
       
 	  # BusyTimeout n (300 seconds)
       # A fastcgi application will be terminated if handing a single request
       # longer than busy timeout.
-	  FcgidBusyTimeout 300
+	  # FcgidBusyTimeout 300
+	  BusyTimeout 300
 	  
     </IfModule>
     <Directory {tmpl_var name='web_document_root_www'}>
@@ -377,44 +385,27 @@
 </tmpl_if>
 <tmpl_if name='php' op='==' value='fast-cgi'>
     # php as fast-cgi enabled
+	# See: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
     <IfModule mod_fcgid.c>
-	  # IdleTimeout n (300 seconds)
-	  # An idle fastcgi application will be terminated after IdleTimeout seconds.
+	  <tmpl_if name='fastcgi_config_syntax' op='==' value='1'>
+	  IdleTimeout 300
+	  ProcessLifeTime 3600
+	  MaxProcessCount 1000
+	  DefaultMinClassProcessCount 0
+	  DefaultMaxClassProcessCount 100
+	  IPCConnectTimeout 3
+	  IPCCommTimeout 360
+	  BusyTimeout 300
+	  <tmpl_else>
 	  FcgidIdleTimeout 300
-	  
-	  # ProcessLifeTime n (3600 seconds)
-      # A fastcgi application will be terminated if lifetime expired, even no error is detected.
-      FcgidProcessLifeTime 3600
-	  
-	  # MaxProcessCount n (1000)
-      # The max count of total fastcgi process count.
-      # FcgidMaxProcesses 1000
-      
-	  # DefaultMinClassProcessCount n (3)
-      # The minimum number of fastcgi application instances for any one fastcgi application.
-      # Idle fastcgi will not be killed if their count is less than n
-      # Set this to 0, and tweak IdleTimeout
+	  FcgidProcessLifeTime 3600
+	  FcgidMaxProcesses 1000
 	  FcgidMinProcessesPerClass 0
-	  
-	  # DefaultMaxClassProcessCount n (100)
-      # The maximum number of fastcgi application instances allowed to run for
-      # particular one fastcgi application.
-      FcgidMaxProcessesPerClass 100
-	  
-	  # IPCConnectTimeout n (3 seconds)
-      # The connect timeout to a fastcgi application.
-      FcgidConnectTimeout 3
-	  
-	  # IPCCommTimeout n (20 seconds)
-      # The communication timeout to a fastcgi application. Please increase this
-      # value if your CGI have a slow initialization or slow respond.
-      FcgidIOTimeout 360
-      
-	  # BusyTimeout n (300 seconds)
-      # A fastcgi application will be terminated if handing a single request
-      # longer than busy timeout.
+	  FcgidMaxProcessesPerClass 100
+	  FcgidConnectTimeout 3
+	  FcgidIOTimeout 360
 	  FcgidBusyTimeout 300
-	  
+	  </tmpl_if>
     </IfModule>
     <Directory {tmpl_var name='web_document_root_www'}>
         AddHandler fcgid-script .php .php3 .php4 .php5
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 77a1b08..7df529e 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -820,6 +820,7 @@
 			$tpl->setVar('fastcgi_alias',$fastcgi_config['fastcgi_alias']);
 			$tpl->setVar('fastcgi_starter_path',$fastcgi_starter_path);
 			$tpl->setVar('fastcgi_starter_script',$fastcgi_config['fastcgi_starter_script']);
+			$tpl->setVar('fastcgi_config_syntax',$fastcgi_config['fastcgi_config_syntax']);
 
 		}
 

--
Gitblit v1.9.1