From 165152caf2e2ecb9625a5cf488cf87a5ea43f189 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Thu, 03 May 2012 09:38:35 -0400
Subject: [PATCH] - Make sure the apps vhost gets configured no matter if the ISPConfig interface is installed or not.
---
server/plugins-available/nginx_plugin.inc.php | 58 +++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 47 insertions(+), 11 deletions(-)
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index 7352903..2619898 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -713,12 +713,31 @@
// PHP-FPM
// Support for multiple PHP versions
+ /*
if(trim($data['new']['fastcgi_php_version']) != ''){
$default_php_fpm = false;
list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['new']['fastcgi_php_version']));
if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
} else {
$default_php_fpm = true;
+ }
+ */
+ if($data['new']['php'] != 'no'){
+ if(trim($data['new']['fastcgi_php_version']) != ''){
+ $default_php_fpm = false;
+ list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['new']['fastcgi_php_version']));
+ if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
+ } else {
+ $default_php_fpm = true;
+ }
+ } else {
+ if(trim($data['old']['fastcgi_php_version']) != '' && $data['old']['php'] != 'no'){
+ $default_php_fpm = false;
+ list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['old']['fastcgi_php_version']));
+ if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
+ } else {
+ $default_php_fpm = true;
+ }
}
if($default_php_fpm){
@@ -743,6 +762,9 @@
$fpm_socket = $socket_dir.$pool_name.'.sock';
$tpl->setVar('fpm_socket', $fpm_socket);
$vhost_data['fpm_port'] = $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1;
+
+ // backwards compatibility; since ISPConfig 3.0.5, the PHP mode for nginx is called 'php-fpm' instead of 'fast-cgi'. The following line makes sure that old web sites that have 'fast-cgi' in the database still get PHP-FPM support.
+ if($vhost_data['php'] == 'fast-cgi') $vhost_data['php'] = 'php-fpm';
// Custom nginx directives
$final_nginx_directives = array();
@@ -1226,6 +1248,11 @@
exec('rm -rf '.$fastcgi_starter_path);
}
}
+
+ // remove PHP-FPM pool
+ if ($data['old']['php'] == 'php-fpm') {
+ $this->php_fpm_pool_delete($data,$web_config);
+ }
//remove the php cgi starter script if available
if ($data['old']['php'] == 'cgi') {
@@ -1537,14 +1564,31 @@
//* Update the PHP-FPM pool configuration file
private function php_fpm_pool_update ($data,$web_config,$pool_dir,$pool_name,$socket_dir) {
global $app, $conf;
- //$reload = false;
-
+ /*
if(trim($data['new']['fastcgi_php_version']) != ''){
$default_php_fpm = false;
list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['new']['fastcgi_php_version']));
if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
} else {
$default_php_fpm = true;
+ }
+ */
+ if($data['new']['php'] != 'no'){
+ if(trim($data['new']['fastcgi_php_version']) != ''){
+ $default_php_fpm = false;
+ list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['new']['fastcgi_php_version']));
+ if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
+ } else {
+ $default_php_fpm = true;
+ }
+ } else {
+ if(trim($data['old']['fastcgi_php_version']) != '' && $data['old']['php'] != 'no'){
+ $default_php_fpm = false;
+ list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['old']['fastcgi_php_version']));
+ if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
+ } else {
+ $default_php_fpm = true;
+ }
}
$app->uses("getconf");
@@ -1553,7 +1597,6 @@
if($data['new']['php'] == 'no'){
if(@is_file($pool_dir.$pool_name.'.conf')){
unlink($pool_dir.$pool_name.'.conf');
- //$reload = true;
}
if($data['old']['php'] != 'no'){
if(!$default_php_fpm){
@@ -1562,7 +1605,6 @@
$app->services->restartService('php-fpm','reload:'.$conf['init_scripts'].'/'.$web_config['php_fpm_init_script']);
}
}
- //if($reload == true) $app->services->restartService('php-fpm','reload');
return;
}
@@ -1673,17 +1715,13 @@
} else {
$app->services->restartService('php-fpm','reload:'.$conf['init_scripts'].'/'.$web_config['php_fpm_init_script']);
}
-
- //$reload = true;
-
- //if($reload == true) $app->services->restartService('php-fpm','reload');
}
//* Delete the PHP-FPM pool configuration file
private function php_fpm_pool_delete ($data,$web_config) {
global $app, $conf;
- if(trim($data['old']['fastcgi_php_version']) != ''){
+ if(trim($data['old']['fastcgi_php_version']) != '' && $data['old']['php'] != 'no'){
$default_php_fpm = false;
list($custom_php_fpm_name, $custom_php_fpm_init_script, $custom_php_fpm_ini_dir, $custom_php_fpm_pool_dir) = explode(':', trim($data['old']['fastcgi_php_version']));
if(substr($custom_php_fpm_ini_dir,-1) != '/') $custom_php_fpm_ini_dir .= '/';
@@ -1703,8 +1741,6 @@
if ( @is_file($pool_dir.$pool_name.'.conf') ) {
unlink($pool_dir.$pool_name.'.conf');
$app->log('Removed PHP-FPM config file: '.$pool_dir.$pool_name.'.conf',LOGLEVEL_DEBUG);
-
- //$app->services->restartService('php-fpm','reload');
}
// delete pool in all other PHP versions
--
Gitblit v1.9.1