Skip to content

Commit 10c7932

Browse files
author
Till Brehm
committed
Merge branch 'stable-3.1' of git.ispconfig.org:ispconfig/ispconfig3 into stable-3.1
2 parents 6591fc3 + 87cea1c commit 10c7932

File tree

6 files changed

+33
-20
lines changed

6 files changed

+33
-20
lines changed

interface/lib/classes/aps_guicontroller.inc.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,15 @@ public function createDatabaseForPackageInstance(&$settings, $websrv) {
249249
$settings['main_database_host'] = 'localhost';
250250
$mysql_db_remote_access = 'n';
251251
$mysql_db_remote_ips = '';
252+
253+
// If we are dealing with chrooted PHP-FPM, use a network connection instead because the MySQL socket file
254+
// does not exist within the chroot.
255+
$php_fpm_chroot = $app->db->queryOneRecord("SELECT php_fpm_chroot FROM web_domain WHERE domain_id = ?", $websrv['domain_id']);
256+
if ($php_fpm_chroot['php_fpm_chroot'] === 'y') {
257+
$settings['main_database_host'] = '127.0.0.1';
258+
$mysql_db_remote_access = 'y';
259+
$mysql_db_remote_ips = '127.0.0.1';
260+
}
252261
} else {
253262
//* get the default database server of the client
254263
$client = $app->db->queryOneRecord("SELECT default_dbserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $websrv['sys_groupid']);

server/conf/nginx_vhost.conf.master

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,9 @@ server {
174174
</tmpl_if>
175175
fastcgi_index index.php;
176176
<tmpl_if name='php_fpm_chroot' op='==' value='y'>
177-
fastcgi_param DOCUMENT_ROOT /web;
178-
fastcgi_param HOME /web;
179-
fastcgi_param SCRIPT_FILENAME /web$fastcgi_script_name;
177+
fastcgi_param DOCUMENT_ROOT <tmpl_var name='php_fpm_chroot_web_folder'>;
178+
fastcgi_param HOME <tmpl_var name='php_fpm_chroot_web_folder'>;
179+
fastcgi_param SCRIPT_FILENAME <tmpl_var name='php_fpm_chroot_web_folder'>$fastcgi_script_name;
180180
<tmpl_else>
181181
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
182182
</tmpl_if>
@@ -191,17 +191,17 @@ server {
191191
fastcgi_pass unix:/var/run/hhvm/hhvm.<tmpl_var name='system_user'>.sock;
192192
fastcgi_index index.php;
193193
<tmpl_if name='php_fpm_chroot'>
194-
fastcgi_param DOCUMENT_ROOT /web;
195-
fastcgi_param HOME /web;
196-
fastcgi_param SCRIPT_FILENAME /web$fastcgi_script_name;
194+
fastcgi_param DOCUMENT_ROOT <tmpl_var name='php_fpm_chroot_web_folder'>;
195+
fastcgi_param HOME <tmpl_var name='php_fpm_chroot_web_folder'>;
196+
fastcgi_param SCRIPT_FILENAME <tmpl_var name='php_fpm_chroot_web_folder'>$fastcgi_script_name;
197197
<tmpl_else>
198198
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
199199
</tmpl_if>
200200
#fastcgi_param PATH_INFO $fastcgi_script_name;
201201
fastcgi_intercept_errors on;
202202
error_page 500 501 502 503 = @phpfallback;
203203
}
204-
204+
205205
location @phpfallback {
206206
try_files $uri =404;
207207
include /etc/nginx/fastcgi_params;
@@ -213,9 +213,9 @@ server {
213213
</tmpl_if>
214214
fastcgi_index index.php;
215215
<tmpl_if name='php_fpm_chroot'>
216-
fastcgi_param DOCUMENT_ROOT /web;
217-
fastcgi_param HOME /web;
218-
fastcgi_param SCRIPT_FILENAME /web$fastcgi_script_name;
216+
fastcgi_param DOCUMENT_ROOT <tmpl_var name='php_fpm_chroot_web_folder'>;
217+
fastcgi_param HOME <tmpl_var name='php_fpm_chroot_web_folder'>;
218+
fastcgi_param SCRIPT_FILENAME <tmpl_var name='php_fpm_chroot_web_folder'>$fastcgi_script_name;
219219
<tmpl_else>
220220
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
221221
</tmpl_if>
@@ -229,7 +229,7 @@ server {
229229
}
230230
</tmpl_if>
231231
</tmpl_if>
232-
232+
233233
<tmpl_if name='cgi' op='==' value='y'>
234234
location /cgi-bin/ {
235235
try_files $uri =404;
@@ -239,9 +239,9 @@ server {
239239
fastcgi_pass unix:/var/run/fcgiwrap.socket;
240240
fastcgi_index index.cgi;
241241
<tmpl_if name='php_fpm_chroot'>
242-
fastcgi_param DOCUMENT_ROOT /web;
243-
fastcgi_param HOME /web;
244-
fastcgi_param SCRIPT_FILENAME /web$fastcgi_script_name;
242+
fastcgi_param DOCUMENT_ROOT <tmpl_var name='php_fpm_chroot_web_folder'>;
243+
fastcgi_param HOME <tmpl_var name='php_fpm_chroot_web_folder'>;
244+
fastcgi_param SCRIPT_FILENAME <tmpl_var name='php_fpm_chroot_web_folder'>$fastcgi_script_name;
245245
<tmpl_else>
246246
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
247247
</tmpl_if>

server/conf/php_fpm_pool.conf.master

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ pm.max_requests = <tmpl_var name='pm_max_requests'>
2929
chdir = /
3030
<tmpl_if name='php_fpm_chroot'>
3131
chroot = <tmpl_var name='php_fpm_chroot_dir'>
32-
php_admin_value[doc_root] = /web
32+
php_admin_value[doc_root] = <tmpl_var name='php_fpm_chroot_web_folder'>
3333
php_admin_value[cgi.fix_pathinfo] = 0
3434
</tmpl_if>
3535

server/conf/vhost.conf.master

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@
378378
</IfModule>
379379
<IfModule mod_proxy_fcgi.c>
380380
<tmpl_if name='php_fpm_chroot' op='==' value='y'>
381-
ProxyFCGISetEnvIf "true" DOCUMENT_ROOT "/web"
381+
ProxyFCGISetEnvIf "true" DOCUMENT_ROOT "<tmpl_var name='php_fpm_chroot_web_folder'>"
382382
ProxyFCGISetEnvIf "true" CONTEXT_DOCUMENT_ROOT "%{reqenv:DOCUMENT_ROOT}"
383383
ProxyFCGISetEnvIf "true" HOME "%{reqenv:DOCUMENT_ROOT}"
384384
ProxyFCGISetEnvIf "true" SCRIPT_FILENAME "%{reqenv:DOCUMENT_ROOT}%{reqenv:SCRIPT_NAME}"

server/plugins-available/apache2_plugin.inc.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1581,6 +1581,7 @@ function update($event_name, $data) {
15811581
$tpl->setVar('use_tcp', $use_tcp);
15821582
$tpl->setVar('use_socket', $use_socket);
15831583
$tpl->setVar('php_fpm_chroot', $data['new']['php_fpm_chroot']);
1584+
$tpl->setVar('php_fpm_chroot_web_folder', sprintf('/%s', trim($web_folder, '/')));
15841585
$fpm_socket = $socket_dir.$pool_name.'.sock';
15851586
$tpl->setVar('fpm_socket', $fpm_socket);
15861587
$tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] - 1);
@@ -1823,7 +1824,7 @@ function update($event_name, $data) {
18231824
$this->awstats_update($data, $web_config);
18241825
}
18251826

1826-
$this->php_fpm_pool_update($data, $web_config, $pool_dir, $pool_name, $socket_dir);
1827+
$this->php_fpm_pool_update($data, $web_config, $pool_dir, $pool_name, $socket_dir, $web_folder);
18271828
$this->hhvm_update($data, $web_config);
18281829

18291830
if($web_config['check_apache_config'] == 'y') {
@@ -3024,7 +3025,7 @@ private function hhvm_update($data, $web_config) {
30243025
}
30253026

30263027
//* Update the PHP-FPM pool configuration file
3027-
private function php_fpm_pool_update ($data, $web_config, $pool_dir, $pool_name, $socket_dir) {
3028+
private function php_fpm_pool_update ($data, $web_config, $pool_dir, $pool_name, $socket_dir, $web_folder = null) {
30283029
global $app, $conf;
30293030
$pool_dir = trim($pool_dir);
30303031
//$reload = false;
@@ -3115,6 +3116,7 @@ private function php_fpm_pool_update ($data, $web_config, $pool_dir, $pool_name,
31153116
if ($data['new']['php_fpm_chroot'] === 'y') {
31163117
$tpl->setVar('php_fpm_chroot', $data['new']['php_fpm_chroot']);
31173118
$tpl->setVar('php_fpm_chroot_dir', $data['new']['document_root']);
3119+
$tpl->setVar('php_fpm_chroot_web_folder', sprintf('/%s', trim($web_folder, '/')));
31183120
$tpl->setVar('php_open_basedir', str_replace($tpl->getVar('document_root'), '', $tpl->getVar('php_open_basedir')));
31193121
$tpl->setVar('document_root', '');
31203122
}

server/plugins-available/nginx_plugin.inc.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,6 +1042,7 @@ function update($event_name, $data) {
10421042
$tpl->setVar('use_tcp', $use_tcp);
10431043
$tpl->setVar('use_socket', $use_socket);
10441044
$tpl->setVar('php_fpm_chroot', $data['new']['php_fpm_chroot']);
1045+
$tpl->setVar('php_fpm_chroot_web_folder', sprintf('/%s', trim($web_folder, '/')));
10451046
$fpm_socket = $socket_dir.$pool_name.'.sock';
10461047
$tpl->setVar('fpm_socket', $fpm_socket);
10471048
$tpl->setVar('rnd_php_dummy_file', '/'.md5(uniqid(microtime(), 1)).'.htm');
@@ -1888,7 +1889,7 @@ function update($event_name, $data) {
18881889
$this->awstats_update($data, $web_config);
18891890
}
18901891

1891-
$this->php_fpm_pool_update($data, $web_config, $pool_dir, $pool_name, $socket_dir);
1892+
$this->php_fpm_pool_update($data, $web_config, $pool_dir, $pool_name, $socket_dir, $web_folder);
18921893
$this->hhvm_update($data, $web_config);
18931894

18941895
if($web_config['check_apache_config'] == 'y') {
@@ -2641,7 +2642,7 @@ private function hhvm_update($data, $web_config) {
26412642
}
26422643

26432644
//* Update the PHP-FPM pool configuration file
2644-
private function php_fpm_pool_update ($data, $web_config, $pool_dir, $pool_name, $socket_dir) {
2645+
private function php_fpm_pool_update ($data, $web_config, $pool_dir, $pool_name, $socket_dir, $web_folder = null) {
26452646
global $app, $conf;
26462647
$pool_dir = trim($pool_dir);
26472648
$rh_releasefiles = array('/etc/centos-release', '/etc/redhat-release');
@@ -2748,6 +2749,7 @@ private function php_fpm_pool_update ($data, $web_config, $pool_dir, $pool_name,
27482749
if ($data['new']['php_fpm_chroot'] === 'y') {
27492750
$tpl->setVar('php_fpm_chroot', $data['new']['php_fpm_chroot']);
27502751
$tpl->setVar('php_fpm_chroot_dir', $data['new']['document_root']);
2752+
$tpl->setVar('php_fpm_chroot_web_folder', sprintf('/%s', trim($web_folder, '/')));
27512753
$tpl->setVar('php_open_basedir', str_replace($tpl->getVar('document_root'), '', $tpl->getVar('php_open_basedir')));
27522754
$tpl->setVar('document_root', '');
27532755
}

0 commit comments

Comments
 (0)