diff --git a/install/dist/lib/fedora.lib.php b/install/dist/lib/fedora.lib.php index dc9ce432d0bd1725c7c4d61699ad1a2880f168c7..e9929475c177efb9bc1378d4fdb3c5c8ef638ae6 100644 --- a/install/dist/lib/fedora.lib.php +++ b/install/dist/lib/fedora.lib.php @@ -942,7 +942,13 @@ class installer_dist extends installer_base { $content = str_replace('{fastcgi_ssl}', 'off', $content); } - $content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']); + if(substr($socket_dir,-1) != '/') $socket_dir .= '/'; + if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir); + $fpm_socket = $socket_dir.'ispconfig.sock'; + + //$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); wf($vhost_conf_dir.'/ispconfig.vhost', $content); @@ -952,7 +958,8 @@ class installer_dist extends installer_base { // Dont just copy over the php-fpm pool template but add some custom settings $content = rf('tpl/php_fpm_pool.conf.master'); $content = str_replace('{fpm_pool}', 'ispconfig', $content); - $content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + //$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); $content = str_replace('{fpm_user}', 'ispconfig', $content); $content = str_replace('{fpm_group}', 'ispconfig', $content); wf($conf['nginx']['php_fpm_pool_dir'].'/ispconfig.conf', $content); diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php index f7a0df1d7f77da27b031427cf3f87e427250e1a2..ffc919d2906016cbc34312fd2a3797a08854f891 100644 --- a/install/dist/lib/gentoo.lib.php +++ b/install/dist/lib/gentoo.lib.php @@ -642,12 +642,18 @@ class installer extends installer_base } else { $apps_vhost_ip = $conf['web']['apps_vhost_ip'].':'; } + + $socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']); + if(substr($socket_dir,-1) != '/') $socket_dir .= '/'; + if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir); + $fpm_socket = $socket_dir.'apps.sock'; $content = str_replace('{apps_vhost_ip}', $apps_vhost_ip, $content); $content = str_replace('{apps_vhost_port}', $conf['web']['apps_vhost_port'], $content); $content = str_replace('{apps_vhost_dir}', $conf['web']['website_basedir'].'/apps', $content); $content = str_replace('{apps_vhost_servername}', $apps_vhost_servername, $content); - $content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content); + //$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); wf($vhost_conf_dir.'/apps.vhost', $content); @@ -655,7 +661,8 @@ class installer extends installer_base // Dont just copy over the php-fpm pool template but add some custom settings $content = rf('tpl/apps_php_fpm_pool.conf.master'); $content = str_replace('{fpm_pool}', 'apps', $content); - $content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content); + //$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); $content = str_replace('{fpm_user}', $apps_vhost_user, $content); $content = str_replace('{fpm_group}', $apps_vhost_group, $content); wf($conf['nginx']['php_fpm_pool_dir'].'/apps.conf', $content); @@ -918,7 +925,13 @@ class installer extends installer_base $content = str_replace('{fastcgi_ssl}', 'off', $content); } - $content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']); + if(substr($socket_dir,-1) != '/') $socket_dir .= '/'; + if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir); + $fpm_socket = $socket_dir.'ispconfig.sock'; + + //$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); wf($vhost_conf_dir.'/ispconfig.vhost', $content); @@ -928,7 +941,8 @@ class installer extends installer_base // Dont just copy over the php-fpm pool template but add some custom settings $content = rf('tpl/php_fpm_pool.conf.master'); $content = str_replace('{fpm_pool}', 'ispconfig', $content); - $content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + //$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); $content = str_replace('{fpm_user}', 'ispconfig', $content); $content = str_replace('{fpm_group}', 'ispconfig', $content); wf($conf['nginx']['php_fpm_pool_dir'].'/ispconfig.conf', $content); diff --git a/install/dist/lib/opensuse.lib.php b/install/dist/lib/opensuse.lib.php index b2953cf6e36ead1ae8152a9cad1c89d59f88852d..e29b18ca0a8123134f93de26931edb80524b4f33 100644 --- a/install/dist/lib/opensuse.lib.php +++ b/install/dist/lib/opensuse.lib.php @@ -976,7 +976,13 @@ class installer_dist extends installer_base { $content = str_replace('{fastcgi_ssl}', 'off', $content); } - $content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']); + if(substr($socket_dir,-1) != '/') $socket_dir .= '/'; + if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir); + $fpm_socket = $socket_dir.'ispconfig.sock'; + + //$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); wf($vhost_conf_dir.'/ispconfig.vhost', $content); @@ -986,7 +992,8 @@ class installer_dist extends installer_base { // Dont just copy over the php-fpm pool template but add some custom settings $content = rf('tpl/php_fpm_pool.conf.master'); $content = str_replace('{fpm_pool}', 'ispconfig', $content); - $content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + //$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); $content = str_replace('{fpm_user}', 'ispconfig', $content); $content = str_replace('{fpm_group}', 'ispconfig', $content); wf($conf['nginx']['php_fpm_pool_dir'].'/ispconfig.conf', $content); diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php index f145e243631b60c662003c34e585b15fa2e61193..ab1f110b9880585a635d8a34a00511eb57462f14 100644 --- a/install/lib/installer_base.lib.php +++ b/install/lib/installer_base.lib.php @@ -1472,12 +1472,18 @@ class installer_base { } else { $apps_vhost_ip = $conf['web']['apps_vhost_ip'].':'; } + + $socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']); + if(substr($socket_dir,-1) != '/') $socket_dir .= '/'; + if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir); + $fpm_socket = $socket_dir.'apps.sock'; $content = str_replace('{apps_vhost_ip}', $apps_vhost_ip, $content); $content = str_replace('{apps_vhost_port}', $conf['web']['apps_vhost_port'], $content); $content = str_replace('{apps_vhost_dir}', $conf['web']['website_basedir'].'/apps', $content); $content = str_replace('{apps_vhost_servername}', $apps_vhost_servername, $content); - $content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content); + //$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); wf($vhost_conf_dir.'/apps.vhost', $content); @@ -1485,7 +1491,8 @@ class installer_base { // Dont just copy over the php-fpm pool template but add some custom settings $content = rf('tpl/apps_php_fpm_pool.conf.master'); $content = str_replace('{fpm_pool}', 'apps', $content); - $content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content); + //$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); $content = str_replace('{fpm_user}', $apps_vhost_user, $content); $content = str_replace('{fpm_group}', $apps_vhost_group, $content); wf($conf['nginx']['php_fpm_pool_dir'].'/apps.conf', $content); @@ -1808,8 +1815,14 @@ class installer_base { $content = str_replace('{fastcgi_ssl}', 'off', $content); } - $content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); - + $socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']); + if(substr($socket_dir,-1) != '/') $socket_dir .= '/'; + if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir); + $fpm_socket = $socket_dir.'ispconfig.sock'; + + //$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); + wf($vhost_conf_dir.'/ispconfig.vhost', $content); unset($content); @@ -1818,7 +1831,8 @@ class installer_base { // Dont just copy over the php-fpm pool template but add some custom settings $content = rf('tpl/php_fpm_pool.conf.master'); $content = str_replace('{fpm_pool}', 'ispconfig', $content); - $content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + //$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); $content = str_replace('{fpm_user}', 'ispconfig', $content); $content = str_replace('{fpm_group}', 'ispconfig', $content); wf($conf['nginx']['php_fpm_pool_dir'].'/ispconfig.conf', $content); diff --git a/install/tpl/apps_php_fpm_pool.conf.master b/install/tpl/apps_php_fpm_pool.conf.master index b5000e70b8d6710d9807db6552a7837c3e0083e0..adda0b587cd45a83d3c6880ba3b0a2f77c9af004 100644 --- a/install/tpl/apps_php_fpm_pool.conf.master +++ b/install/tpl/apps_php_fpm_pool.conf.master @@ -1,8 +1,9 @@ [{fpm_pool}] -listen = 127.0.0.1:{fpm_port} - -listen.allowed_clients = 127.0.0.1 +listen = {fpm_socket} +listen.owner = {fpm_user} +listen.group = {fpm_group} +listen.mode = 0660 user = {fpm_user} group = {fpm_group} diff --git a/install/tpl/nginx_apps.vhost.master b/install/tpl/nginx_apps.vhost.master index 0ba7fc2b08400c8ced2d7ffbdd1b388cc08884a0..c7e58a3a2c6665f52b1221b8ffab3bf5c6014890 100644 --- a/install/tpl/nginx_apps.vhost.master +++ b/install/tpl/nginx_apps.vhost.master @@ -17,7 +17,7 @@ server { location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; - fastcgi_pass 127.0.0.1:{fpm_port}; + fastcgi_pass unix:{fpm_socket}; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; @@ -38,7 +38,7 @@ server { try_files $uri =404; root /usr/share/; include /etc/nginx/fastcgi_params; - fastcgi_pass 127.0.0.1:{fpm_port}; + fastcgi_pass unix:{fpm_socket}; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; } @@ -57,7 +57,7 @@ server { try_files $uri =404; root /usr/share/; include /etc/nginx/fastcgi_params; - fastcgi_pass 127.0.0.1:{fpm_port}; + fastcgi_pass unix:{fpm_socket}; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; } diff --git a/install/tpl/nginx_ispconfig.vhost.master b/install/tpl/nginx_ispconfig.vhost.master index 967fba9063a58e2be9c4f91296d1e802111e0be0..22947cc58db571dc24cfe2749997b38efe45f97a 100644 --- a/install/tpl/nginx_ispconfig.vhost.master +++ b/install/tpl/nginx_ispconfig.vhost.master @@ -19,7 +19,7 @@ server { location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; - fastcgi_pass 127.0.0.1:{fpm_port}; + fastcgi_pass unix:{fpm_socket}; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; @@ -40,7 +40,7 @@ server { # try_files $uri =404; # root /usr/share/; # include /etc/nginx/fastcgi_params; -# fastcgi_pass 127.0.0.1:{fpm_port}; +# fastcgi_pass unix:{fpm_socket}; # {ssl_comment}fastcgi_param HTTPS {fastcgi_ssl}; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME $request_filename; @@ -60,7 +60,7 @@ server { # try_files $uri =404; # root /usr/share/; # include /etc/nginx/fastcgi_params; -# fastcgi_pass 127.0.0.1:{fpm_port}; +# fastcgi_pass unix:{fpm_socket}; # {ssl_comment}fastcgi_param HTTPS {fastcgi_ssl}; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME $request_filename; diff --git a/install/tpl/php_fpm_pool.conf.master b/install/tpl/php_fpm_pool.conf.master index 5a2c6c8d925c62cf395fb12b189854aab1b2e512..fc193d01b8e363391742ba14ce992020242b41ab 100644 --- a/install/tpl/php_fpm_pool.conf.master +++ b/install/tpl/php_fpm_pool.conf.master @@ -1,8 +1,9 @@ [{fpm_pool}] -listen = 127.0.0.1:{fpm_port} - -listen.allowed_clients = 127.0.0.1 +listen = {fpm_socket} +listen.owner = {fpm_user} +listen.group = {fpm_group} +listen.mode = 0660 user = {fpm_user} group = {fpm_group} diff --git a/server/conf/nginx_apps.vhost.master b/server/conf/nginx_apps.vhost.master index 0ba7fc2b08400c8ced2d7ffbdd1b388cc08884a0..c7e58a3a2c6665f52b1221b8ffab3bf5c6014890 100644 --- a/server/conf/nginx_apps.vhost.master +++ b/server/conf/nginx_apps.vhost.master @@ -17,7 +17,7 @@ server { location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; - fastcgi_pass 127.0.0.1:{fpm_port}; + fastcgi_pass unix:{fpm_socket}; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; @@ -38,7 +38,7 @@ server { try_files $uri =404; root /usr/share/; include /etc/nginx/fastcgi_params; - fastcgi_pass 127.0.0.1:{fpm_port}; + fastcgi_pass unix:{fpm_socket}; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; } @@ -57,7 +57,7 @@ server { try_files $uri =404; root /usr/share/; include /etc/nginx/fastcgi_params; - fastcgi_pass 127.0.0.1:{fpm_port}; + fastcgi_pass unix:{fpm_socket}; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; } diff --git a/server/plugins-available/apps_vhost_plugin.inc.php b/server/plugins-available/apps_vhost_plugin.inc.php index c812d5e67ef622489404f1733f6896b17f60e2fe..5e942b241f7a6c81814524455cbbb9921130736f 100644 --- a/server/plugins-available/apps_vhost_plugin.inc.php +++ b/server/plugins-available/apps_vhost_plugin.inc.php @@ -117,12 +117,18 @@ class apps_vhost_plugin { } else { $apps_vhost_ip = $web_config['apps_vhost_ip'].':'; } + + $socket_dir = escapeshellcmd($web_config['php_fpm_socket_dir']); + if(substr($socket_dir,-1) != '/') $socket_dir .= '/'; + if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir); + $fpm_socket = $socket_dir.'apps.sock'; $content = str_replace('{apps_vhost_ip}', $apps_vhost_ip, $content); $content = str_replace('{apps_vhost_port}', $web_config['apps_vhost_port'], $content); $content = str_replace('{apps_vhost_dir}', $web_config['website_basedir'].'/apps', $content); $content = str_replace('{apps_vhost_servername}', $apps_vhost_servername, $content); - $content = str_replace('{fpm_port}', $web_config['php_fpm_start_port']+1, $content); + //$content = str_replace('{fpm_port}', $web_config['php_fpm_start_port']+1, $content); + $content = str_replace('{fpm_socket}', $fpm_socket, $content); } file_put_contents("$vhost_conf_dir/apps.vhost", $content); diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index 5e927cdecb8a5bd0f06120d00e8889b233e6ca6c..83f8d4e8661af917ad30ce0618402854c9e2ad1b 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -660,7 +660,7 @@ class nginx_plugin { $tpl->setVar('use_socket', $use_socket); $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; + $vhost_data['fpm_port'] = $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1; // Custom nginx directives $final_nginx_directives = array(); @@ -1129,7 +1129,7 @@ class nginx_plugin { $tpl->setVar('fpm_socket', $fpm_socket); $tpl->setVar('fpm_pool', $pool_name); - $tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] + 1); + $tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1); $tpl->setVar('fpm_user', $data['new']['system_user']); $tpl->setVar('fpm_group', $data['new']['system_group']); $tpl->setVar('pm_max_children', $data['new']['pm_max_children']);