Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
ISPConfig
ISPConfig 3
Commits
72ce7888
Commit
72ce7888
authored
Sep 21, 2011
by
Falko Timme
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added support for PHP-FPM sockets.
parent
2023a790
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
152 additions
and
75 deletions
+152
-75
install/dist/conf/centos52.conf.php
install/dist/conf/centos52.conf.php
+1
-0
install/dist/conf/centos53.conf.php
install/dist/conf/centos53.conf.php
+1
-0
install/dist/conf/debian40.conf.php
install/dist/conf/debian40.conf.php
+1
-0
install/dist/conf/debian60.conf.php
install/dist/conf/debian60.conf.php
+1
-0
install/dist/conf/fedora9.conf.php
install/dist/conf/fedora9.conf.php
+1
-0
install/dist/conf/gentoo.conf.php
install/dist/conf/gentoo.conf.php
+1
-0
install/dist/conf/opensuse110.conf.php
install/dist/conf/opensuse110.conf.php
+1
-0
install/dist/conf/opensuse112.conf.php
install/dist/conf/opensuse112.conf.php
+1
-0
install/lib/installer_base.lib.php
install/lib/installer_base.lib.php
+1
-0
install/lib/update.lib.php
install/lib/update.lib.php
+1
-0
install/sql/incremental/upd_0021.sql
install/sql/incremental/upd_0021.sql
+1
-0
install/sql/ispconfig3.sql
install/sql/ispconfig3.sql
+1
-0
install/tpl/server.ini.master
install/tpl/server.ini.master
+1
-0
interface/web/admin/form/server_config.tform.php
interface/web/admin/form/server_config.tform.php
+11
-0
interface/web/admin/lib/lang/de_server_config.lng
interface/web/admin/lib/lang/de_server_config.lng
+2
-0
interface/web/admin/lib/lang/en_server_config.lng
interface/web/admin/lib/lang/en_server_config.lng
+2
-0
interface/web/admin/templates/server_config_web_edit.htm
interface/web/admin/templates/server_config_web_edit.htm
+4
-0
interface/web/sites/form/web_domain.tform.php
interface/web/sites/form/web_domain.tform.php
+6
-0
interface/web/sites/lib/lang/de_web_domain.lng
interface/web/sites/lib/lang/de_web_domain.lng
+1
-0
interface/web/sites/lib/lang/en_web_domain.lng
interface/web/sites/lib/lang/en_web_domain.lng
+1
-0
interface/web/sites/templates/web_domain_advanced.htm
interface/web/sites/templates/web_domain_advanced.htm
+6
-0
server/conf/nginx_vhost.conf.master
server/conf/nginx_vhost.conf.master
+2
-1
server/conf/php_fpm_pool.conf.master
server/conf/php_fpm_pool.conf.master
+6
-2
server/plugins-available/nginx_plugin.inc.php
server/plugins-available/nginx_plugin.inc.php
+98
-72
No files found.
install/dist/conf/centos52.conf.php
View file @
72ce7888
...
...
@@ -192,6 +192,7 @@ $conf['nginx']['php_fpm_init_script'] = 'php-fpm';
$conf
[
'nginx'
][
'php_fpm_ini_path'
]
=
'/etc/php.ini'
;
$conf
[
'nginx'
][
'php_fpm_pool_dir'
]
=
'/etc/php-fpm.d'
;
$conf
[
'nginx'
][
'php_fpm_start_port'
]
=
9010
;
$conf
[
'nginx'
][
'php_fpm_socket_dir'
]
=
'/var/run/php5-fpm'
;
//* vlogger
$conf
[
'vlogger'
][
'config_dir'
]
=
'/etc'
;
...
...
install/dist/conf/centos53.conf.php
View file @
72ce7888
...
...
@@ -192,6 +192,7 @@ $conf['nginx']['php_fpm_init_script'] = 'php-fpm';
$conf
[
'nginx'
][
'php_fpm_ini_path'
]
=
'/etc/php.ini'
;
$conf
[
'nginx'
][
'php_fpm_pool_dir'
]
=
'/etc/php-fpm.d'
;
$conf
[
'nginx'
][
'php_fpm_start_port'
]
=
9010
;
$conf
[
'nginx'
][
'php_fpm_socket_dir'
]
=
'/var/run/php5-fpm'
;
//* vlogger
$conf
[
'vlogger'
][
'config_dir'
]
=
'/etc'
;
...
...
install/dist/conf/debian40.conf.php
View file @
72ce7888
...
...
@@ -204,6 +204,7 @@ $conf['nginx']['php_fpm_init_script'] = 'php5-fpm';
$conf
[
'nginx'
][
'php_fpm_ini_path'
]
=
'/etc/php5/fpm/php.ini'
;
$conf
[
'nginx'
][
'php_fpm_pool_dir'
]
=
'/etc/php5/fpm/pool.d'
;
$conf
[
'nginx'
][
'php_fpm_start_port'
]
=
9010
;
$conf
[
'nginx'
][
'php_fpm_socket_dir'
]
=
'/var/run/php5-fpm'
;
//*Ufw
$conf
[
'ufw'
][
'installed'
]
=
false
;
...
...
install/dist/conf/debian60.conf.php
View file @
72ce7888
...
...
@@ -204,6 +204,7 @@ $conf['nginx']['php_fpm_init_script'] = 'php5-fpm';
$conf
[
'nginx'
][
'php_fpm_ini_path'
]
=
'/etc/php5/fpm/php.ini'
;
$conf
[
'nginx'
][
'php_fpm_pool_dir'
]
=
'/etc/php5/fpm/pool.d'
;
$conf
[
'nginx'
][
'php_fpm_start_port'
]
=
9010
;
$conf
[
'nginx'
][
'php_fpm_socket_dir'
]
=
'/var/run/php5-fpm'
;
//* Ufw
$conf
[
'ufw'
][
'installed'
]
=
false
;
...
...
install/dist/conf/fedora9.conf.php
View file @
72ce7888
...
...
@@ -192,6 +192,7 @@ $conf['nginx']['php_fpm_init_script'] = 'php-fpm';
$conf
[
'nginx'
][
'php_fpm_ini_path'
]
=
'/etc/php.ini'
;
$conf
[
'nginx'
][
'php_fpm_pool_dir'
]
=
'/etc/php-fpm.d'
;
$conf
[
'nginx'
][
'php_fpm_start_port'
]
=
9010
;
$conf
[
'nginx'
][
'php_fpm_socket_dir'
]
=
'/var/run/php5-fpm'
;
//* vlogger
$conf
[
'vlogger'
][
'config_dir'
]
=
'/etc'
;
...
...
install/dist/conf/gentoo.conf.php
View file @
72ce7888
...
...
@@ -208,6 +208,7 @@ $conf['nginx']['php_fpm_init_script'] = 'php5-fpm';
$conf
[
'nginx'
][
'php_fpm_ini_path'
]
=
'/etc/php5/fpm/php.ini'
;
$conf
[
'nginx'
][
'php_fpm_pool_dir'
]
=
'/etc/php5/fpm/pool.d'
;
$conf
[
'nginx'
][
'php_fpm_start_port'
]
=
9010
;
$conf
[
'nginx'
][
'php_fpm_socket_dir'
]
=
'/var/run/php5-fpm'
;
//* vlogger
$conf
[
'vlogger'
][
'config_dir'
]
=
'/etc/vlogger'
;
...
...
install/dist/conf/opensuse110.conf.php
View file @
72ce7888
...
...
@@ -192,6 +192,7 @@ $conf['nginx']['php_fpm_init_script'] = 'php-fpm';
$conf
[
'nginx'
][
'php_fpm_ini_path'
]
=
'/etc/php5/fpm/php.ini'
;
$conf
[
'nginx'
][
'php_fpm_pool_dir'
]
=
'/etc/php5/fpm'
;
$conf
[
'nginx'
][
'php_fpm_start_port'
]
=
9010
;
$conf
[
'nginx'
][
'php_fpm_socket_dir'
]
=
'/var/run/php5-fpm'
;
//* vlogger
$conf
[
'vlogger'
][
'config_dir'
]
=
'/etc'
;
...
...
install/dist/conf/opensuse112.conf.php
View file @
72ce7888
...
...
@@ -192,6 +192,7 @@ $conf['nginx']['php_fpm_init_script'] = 'php-fpm';
$conf
[
'nginx'
][
'php_fpm_ini_path'
]
=
'/etc/php5/fpm/php.ini'
;
$conf
[
'nginx'
][
'php_fpm_pool_dir'
]
=
'/etc/php5/fpm'
;
$conf
[
'nginx'
][
'php_fpm_start_port'
]
=
9010
;
$conf
[
'nginx'
][
'php_fpm_socket_dir'
]
=
'/var/run/php5-fpm'
;
//* vlogger
$conf
[
'vlogger'
][
'config_dir'
]
=
'/etc'
;
...
...
install/lib/installer_base.lib.php
View file @
72ce7888
...
...
@@ -243,6 +243,7 @@ class installer_base {
$tpl_ini_array
[
'web'
][
'php_fpm_ini_path'
]
=
$conf
[
'nginx'
][
'php_fpm_ini_path'
];
$tpl_ini_array
[
'web'
][
'php_fpm_pool_dir'
]
=
$conf
[
'nginx'
][
'php_fpm_pool_dir'
];
$tpl_ini_array
[
'web'
][
'php_fpm_start_port'
]
=
$conf
[
'nginx'
][
'php_fpm_start_port'
];
$tpl_ini_array
[
'web'
][
'php_fpm_socket_dir'
]
=
$conf
[
'nginx'
][
'php_fpm_socket_dir'
];
$tpl_ini_array
[
'web'
][
'server_type'
]
=
'nginx'
;
$tpl_ini_array
[
'global'
][
'webserver'
]
=
'nginx'
;
}
...
...
install/lib/update.lib.php
View file @
72ce7888
...
...
@@ -270,6 +270,7 @@ function updateDbAndIni() {
$tpl_ini_array
[
'web'
][
'php_fpm_ini_path'
]
=
$conf
[
'nginx'
][
'php_fpm_ini_path'
];
$tpl_ini_array
[
'web'
][
'php_fpm_pool_dir'
]
=
$conf
[
'nginx'
][
'php_fpm_pool_dir'
];
$tpl_ini_array
[
'web'
][
'php_fpm_start_port'
]
=
$conf
[
'nginx'
][
'php_fpm_start_port'
];
$tpl_ini_array
[
'web'
][
'php_fpm_socket_dir'
]
=
$conf
[
'nginx'
][
'php_fpm_socket_dir'
];
$tpl_ini_array
[
'web'
][
'server_type'
]
=
'nginx'
;
$tpl_ini_array
[
'global'
][
'webserver'
]
=
'nginx'
;
}
...
...
install/sql/incremental/upd_0021.sql
0 → 100644
View file @
72ce7888
ALTER
TABLE
`web_domain`
ADD
`php_fpm_use_socket`
ENUM
(
'n'
,
'y'
)
NOT
NULL
DEFAULT
'n'
AFTER
`nginx_directives`
;
\ No newline at end of file
install/sql/ispconfig3.sql
View file @
72ce7888
...
...
@@ -1510,6 +1510,7 @@ CREATE TABLE `web_domain` (
`allow_override`
varchar
(
255
)
NOT
NULL
default
'All'
,
`apache_directives`
mediumtext
,
`nginx_directives`
mediumtext
,
`php_fpm_use_socket`
ENUM
(
'n'
,
'y'
)
NOT
NULL
DEFAULT
'n'
`php_open_basedir`
mediumtext
,
`custom_php_ini`
mediumtext
,
`backup_interval`
VARCHAR
(
255
)
NOT
NULL
DEFAULT
'none'
,
...
...
install/tpl/server.ini.master
View file @
72ce7888
...
...
@@ -66,6 +66,7 @@ php_fpm_init_script=php5-fpm
php_fpm_ini_path=/etc/php5/fpm/php.ini
php_fpm_pool_dir=/etc/php5/fpm/pool.d
php_fpm_start_port=9010
php_fpm_socket_dir=/var/run/php5-fpm
[dns]
bind_user=root
...
...
interface/web/admin/form/server_config.tform.php
View file @
72ce7888
...
...
@@ -548,6 +548,17 @@ $form["tabs"]['web'] = array(
'width'
=>
'40'
,
'maxlength'
=>
'255'
),
'php_fpm_socket_dir'
=>
array
(
'datatype'
=>
'VARCHAR'
,
'formtype'
=>
'TEXT'
,
'default'
=>
''
,
'validators'
=>
array
(
0
=>
array
(
'type'
=>
'NOTEMPTY'
,
'errmsg'
=>
'php_fpm_socket_dir_error_empty'
),
),
'value'
=>
''
,
'width'
=>
'40'
,
'maxlength'
=>
'255'
),
'php_open_basedir'
=>
array
(
'datatype'
=>
'VARCHAR'
,
'formtype'
=>
'TEXT'
,
...
...
interface/web/admin/lib/lang/de_server_config.lng
View file @
72ce7888
...
...
@@ -139,4 +139,6 @@ $wb["php_fpm_pool_dir_txt"] = 'PHP-FPM pool Verzeichnis';
$wb
[
"php_fpm_pool_dir_error_empty"
]
=
'PHP-FPM pool Verzeichnis ist leer.'
;
$wb
[
"php_fpm_start_port_txt"
]
=
'PHP-FPM Start-Port'
;
$wb
[
"php_fpm_start_port_error_empty"
]
=
'PHP-FPM Start-Port ist leer.'
;
$wb
[
"php_fpm_socket_dir_txt"
]
=
'PHP-FPM Socket-Verzeichnis'
;
$wb
[
"php_fpm_socket_dir_error_empty"
]
=
'PHP-FPM Socket-Verzeichnis ist leer.'
;
?>
interface/web/admin/lib/lang/en_server_config.lng
View file @
72ce7888
...
...
@@ -141,6 +141,8 @@ $wb["php_fpm_pool_dir_txt"] = 'PHP-FPM pool directory';
$wb
[
"php_fpm_pool_dir_error_empty"
]
=
'PHP-FPM pool directory is empty.'
;
$wb
[
"php_fpm_start_port_txt"
]
=
'PHP-FPM start port'
;
$wb
[
"php_fpm_start_port_error_empty"
]
=
'PHP-FPM start port is empty.'
;
$wb
[
"php_fpm_socket_dir_txt"
]
=
'PHP-FPM socket directory'
;
$wb
[
"php_fpm_socket_dir_error_empty"
]
=
'PHP-FPM socket directory is empty.'
;
$wb
[
"try_rescue_txt"
]
=
'Enable service monitoring and restart on failure'
;
$wb
[
"do_not_try_rescue_apache_txt"
]
=
'Disable apache monitoring'
;
$wb
[
"do_not_try_rescue_mysql_txt"
]
=
'Disable MySQL monitoring'
;
...
...
interface/web/admin/templates/server_config_web_edit.htm
View file @
72ce7888
...
...
@@ -108,6 +108,10 @@
<div
class=
"ctrlHolder nginx"
>
<label
for=
"php_fpm_start_port"
>
{tmpl_var name='php_fpm_start_port_txt'}
</label>
<input
name=
"php_fpm_start_port"
id=
"php_fpm_start_port"
value=
"{tmpl_var name='php_fpm_start_port'}"
size=
"40"
maxlength=
"255"
type=
"text"
class=
"textInput"
/>
</div>
<div
class=
"ctrlHolder nginx"
>
<label
for=
"php_fpm_socket_dir"
>
{tmpl_var name='php_fpm_socket_dir_txt'}
</label>
<input
name=
"php_fpm_socket_dir"
id=
"php_fpm_socket_dir"
value=
"{tmpl_var name='php_fpm_socket_dir'}"
size=
"40"
maxlength=
"255"
type=
"text"
class=
"textInput"
/>
</div>
<div
class=
"ctrlHolder"
>
<label
for=
"php_open_basedir"
>
{tmpl_var name='php_open_basedir_txt'}
</label>
...
...
interface/web/sites/form/web_domain.tform.php
View file @
72ce7888
...
...
@@ -488,6 +488,12 @@ $form["tabs"]['advanced'] = array (
'width'
=>
'30'
,
'maxlength'
=>
'255'
),
'php_fpm_use_socket'
=>
array
(
'datatype'
=>
'VARCHAR'
,
'formtype'
=>
'CHECKBOX'
,
'default'
=>
'n'
,
'value'
=>
array
(
0
=>
'n'
,
1
=>
'y'
)
),
'php_open_basedir'
=>
array
(
'datatype'
=>
'VARCHAR'
,
'formtype'
=>
'TEXT'
,
...
...
interface/web/sites/lib/lang/de_web_domain.lng
View file @
72ce7888
...
...
@@ -76,4 +76,5 @@ $wb['nginx_directives_txt'] = 'nginx Direktiven';
$wb
[
"seo_redirect_txt"
]
=
'SEO Redirect'
;
$wb
[
"non_www_to_www_txt"
]
=
'Nicht-www -> www'
;
$wb
[
"www_to_non_www_txt"
]
=
'www -> Nicht-www'
;
$wb
[
"php_fpm_use_socket_txt"
]
=
'Benutze Socket für PHP-FPM'
;
?>
interface/web/sites/lib/lang/en_web_domain.lng
View file @
72ce7888
...
...
@@ -76,4 +76,5 @@ $wb["nginx_directives_txt"] = 'nginx Directives';
$wb
[
"seo_redirect_txt"
]
=
'SEO Redirect'
;
$wb
[
"non_www_to_www_txt"
]
=
'Non-www -> www'
;
$wb
[
"www_to_non_www_txt"
]
=
'www -> non-www'
;
$wb
[
"php_fpm_use_socket_txt"
]
=
'Use Socket For PHP-FPM'
;
?>
\ No newline at end of file
interface/web/sites/templates/web_domain_advanced.htm
View file @
72ce7888
...
...
@@ -20,6 +20,12 @@
<label
for=
"allow_override"
>
{tmpl_var name='allow_override_txt'}
</label>
<input
name=
"allow_override"
id=
"allow_override"
value=
"{tmpl_var name='allow_override'}"
size=
"30"
maxlength=
"255"
type=
"text"
class=
"textInput"
/>
</div>
<div
class=
"ctrlHolder nginx"
>
<p
class=
"label"
>
{tmpl_var name='php_fpm_use_socket_txt'}
</p>
<div
class=
"multiField"
>
{tmpl_var name='php_fpm_use_socket'}
</div>
</div>
<div
class=
"ctrlHolder"
>
<label
for=
"php_open_basedir"
>
{tmpl_var name='php_open_basedir_txt'}
</label>
<input
name=
"php_open_basedir"
id=
"php_open_basedir"
value=
"{tmpl_var name='php_open_basedir'}"
size=
"30"
type=
"text"
class=
"textInput"
style=
"width:400px;"
/>
...
...
server/conf/nginx_vhost.conf.master
View file @
72ce7888
...
...
@@ -75,7 +75,8 @@ server {
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:<tmpl_var name='fpm_port'>;
<tmpl_var name='use_tcp'>fastcgi_pass 127.0.0.1:<tmpl_var name='fpm_port'>;
<tmpl_var name='use_socket'>fastcgi_pass unix:<tmpl_var name='fpm_socket'>;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
...
...
server/conf/php_fpm_pool.conf.master
View file @
72ce7888
[<tmpl_var name='fpm_pool'>]
listen = 127.0.0.1:<tmpl_var name='fpm_port'>
<tmpl_var name='use_tcp'>listen = 127.0.0.1:<tmpl_var name='fpm_port'>
<tmpl_var name='use_tcp'>listen.allowed_clients = 127.0.0.1
listen.allowed_clients = 127.0.0.1
<tmpl_var name='use_socket'>listen = <tmpl_var name='fpm_socket'>
<tmpl_var name='use_socket'>listen.owner = <tmpl_var name='fpm_user'>
<tmpl_var name='use_socket'>listen.group = <tmpl_var name='fpm_group'>
<tmpl_var name='use_socket'>listen.mode = 0660
user = <tmpl_var name='fpm_user'>
group = <tmpl_var name='fpm_group'>
...
...
server/plugins-available/nginx_plugin.inc.php
View file @
72ce7888
...
...
@@ -639,6 +639,25 @@ class nginx_plugin {
$vhost_data
[
'web_document_root_www'
]
=
$web_config
[
'website_basedir'
]
.
'/'
.
$data
[
'new'
][
'domain'
]
.
'/web'
;
$vhost_data
[
'web_basedir'
]
=
$web_config
[
'website_basedir'
];
$vhost_data
[
'ssl_domain'
]
=
$data
[
'new'
][
'ssl_domain'
];
// PHP-FPM
$pool_dir
=
escapeshellcmd
(
$web_config
[
'php_fpm_pool_dir'
]);
if
(
substr
(
$pool_dir
,
-
1
)
!=
'/'
)
$pool_dir
.
=
'/'
;
$pool_name
=
'web'
.
$data
[
'new'
][
'domain_id'
];
$socket_dir
=
escapeshellcmd
(
$web_config
[
'php_fpm_socket_dir'
]);
if
(
substr
(
$socket_dir
,
-
1
)
!=
'/'
)
$socket_dir
.
=
'/'
;
if
(
$data
[
'new'
][
'php_fpm_use_socket'
]
==
'y'
){
$use_tcp
=
'#'
;
$use_socket
=
''
;
}
else
{
$use_tcp
=
''
;
$use_socket
=
'#'
;
}
$tpl
->
setVar
(
'use_tcp'
,
$use_tcp
);
$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
;
// Custom nginx directives
...
...
@@ -870,7 +889,7 @@ class nginx_plugin {
$this
->
awstats_update
(
$data
,
$web_config
);
}
$this
->
php_fpm_pool_update
(
$data
,
$web_config
);
$this
->
php_fpm_pool_update
(
$data
,
$web_config
,
$pool_dir
,
$pool_name
,
$socket_dir
);
if
(
$web_config
[
'check_apache_config'
]
==
'y'
)
{
//* Test if nginx starts with the new configuration file
...
...
@@ -1073,89 +1092,95 @@ class nginx_plugin {
}
//* Update the PHP-FPM pool configuration file
private
function
php_fpm_pool_update
(
$data
,
$web_config
)
{
private
function
php_fpm_pool_update
(
$data
,
$web_config
,
$pool_dir
,
$pool_name
,
$socket_dir
)
{
global
$app
,
$conf
;
$pool_dir
=
$web_config
[
'php_fpm_pool_dir'
];
$pool_name
=
'web'
.
$data
[
'new'
][
'domain_id'
];
//$reload = false;
if
(
$data
[
'new'
][
'php'
]
==
'no'
){
if
(
@
is_file
(
$pool_dir
.
'/'
.
$pool_name
.
'.conf'
)){
unlink
(
$pool_dir
.
'/'
.
$pool_name
.
'.conf'
);
if
(
@
is_file
(
$pool_dir
.
$pool_name
.
'.conf'
)){
unlink
(
$pool_dir
.
$pool_name
.
'.conf'
);
//$reload = true;
}
//if($reload == true) $app->services->restartService('php-fpm','reload');
return
;
}
//if(!@is_file($pool_dir.'/'.$data['new']['domain'].'.conf') || ($data['old']['domain'] != '' && $data['new']['domain'] != $data['old']['domain'])) {
//if ( @is_file($pool_dir.'/'.$pool_name.'.conf') ) {
// unlink($pool_dir.'/'.$pool_name.'.conf');
//}
$app
->
uses
(
"getconf"
);
$web_config
=
$app
->
getconf
->
get_server_config
(
$conf
[
"server_id"
],
'web'
);
$app
->
uses
(
"getconf"
);
$web_config
=
$app
->
getconf
->
get_server_config
(
$conf
[
"server_id"
],
'web'
);
$app
->
load
(
'tpl'
);
$tpl
=
new
tpl
();
$tpl
->
newTemplate
(
'php_fpm_pool.conf.master'
);
$tpl
->
setVar
(
'fpm_pool'
,
$pool_name
);
$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
(
'security_level'
,
$web_config
[
'security_level'
]);
$php_open_basedir
=
(
$data
[
'new'
][
'php_open_basedir'
]
==
''
)
?
escapeshellcmd
(
$data
[
'new'
][
'document_root'
])
:
escapeshellcmd
(
$data
[
'new'
][
'php_open_basedir'
]);
$tpl
->
setVar
(
'php_open_basedir'
,
$php_open_basedir
);
if
(
$php_open_basedir
!=
''
){
$tpl
->
setVar
(
'enable_php_open_basedir'
,
''
);
}
else
{
$tpl
->
setVar
(
'enable_php_open_basedir'
,
';'
);
}
$app
->
load
(
'tpl'
);
$tpl
=
new
tpl
();
$tpl
->
newTemplate
(
'php_fpm_pool.conf.master'
);
if
(
$data
[
'new'
][
'php_fpm_use_socket'
]
==
'y'
){
$use_tcp
=
';'
;
$use_socket
=
''
;
if
(
!
is_dir
(
$socket_dir
))
exec
(
'mkdir -p '
.
$socket_dir
);
}
else
{
$use_tcp
=
''
;
$use_socket
=
';'
;
}
$tpl
->
setVar
(
'use_tcp'
,
$use_tcp
);
$tpl
->
setVar
(
'use_socket'
,
$use_socket
);
// Custom php.ini settings
$final_php_ini_settings
=
array
();
$custom_php_ini_settings
=
trim
(
$data
[
'new'
][
'custom_php_ini'
]);
if
(
$custom_php_ini_settings
!=
''
){
// Make sure we only have Unix linebreaks
$custom_php_ini_settings
=
str_replace
(
"
\r\n
"
,
"
\n
"
,
$custom_php_ini_settings
);
$custom_php_ini_settings
=
str_replace
(
"
\r
"
,
"
\n
"
,
$custom_php_ini_settings
);
$ini_settings
=
explode
(
"
\n
"
,
$custom_php_ini_settings
);
if
(
is_array
(
$ini_settings
)
&&
!
empty
(
$ini_settings
)){
foreach
(
$ini_settings
as
$ini_setting
){
list
(
$key
,
$value
)
=
explode
(
'='
,
$ini_setting
);
if
(
$value
){
$value
=
escapeshellcmd
(
trim
(
$value
));
$key
=
escapeshellcmd
(
trim
(
$key
));
switch
(
strtolower
(
$value
))
{
case
'on'
:
case
'off'
:
case
'1'
:
case
'0'
:
// PHP-FPM might complain about invalid boolean value if you use 0
$value
=
'off'
;
case
'true'
:
case
'false'
:
case
'yes'
:
case
'no'
:
$final_php_ini_settings
[]
=
array
(
'ini_setting'
=>
'php_admin_flag['
.
$key
.
'] = '
.
$value
);
break
;
default
:
$final_php_ini_settings
[]
=
array
(
'ini_setting'
=>
'php_admin_value['
.
$key
.
'] = '
.
$value
);
}
$fpm_socket
=
$socket_dir
.
$pool_name
.
'.sock'
;
$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_user'
,
$data
[
'new'
][
'system_user'
]);
$tpl
->
setVar
(
'fpm_group'
,
$data
[
'new'
][
'system_group'
]);
$tpl
->
setVar
(
'security_level'
,
$web_config
[
'security_level'
]);
$php_open_basedir
=
(
$data
[
'new'
][
'php_open_basedir'
]
==
''
)
?
escapeshellcmd
(
$data
[
'new'
][
'document_root'
])
:
escapeshellcmd
(
$data
[
'new'
][
'php_open_basedir'
]);
$tpl
->
setVar
(
'php_open_basedir'
,
$php_open_basedir
);
if
(
$php_open_basedir
!=
''
){
$tpl
->
setVar
(
'enable_php_open_basedir'
,
''
);
}
else
{
$tpl
->
setVar
(
'enable_php_open_basedir'
,
';'
);
}
// Custom php.ini settings
$final_php_ini_settings
=
array
();
$custom_php_ini_settings
=
trim
(
$data
[
'new'
][
'custom_php_ini'
]);
if
(
$custom_php_ini_settings
!=
''
){
// Make sure we only have Unix linebreaks
$custom_php_ini_settings
=
str_replace
(
"
\r\n
"
,
"
\n
"
,
$custom_php_ini_settings
);
$custom_php_ini_settings
=
str_replace
(
"
\r
"
,
"
\n
"
,
$custom_php_ini_settings
);
$ini_settings
=
explode
(
"
\n
"
,
$custom_php_ini_settings
);
if
(
is_array
(
$ini_settings
)
&&
!
empty
(
$ini_settings
)){
foreach
(
$ini_settings
as
$ini_setting
){
list
(
$key
,
$value
)
=
explode
(
'='
,
$ini_setting
);
if
(
$value
){
$value
=
escapeshellcmd
(
trim
(
$value
));
$key
=
escapeshellcmd
(
trim
(
$key
));
switch
(
strtolower
(
$value
))
{
case
'on'
:
case
'off'
:
case
'1'
:
case
'0'
:
// PHP-FPM might complain about invalid boolean value if you use 0
$value
=
'off'
;
case
'true'
:
case
'false'
:
case
'yes'
:
case
'no'
:
$final_php_ini_settings
[]
=
array
(
'ini_setting'
=>
'php_admin_flag['
.
$key
.
'] = '
.
$value
);
break
;
default
:
$final_php_ini_settings
[]
=
array
(
'ini_setting'
=>
'php_admin_value['
.
$key
.
'] = '
.
$value
);
}
}
}
}
}
}
$tpl
->
setLoop
(
'custom_php_ini_settings'
,
$final_php_ini_settings
);
$tpl
->
setLoop
(
'custom_php_ini_settings'
,
$final_php_ini_settings
);
file_put_contents
(
$pool_dir
.
'/'
.
$pool_name
.
'.conf'
,
$tpl
->
grab
());
$app
->
log
(
'Writing the PHP-FPM config file: '
.
$pool_dir
.
'/'
.
$pool_name
.
'.conf'
,
LOGLEVEL_DEBUG
);
unset
(
$tpl
);
//$reload = true;
//}
file_put_contents
(
$pool_dir
.
$pool_name
.
'.conf'
,
$tpl
->
grab
());
$app
->
log
(
'Writing the PHP-FPM config file: '
.
$pool_dir
.
$pool_name
.
'.conf'
,
LOGLEVEL_DEBUG
);
unset
(
$tpl
);
//$reload = true;
//if($reload == true) $app->services->restartService('php-fpm','reload');
}
...
...
@@ -1163,12 +1188,13 @@ class nginx_plugin {
private
function
php_fpm_pool_delete
(
$data
,
$web_config
)
{
global
$app
;
$pool_dir
=
$web_config
[
'php_fpm_pool_dir'
];
$pool_name
=
'web'
.
$data
[
'old'
][
'domain_id'
];
$pool_dir
=
escapeshellcmd
(
$web_config
[
'php_fpm_pool_dir'
]);
if
(
substr
(
$pool_dir
,
-
1
)
!=
'/'
)
$pool_dir
.
=
'/'
;
$pool_name
=
'web'
.
$data
[
'new'
][
'domain_id'
];
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
);
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');
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment