diff --git a/actions/admin/settings/130.webserver.php b/actions/admin/settings/130.webserver.php
index 2f614b15..d6cfc7e3 100644
--- a/actions/admin/settings/130.webserver.php
+++ b/actions/admin/settings/130.webserver.php
@@ -84,6 +84,22 @@ return array(
'default' => '/etc/init.d/apache2 reload',
'save_method' => 'storeSettingField',
),
+ 'system_phpreload_command' => array(
+ 'label' => $lng['serversettings']['phpreload_command'],
+ 'settinggroup' => 'system',
+ 'varname' => 'phpreload_command',
+ 'type' => 'string',
+ 'default' => '',
+ 'save_method' => 'storeSettingField',
+ ),
+ 'system_nginx_php_backend' => array(
+ 'label' => $lng['serversettings']['nginx_php_backend'],
+ 'settinggroup' => 'system',
+ 'varname' => 'nginx_php_backend',
+ 'type' => 'string',
+ 'default' => '127.0.0.1:8888',
+ 'save_method' => 'storeSettingField',
+ ),
'system_mod_log_sql' => array(
'label' => $lng['serversettings']['mod_log_sql'],
'settinggroup' => 'system',
diff --git a/actions/admin/settings/135.fcgid.php b/actions/admin/settings/135.fcgid.php
index 7b06b11c..982288e8 100644
--- a/actions/admin/settings/135.fcgid.php
+++ b/actions/admin/settings/135.fcgid.php
@@ -84,14 +84,6 @@ return array(
'default' => 250,
'save_method' => 'storeSettingField',
),
- 'system_mod_fcgid_startport' => array(
- 'label' => $lng['serversettings']['mod_fcgid_startport'],
- 'settinggroup' => 'system',
- 'varname' => 'mod_fcgid_startport',
- 'type' => 'int',
- 'default' => 8888,
- 'save_method' => 'storeSettingField',
- ),
'system_mod_fcgid_defaultini' => array(
'label' => $lng['serversettings']['mod_fcgid']['defaultini'],
'settinggroup' => 'system',
diff --git a/install/froxlor.sql b/install/froxlor.sql
index dc7b9e61..ee030da3 100644
--- a/install/froxlor.sql
+++ b/install/froxlor.sql
@@ -594,8 +594,9 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (153, 'system', 'awstats_icons', '/usr/share/awstats/icon/');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (154, 'system', 'ssl_cert_chainfile', '');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (155, 'login', 'domain_login', '0');
-INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (156, 'system', 'mod_fcgid_startport', '8888');
+INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (156, 'system', 'nginx_php_backend', '127.0.0.1:8888');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (157, 'system', 'perl_server', 'unix:/var/run/nginx/cgiwrap-dispatch.sock');
+INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (158, 'system', 'phpreload_command', '');
# --------------------------------------------------------
diff --git a/install/updates/froxlor/0.9/update_0.9.inc.php b/install/updates/froxlor/0.9/update_0.9.inc.php
index be6edab8..74f387f0 100644
--- a/install/updates/froxlor/0.9/update_0.9.inc.php
+++ b/install/updates/froxlor/0.9/update_0.9.inc.php
@@ -1252,16 +1252,12 @@ if(isFroxlorVersion('0.9.14-svn10'))
if(isFroxlorVersion('0.9.14'))
{
- showUpdateStep("Updating from 0.9.14 to 0.9.15-svn1");
- lastStepStatus(0);
+ showUpdateStep("Updating from 0.9.14 to 0.9.15-svn1", false);
- showUpdateStep(".");
- $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_startport', '8888')");
+ showUpdateStep("Adding new settings for Nginx support");
+ $db->query("INSERT INTO `".TABLE_PANEL_SETTINGS."` (`settinggroup`, `varname`, `value`) VALUES ('system', 'nginx_php_backend', '127.0.0.1:8888')");
+ $db->query("INSERT INTO `".TABLE_PANEL_SETTINGS."` (`settinggroup`, `varname`, `value`) VALUES ('system', 'perl_server', 'unix:/var/run/nginx/cgiwrap-dispatch.sock')");
+ $db->query("INSERT INTO `".TABLE_PANEL_SETTINGS."` (`settinggroup`, `varname`, `value`) VALUES ('system', 'phpreload_command', '')");
- showUpdateStep(".");
- $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'perl_server', 'unix:/var/run/nginx/cgiwrap-dispatch.sock')");
-
updateToVersion('0.9.15-svn1');
}
-
-
diff --git a/lng/english.lng.php b/lng/english.lng.php
index 8e46e2cc..19e7c520 100644
--- a/lng/english.lng.php
+++ b/lng/english.lng.php
@@ -1518,7 +1518,7 @@ $lng['question']['customer_reallyunlock'] = 'Do you really want to unlock custom
// ADDED IN FROXLOR 0.9.15-svn1
$lng['serversettings']['perl_server']['title'] = 'Perl server location';
$lng['serversettings']['perl_server']['description'] = 'This is only used for Nginx
default is set for using the guide found at: http://wiki.nginx.org/SimpleCGI';
-$lng['serversettings']['mod_fcgid_startport']['title'] = 'PHP FCGId start port';
-$lng['serversettings']['mod_fcgid_startport']['description'] = 'this is the port that FCGI will listen on for requests for php scripts';
-
-?>
\ No newline at end of file
+$lng['serversettings']['nginx_php_backend']['title'] = 'Nginx php backend';
+$lng['serversettings']['nginx_php_backend']['description'] = 'this is where the PHP process is listening for requests from nginx, can be a unix socket of ip:port combination';
+$lng['serversettings']['phpreload_command']['title'] = 'PHP reload command';
+$lng['serversettings']['phpreload_command']['description'] = 'this is used to reload the Php backend if any is used (this is required to be set for Nginx) Default: Blank';
diff --git a/lng/german.lng.php b/lng/german.lng.php
index 1eb77720..940e80de 100644
--- a/lng/german.lng.php
+++ b/lng/german.lng.php
@@ -1501,6 +1501,7 @@ $lng['question']['customer_reallyunlock'] = 'Wollen Sie den Kunden %s wirklich e
// ADDED IN FROXLOR 0.9.15-svn1
$lng['serversettings']['perl_server']['title'] = 'Perl Server Ort';
$lng['serversettings']['perl_server']['description'] = 'Nur für nginx
Der Standardwert ist diesem Guide entnommen: http://wiki.nginx.org/SimpleCGI';
-$lng['serversettings']['mod_fcgid_startport']['title'] = 'PHP FCGId start Port';
-$lng['serversettings']['mod_fcgid_startport']['description'] = 'Dies ist der Port den FCGI nutzen wird, um auf PHP Anfragen zu warten';
-?>
+$lng['serversettings']['nginx_php_backend']['title'] = 'Nginx PHP Backend';
+$lng['serversettings']['nginx_php_backend']['description'] = 'Dies ist das Backend, auf dem PHP auf Anfragen von Nginx hört. Kann ein UNIX Socket oder eine IP:Port Kombination sein';
+$lng['serversettings']['phpreload_command']['title'] = 'PHP Reload Befehl';
+$lng['serversettings']['phpreload_command']['description'] = 'Dieser wird benötigt, um das PHP Backend für Nginx bei Bedarf durch den Cronjob neu zu laden. (Nur für Nginx, Standard: leer)';
diff --git a/scripts/jobs/cron_tasks.inc.http.30.nginx.php b/scripts/jobs/cron_tasks.inc.http.30.nginx.php
index dc632eb9..02a635b7 100644
--- a/scripts/jobs/cron_tasks.inc.http.30.nginx.php
+++ b/scripts/jobs/cron_tasks.inc.http.30.nginx.php
@@ -15,10 +15,6 @@
* @version $Id$
*/
-/*
- * This script creates the php.ini's used by mod_suPHP+php-cgi
- */
-
if(@php_sapi_name() != 'cli'
&& @php_sapi_name() != 'cgi'
&& @php_sapi_name() != 'cgi-fcgi')
@@ -68,9 +64,12 @@ class nginx
/**
* nginx does not auto-spawn fcgi-processes
*/
- fwrite($this->debugHandler, ' nginx::reload: spwaning fcgi processes' . "\n");
- $this->logger->logAction(CRON_ACTION, LOG_INFO, 'spwaning fcgi processes for nginx');
- safe_exec('/etc/init.d/php-fcgi restart');
+ if ($this->settings['system']['phpreload_command'] != '')
+ {
+ fwrite($this->debugHandler, ' nginx::reload: restarting php processes' . "\n");
+ $this->logger->logAction(CRON_ACTION, LOG_INFO, 'restarting php processes');
+ safe_exec($this->settings['system']['phpreload_command']);
+ }
}
public function createVirtualHosts()
@@ -223,7 +222,7 @@ class nginx
$this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_index index.php;'."\n";
$this->nginx_data[$vhost_filename].= "\t\t".'include /etc/nginx/fastcgi_params;'."\n";
$this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_param SCRIPT_FILENAME $document_root' . '$fastcgi_script_name;'."\n";
- $this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_pass 127.0.0.1:8888;'."\n";
+ $this->nginx_data[$vhost_filename].= "\t\t".'fastcgi_pass ' . $this->settings['system']['nginx_php_backend'] . ';' . "\n";
$this->nginx_data[$vhost_filename].= "\t".'}'."\n";
$this->nginx_data[$vhost_filename].= '}' . "\n\n";
@@ -534,7 +533,7 @@ class nginx
$phpopts.= "\t\t".'fastcgi_index index.php;'."\n";
$phpopts.= "\t\t".'include /etc/nginx/fastcgi_params;'."\n";
$phpopts.= "\t\t".'fastcgi_param SCRIPT_FILENAME $document_root' . '$fastcgi_script_name;'."\n";
- $phpopts.= "\t\t".'fastcgi_pass 127.0.0.1:8888;'."\n";
+ $phpopts.= "\t\t".'fastcgi_pass ' . $this->settings['system']['nginx_php_backend'] . ';' . "\n";
$phpopts.= "\t".'}'."\n";
}
return $phpopts;
@@ -580,16 +579,16 @@ class nginx
if($this->settings['system']['awstats_enabled'] == '1')
{
$stats_text.= "\t" . 'location /awstats {' . "\n";
- $stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . ';' . "\n";
+ $stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
- $stats_text.= "\t\t" . 'root ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
- $stats_text.= "\tt" . '}' . "\n";
+ $stats_text.= "\t\t" . 'alias ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
+ $stats_text.= "\t\t" . '}' . "\n";
}
else
{
$stats_text.= "\t" . 'location /webalizer {' . "\n";
- $stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/webalizer/' . $domain['domain']) . ';' . "\n";
+ $stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['customerroot'] . '/webalizer/' . $domain['domain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
}
@@ -599,16 +598,16 @@ class nginx
if($this->settings['system']['awstats_enabled'] == '1')
{
$stats_text.= "\t" . 'location /awstats {' . "\n";
- $stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['parentdomain']) . ';' . "\n";
+ $stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['parentdomain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
- $stats_text.= "\t\t" . 'root ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
- $stats_text.= "\tt" . '}' . "\n";
+ $stats_text.= "\t\t" . 'alias ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
+ $stats_text.= "\t\t" . '}' . "\n";
}
else
{
$stats_text.= "\t" . 'location /webalizer {' . "\n";
- $stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/webalizer/' . $domain['parentdomain']) . ';' . "\n";
+ $stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['customerroot'] . '/webalizer/' . $domain['parentdomain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
}
@@ -621,11 +620,11 @@ class nginx
if($this->settings['system']['awstats_enabled'] == '1')
{
$stats_text.= "\t" . 'location /awstats {' . "\n";
- $stats_text.= "\t\t" . 'root ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . ';' . "\n";
+ $stats_text.= "\t\t" . 'alias ' . makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']) . ';' . "\n";
$stats_text.= "\t" . '}' . "\n";
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
- $stats_text.= "\t\t" . 'root ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
- $stats_text.= "\tt" . '}' . "\n";
+ $stats_text.= "\t\t" . 'alias ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
+ $stats_text.= "\t\t" . '}' . "\n";
}
else
{
@@ -640,8 +639,8 @@ class nginx
if($this->settings['system']['awstats_enabled'] == '1')
{
$stats_text.= "\t" . 'location /awstats-icon {' . "\n";
- $stats_text.= "\t\t" . 'root ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
- $stats_text.= "\tt" . '}' . "\n";
+ $stats_text.= "\t\t" . 'alias ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
+ $stats_text.= "\t\t" . '}' . "\n";
}
}
}