Merge pull request #17 from blackice2999/fixes-php-fpm-rewrite
Fixes php fpm rewrite, fixes #1089, thx blackice2999
This commit is contained in:
@@ -77,6 +77,15 @@ return array(
|
|||||||
'default' => '/etc/php-fpm.d/',
|
'default' => '/etc/php-fpm.d/',
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
),
|
),
|
||||||
|
'system_phpfpm_aliasconfigdir' => array(
|
||||||
|
'label' => $lng['serversettings']['phpfpm_settings']['aliasconfigdir'],
|
||||||
|
'settinggroup' => 'phpfpm',
|
||||||
|
'varname' => 'aliasconfigdir',
|
||||||
|
'type' => 'string',
|
||||||
|
'string_type' => 'dir',
|
||||||
|
'default' => '/var/www/php-fpm/',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
'system_phpfpm_tmpdir' => array(
|
'system_phpfpm_tmpdir' => array(
|
||||||
'label' => $lng['serversettings']['mod_fcgid']['tmpdir'],
|
'label' => $lng['serversettings']['mod_fcgid']['tmpdir'],
|
||||||
'settinggroup' => 'phpfpm',
|
'settinggroup' => 'phpfpm',
|
||||||
|
|||||||
@@ -1821,3 +1821,17 @@ if(isFroxlorVersion('0.9.27-rc1'))
|
|||||||
updateToVersion('0.9.27');
|
updateToVersion('0.9.27');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.27')) {
|
||||||
|
showUpdateStep("Updating from 0.9.27 to 0.9.28-fpmfix");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
// Get AliasconfigDir setting if available
|
||||||
|
$handle = $db->query("SELECT `value` FROM `panel_settings` WHERE `settinggroup` = 'phpfpm' AND `varname` = 'aliasconfigdir';");
|
||||||
|
|
||||||
|
// If AliasconfigDir is set then skip
|
||||||
|
if ($db->num_rows($handle) < 1) {
|
||||||
|
$db->query("INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES ('phpfpm', 'aliasconfigdir', '/var/www/php-fpm/');");
|
||||||
|
}
|
||||||
|
|
||||||
|
updateToVersion('0.9.28-fpmfix');
|
||||||
|
}
|
||||||
|
|||||||
@@ -232,4 +232,28 @@ class phpinterface_fpm
|
|||||||
|
|
||||||
return $tmpdir;
|
return $tmpdir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fastcgi-fakedirectory directory
|
||||||
|
*
|
||||||
|
* @param boolean $createifnotexists create the directory if it does not exist
|
||||||
|
*
|
||||||
|
* @return string the directory
|
||||||
|
*/
|
||||||
|
public function getAliasConfigDir($createifnotexists = true)
|
||||||
|
{
|
||||||
|
// ensure default...
|
||||||
|
if (!isset($this->_settings['phpfpm']['aliasconfigdir'])) {
|
||||||
|
$this->_settings['phpfpm']['aliasconfigdir'] = '/var/www/php-fpm';
|
||||||
|
}
|
||||||
|
|
||||||
|
$configdir = makeCorrectDir($this->_settings['phpfpm']['aliasconfigdir'] . '/' . $this->_domain['loginname'] . '/' . $this->_domain['domain'] . '/');
|
||||||
|
if(!is_dir($configdir) && $createifnotexists)
|
||||||
|
{
|
||||||
|
safe_exec('mkdir -p ' . escapeshellarg($configdir));
|
||||||
|
safe_exec('chown ' . $this->_domain['guid'] . ':' . $this->_domain['guid'] . ' ' . escapeshellarg($configdir));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $configdir;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -189,7 +189,6 @@ function processFormEx(&$form, &$input, $url_params = array(), $part, $settings_
|
|||||||
|| ($only_enabledisable && isset($fielddetails['overview_option']))
|
|| ($only_enabledisable && isset($fielddetails['overview_option']))
|
||||||
) {
|
) {
|
||||||
$newfieldvalue = getFormFieldData($fieldname, $fielddetails, $input);
|
$newfieldvalue = getFormFieldData($fieldname, $fielddetails, $input);
|
||||||
|
|
||||||
if($newfieldvalue != $fielddetails['value'])
|
if($newfieldvalue != $fielddetails['value'])
|
||||||
{
|
{
|
||||||
if(($error = validateFormField($fieldname, $fielddetails, $newfieldvalue)) !== true)
|
if(($error = validateFormField($fieldname, $fielddetails, $newfieldvalue)) !== true)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ function storeSettingField($fieldname, $fielddata, $newfieldvalue)
|
|||||||
{
|
{
|
||||||
if(is_array($fielddata) && isset($fielddata['settinggroup']) && $fielddata['settinggroup'] != '' && isset($fielddata['varname']) && $fielddata['varname'] != '')
|
if(is_array($fielddata) && isset($fielddata['settinggroup']) && $fielddata['settinggroup'] != '' && isset($fielddata['varname']) && $fielddata['varname'] != '')
|
||||||
{
|
{
|
||||||
|
|
||||||
if(saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false)
|
if(saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -1527,6 +1527,7 @@ $lng['error']['intvaluetoohigh'] = 'The given number is too high (field %s)';
|
|||||||
$lng['admin']['phpfpm_settings'] = 'PHP-FPM';
|
$lng['admin']['phpfpm_settings'] = 'PHP-FPM';
|
||||||
$lng['serversettings']['phpfpm'] = 'Enable php-fpm';
|
$lng['serversettings']['phpfpm'] = 'Enable php-fpm';
|
||||||
$lng['serversettings']['phpfpm_settings']['configdir'] = 'Configuration directory of php-fpm';
|
$lng['serversettings']['phpfpm_settings']['configdir'] = 'Configuration directory of php-fpm';
|
||||||
|
$lng['serversettings']['phpfpm_settings']['aliasconfigdir'] = 'Configuration Alias-directory of php-fpm';
|
||||||
$lng['serversettings']['phpfpm_settings']['reload'] = 'php-fpm restart command';
|
$lng['serversettings']['phpfpm_settings']['reload'] = 'php-fpm restart command';
|
||||||
$lng['serversettings']['phpfpm_settings']['pm'] = 'Process manager control (pm)';
|
$lng['serversettings']['phpfpm_settings']['pm'] = 'Process manager control (pm)';
|
||||||
$lng['serversettings']['phpfpm_settings']['max_children']['title'] = 'The number of child processes';
|
$lng['serversettings']['phpfpm_settings']['max_children']['title'] = 'The number of child processes';
|
||||||
|
|||||||
@@ -271,12 +271,12 @@ class apache
|
|||||||
'safemode' => '0',
|
'safemode' => '0',
|
||||||
'email' => $this->settings['panel']['adminmail'],
|
'email' => $this->settings['panel']['adminmail'],
|
||||||
'loginname' => 'froxlor.panel',
|
'loginname' => 'froxlor.panel',
|
||||||
'documentroot' => $mypath
|
'documentroot' => $mypath,
|
||||||
);
|
);
|
||||||
|
|
||||||
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
$php = new phpinterface($this->getDB(), $this->settings, $domain);
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' SuexecUserGroup "' . $this->settings['system']['mod_fcgid_httpuser'] . '" "' . $this->settings['system']['mod_fcgid_httpgroup'] . '"' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' SuexecUserGroup "' . $this->settings['system']['mod_fcgid_httpuser'] . '" "' . $this->settings['system']['mod_fcgid_httpgroup'] . '"' . "\n";
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' FastCgiExternalServer ' . $mypath . $domain['domain'] . "." . 'fpm.external -socket ' . $php->getInterface()->getSocketFile() . ' -user ' . $this->settings['system']['mod_fcgid_httpuser'] . ' -group ' . $this->settings['system']['mod_fcgid_httpuser'] . " -idle-timeout " . $this->settings['phpfpm']['idle_timeout'] . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' FastCgiExternalServer ' . $php->getInterface()->getAliasConfigDir() . 'fpm.external -socket ' . $php->getInterface()->getSocketFile() . ' -user ' . $this->settings['system']['mod_fcgid_httpuser'] . ' -group ' . $this->settings['system']['mod_fcgid_httpuser'] . " -idle-timeout " . $this->settings['phpfpm']['idle_timeout'] . "\n";
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' <Directory "' . $mypath . '">' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' <Directory "' . $mypath . '">' . "\n";
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' AddHandler php5-fastcgi .php'. "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' AddHandler php5-fastcgi .php'. "\n";
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' Action php5-fastcgi /fastcgiphp' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' Action php5-fastcgi /fastcgiphp' . "\n";
|
||||||
@@ -284,7 +284,7 @@ class apache
|
|||||||
$this->virtualhosts_data[$vhosts_filename].= ' Order allow,deny' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' Order allow,deny' . "\n";
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' allow from all' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' allow from all' . "\n";
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' </Directory>' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' </Directory>' . "\n";
|
||||||
$this->virtualhosts_data[$vhosts_filename].= ' Alias /fastcgiphp ' . $mypath . $domain['domain'] . "." . 'fpm.external' . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' Alias /fastcgiphp ' . $php->getInterface()->getAliasConfigDir() . 'fpm.external' . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ class apache_fcgid extends apache
|
|||||||
if((int)$this->settings['phpfpm']['enabled'] == 1)
|
if((int)$this->settings['phpfpm']['enabled'] == 1)
|
||||||
{
|
{
|
||||||
$php_options_text.= ' SuexecUserGroup "' . $domain['loginname'] . '" "' . $domain['loginname'] . '"' . "\n";
|
$php_options_text.= ' SuexecUserGroup "' . $domain['loginname'] . '" "' . $domain['loginname'] . '"' . "\n";
|
||||||
$php_options_text.= ' FastCgiExternalServer ' . makeCorrectDir($domain['documentroot']) . $domain['domain'] . "." . 'fpm.external -socket ' . $php->getInterface()->getSocketFile() . ' -user ' . $domain['loginname'] . ' -group ' . $domain['loginname'] . " -idle-timeout " . $this->settings['phpfpm']['idle_timeout'] . "\n";
|
$php_options_text.= ' FastCgiExternalServer ' . makeCorrectDir($php->getInterface()->getAliasConfigDir()) . 'fpm.external -socket ' . $php->getInterface()->getSocketFile() . ' -user ' . $domain['loginname'] . ' -group ' . $domain['loginname'] . " -idle-timeout " . $this->settings['phpfpm']['idle_timeout'] . "\n";
|
||||||
$php_options_text.= ' <Directory "' . makeCorrectDir($domain['documentroot']) . '">' . "\n";
|
$php_options_text.= ' <Directory "' . makeCorrectDir($domain['documentroot']) . '">' . "\n";
|
||||||
$php_options_text.= ' <FilesMatch "\.php$">' . "\n";
|
$php_options_text.= ' <FilesMatch "\.php$">' . "\n";
|
||||||
$php_options_text.= ' SetHandler php5-fastcgi'. "\n";
|
$php_options_text.= ' SetHandler php5-fastcgi'. "\n";
|
||||||
@@ -48,7 +48,7 @@ class apache_fcgid extends apache
|
|||||||
$php_options_text.= ' Order allow,deny' . "\n";
|
$php_options_text.= ' Order allow,deny' . "\n";
|
||||||
$php_options_text.= ' allow from all' . "\n";
|
$php_options_text.= ' allow from all' . "\n";
|
||||||
$php_options_text.= ' </Directory>' . "\n";
|
$php_options_text.= ' </Directory>' . "\n";
|
||||||
$php_options_text.= ' Alias /fastcgiphp ' . makeCorrectDir($domain['documentroot']) . $domain['domain'] . "." . 'fpm.external' . "\n";
|
$php_options_text.= ' Alias /fastcgiphp ' . makeCorrectDir($php->getInterface()->getAliasConfigDir()) . 'fpm.external' . "\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user