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"; } } }