- add possibility to use FCGID also for Froxlor itself, fixes #305
- make extra settings menu for FCGID - replace deprecated function 'ereg_replace' in lighttpd-cronjob
This commit is contained in:
125
actions/admin/settings/135.fcgid.php
Normal file
125
actions/admin/settings/135.fcgid.php
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This file is part of the Froxlor project.
|
||||||
|
* Copyright (c) 2010 the Froxlor Team (see authors).
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the COPYING
|
||||||
|
* file that was distributed with this source code. You can also view the
|
||||||
|
* COPYING file online at http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
*
|
||||||
|
* @copyright (c) the authors
|
||||||
|
* @author Froxlor team <team@froxlor.org> (2010-)
|
||||||
|
* @license GPLv2 http://files.froxlor.org/misc/COPYING.txt
|
||||||
|
* @package Settings
|
||||||
|
* @version $Id$
|
||||||
|
*/
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'groups' => array(
|
||||||
|
'fcgid' => array(
|
||||||
|
'title' => $lng['admin']['fcgid_settings'],
|
||||||
|
'fields' => array(
|
||||||
|
'system_mod_fcgid_enabled' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid',
|
||||||
|
'type' => 'bool',
|
||||||
|
'default' => false,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
'overview_option' => true
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_enabled_ownvhost' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid_ownvhost'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_ownvhost',
|
||||||
|
'type' => 'bool',
|
||||||
|
'default' => false,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_httpuser' => array(
|
||||||
|
'label' => $lng['admin']['mod_fcgid_user'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_httpuser',
|
||||||
|
'type' => 'string',
|
||||||
|
'default' => 'froxlorlocal',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_httpgroup' => array(
|
||||||
|
'label' => $lng['admin']['mod_fcgid_group'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_httpgroup',
|
||||||
|
'type' => 'string',
|
||||||
|
'default' => 'froxlorlocal',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_configdir' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['configdir'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_configdir',
|
||||||
|
'type' => 'string',
|
||||||
|
'string_type' => 'dir',
|
||||||
|
'default' => '/var/www/php-fcgi-scripts/',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_tmpdir' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['tmpdir'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_tmpdir',
|
||||||
|
'type' => 'string',
|
||||||
|
'string_type' => 'dir',
|
||||||
|
'default' => '/var/customers/tmp/',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_peardir' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['peardir'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_peardir',
|
||||||
|
'type' => 'string',
|
||||||
|
'string_type' => 'dir',
|
||||||
|
'string_delimiter' => ':',
|
||||||
|
'string_emptyallowed' => true,
|
||||||
|
'default' => '/usr/share/php/:/usr/share/php5/',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_wrapper' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['wrapper'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_wrapper',
|
||||||
|
'type' => 'option',
|
||||||
|
'option_options' => array(0 => 'ScriptAlias', 1=> 'FCGIWrapper'),
|
||||||
|
'default' => 1,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_starter' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['starter'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_starter',
|
||||||
|
'type' => 'int',
|
||||||
|
'default' => 0,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_maxrequests' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['maxrequests'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_maxrequests',
|
||||||
|
'type' => 'int',
|
||||||
|
'default' => 250,
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
'system_mod_fcgid_defaultini' => array(
|
||||||
|
'label' => $lng['serversettings']['mod_fcgid']['defaultini'],
|
||||||
|
'settinggroup' => 'system',
|
||||||
|
'varname' => 'mod_fcgid_defaultini',
|
||||||
|
'type' => 'option',
|
||||||
|
'default' => '1',
|
||||||
|
'option_mode' => 'one',
|
||||||
|
'option_options_method' => 'getPhpConfigs',
|
||||||
|
'save_method' => 'storeSettingField',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
?>
|
||||||
@@ -38,78 +38,6 @@ return array(
|
|||||||
'default' => true,
|
'default' => true,
|
||||||
'save_method' => 'storeSettingField',
|
'save_method' => 'storeSettingField',
|
||||||
),
|
),
|
||||||
'system_mod_fcgid_enabled' => array(
|
|
||||||
'label' => $lng['serversettings']['mod_fcgid'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid',
|
|
||||||
'type' => 'bool',
|
|
||||||
'default' => false,
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_mod_fcgid_configdir' => array(
|
|
||||||
'label' => $lng['serversettings']['mod_fcgid']['configdir'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid_configdir',
|
|
||||||
'type' => 'string',
|
|
||||||
'string_type' => 'dir',
|
|
||||||
'default' => '/var/www/php-fcgi-scripts/',
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_mod_fcgid_tmpdir' => array(
|
|
||||||
'label' => $lng['serversettings']['mod_fcgid']['tmpdir'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid_tmpdir',
|
|
||||||
'type' => 'string',
|
|
||||||
'string_type' => 'dir',
|
|
||||||
'default' => '/var/customers/tmp/',
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_mod_fcgid_peardir' => array(
|
|
||||||
'label' => $lng['serversettings']['mod_fcgid']['peardir'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid_peardir',
|
|
||||||
'type' => 'string',
|
|
||||||
'string_type' => 'dir',
|
|
||||||
'string_delimiter' => ':',
|
|
||||||
'string_emptyallowed' => true,
|
|
||||||
'default' => '/usr/share/php/:/usr/share/php5/',
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_mod_fcgid_wrapper' => array(
|
|
||||||
'label' => $lng['serversettings']['mod_fcgid']['wrapper'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid_wrapper',
|
|
||||||
'type' => 'option',
|
|
||||||
'option_options' => array(0 => 'ScriptAlias', 1=> 'FCGIWrapper'),
|
|
||||||
'default' => 0,
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_mod_fcgid_starter' => array(
|
|
||||||
'label' => $lng['serversettings']['mod_fcgid']['starter'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid_starter',
|
|
||||||
'type' => 'int',
|
|
||||||
'default' => 0,
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_mod_fcgid_maxrequests' => array(
|
|
||||||
'label' => $lng['serversettings']['mod_fcgid']['maxrequests'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid_maxrequests',
|
|
||||||
'type' => 'int',
|
|
||||||
'default' => 250,
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
'system_mod_fcgid_defaultini' => array(
|
|
||||||
'label' => $lng['serversettings']['mod_fcgid']['defaultini'],
|
|
||||||
'settinggroup' => 'system',
|
|
||||||
'varname' => 'mod_fcgid_defaultini',
|
|
||||||
'type' => 'option',
|
|
||||||
'default' => '1',
|
|
||||||
'option_mode' => 'one',
|
|
||||||
'option_options_method' => 'getPhpConfigs',
|
|
||||||
'save_method' => 'storeSettingField',
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -454,7 +454,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
|
|||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (18, 'system', 'vmail_homedir', '/var/customers/mail/');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (18, 'system', 'vmail_homedir', '/var/customers/mail/');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.11');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.12-svn1');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900');
|
||||||
@@ -526,7 +526,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
|
|||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (92, 'admin', 'show_version_login', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (92, 'admin', 'show_version_login', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (93, 'admin', 'show_version_footer', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (93, 'admin', 'show_version_footer', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (94, 'admin', 'froxlor_graphic', 'images/header.gif');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (94, 'admin', 'froxlor_graphic', 'images/header.gif');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (95, 'system', 'mod_fcgid_wrapper', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (95, 'system', 'mod_fcgid_wrapper', '1');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (96, 'system', 'mod_fcgid_starter', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (96, 'system', 'mod_fcgid_starter', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (97, 'system', 'mod_fcgid_peardir', '/usr/share/php/:/usr/share/php5/');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (97, 'system', 'mod_fcgid_peardir', '/usr/share/php/:/usr/share/php5/');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (98, 'system', 'index_file_extension', 'html');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (98, 'system', 'index_file_extension', 'html');
|
||||||
@@ -577,6 +577,9 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
|
|||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (143, 'system', 'froxlordirectlyviahostname', '0');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (143, 'system', 'froxlordirectlyviahostname', '0');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (144, 'panel', 'password_regex', '');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (144, 'panel', 'password_regex', '');
|
||||||
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (145, 'system', 'perl_path', '/usr/bin/perl');
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (145, 'system', 'perl_path', '/usr/bin/perl');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (146, 'system', 'mod_fcgid_ownvhost', '0');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (147, 'system', 'mod_fcgid_httpuser', 'froxlorlocal');
|
||||||
|
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (148, 'system', 'mod_fcgid_httpgroup', 'froxlorlocal');
|
||||||
|
|
||||||
# --------------------------------------------------------
|
# --------------------------------------------------------
|
||||||
|
|
||||||
|
|||||||
@@ -925,8 +925,32 @@ if(isFroxlorVersion('0.9.11-svn2'))
|
|||||||
|
|
||||||
if(isFroxlorVersion('0.9.11-svn3'))
|
if(isFroxlorVersion('0.9.11-svn3'))
|
||||||
{
|
{
|
||||||
showUpdateStep("Updating from 0.9.11-svn3 to 0.9.11 final", false);
|
showUpdateStep("Updating from 0.9.11-svn3 to 0.9.11 final");
|
||||||
lastStepStatus(0);
|
lastStepStatus(0);
|
||||||
|
|
||||||
updateToVersion('0.9.11');
|
updateToVersion('0.9.11');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isFroxlorVersion('0.9.11'))
|
||||||
|
{
|
||||||
|
showUpdateStep("Updating from 0.9.11 to 0.9.12-svn1", false);
|
||||||
|
|
||||||
|
$update_fcgid_ownvhost = isset($_POST['update_fcgid_ownvhost']) ? '1' : '0';
|
||||||
|
$update_fcgid_httpuser = isset($_POST['update_fcgid_httpuser']) ? $_POST['update_fcgid_httpuser'] : 'froxlorlocal';
|
||||||
|
$update_fcgid_httpgroup = isset($_POST['update_fcgid_ownvhost']) ? $_POST['update_fcgid_ownvhost'] : 'froxlorlocal';
|
||||||
|
|
||||||
|
if($update_fcgid_httpuser == '') {
|
||||||
|
$update_fcgid_httpuser = 'froxlorlocal';
|
||||||
|
}
|
||||||
|
if($update_fcgid_httpgroup == '') {
|
||||||
|
$update_fcgid_httpgroup = 'froxlorlocal';
|
||||||
|
}
|
||||||
|
|
||||||
|
showUpdateStep("Adding new settings");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_ownvhost', '".$db->escape($update_fcgid_ownvhost)."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_httpuser', '".$db->escape($update_fcgid_httpuser)."');");
|
||||||
|
$db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'mod_fcgid_httpgroup', '".$db->escape($update_fcgid_httpgroup)."');");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.12-svn1');
|
||||||
|
}
|
||||||
|
|||||||
@@ -238,4 +238,21 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version)
|
|||||||
$question.= '<input type="text" class="text" name="update_perlpath" value="/usr/bin/perl" />';
|
$question.= '<input type="text" class="text" name="update_perlpath" value="/usr/bin/perl" />';
|
||||||
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(versionInUpdate($current_version, '0.9.12-svn1'))
|
||||||
|
{
|
||||||
|
if($settings['system']['mod_fcgid'] == 1)
|
||||||
|
{
|
||||||
|
$has_preconfig = true;
|
||||||
|
$description = 'You can chose whether you want Froxlor to use FCGID itself too now.';
|
||||||
|
$question = '<strong>Use FCGID for the Froxlor Panel?:</strong> ';
|
||||||
|
$question.= makeyesno('update_fcgid_ownvhost', '1', '0', '0').'<br /><br />';
|
||||||
|
$question.= '<strong>If \'yes\', please specify local user/group (have to exist, Froxlor does not add them automatically):</strong><br /><br />';
|
||||||
|
$question.= 'Local user: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_fcgid_httpuser" value="froxlorlocal" /><br /><br />';
|
||||||
|
$question.= 'Local group: ';
|
||||||
|
$question.= '<input type="text" class="text" name="update_fcgid_ownvhost" value="froxlorlocal" /><br />';
|
||||||
|
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1448,7 +1448,14 @@ $lng['extras']['execute_perl'] = 'Execute perl/CGI';
|
|||||||
$lng['admin']['perlenabled'] = 'Perl enabled';
|
$lng['admin']['perlenabled'] = 'Perl enabled';
|
||||||
|
|
||||||
// ADDED IN FROXLOR 0.9.11-svn3
|
// ADDED IN FROXLOR 0.9.11-svn3
|
||||||
$lng['serversettings']['perl_path']['title'] = 'Path zu perl';
|
$lng['serversettings']['perl_path']['title'] = 'Path to perl';
|
||||||
$lng['serversettings']['perl_path']['description'] = 'Only relevant if you use lighttpd. Default is /usr/bin/perl';
|
$lng['serversettings']['perl_path']['description'] = 'Only relevant if you use lighttpd. Default is /usr/bin/perl';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.12-svn1
|
||||||
|
$lng['admin']['fcgid_settings'] = 'FCGID';
|
||||||
|
$lng['serversettings']['mod_fcgid_ownvhost']['title'] = 'Enable FCGID for the Froxlor vhost';
|
||||||
|
$lng['serversettings']['mod_fcgid_ownvhost']['description'] = 'If enabled, Froxlor will also be running under a local user<br /><strong>ATTENTION:</strong>This needs manual configuration, see <a href="http://wiki.froxlor.org/contrib/fcgid-handbook">http://wiki.froxlor.org/contrib/fcgid-handbook</a>';
|
||||||
|
$lng['admin']['mod_fcgid_user'] = 'Local user to use for FCGID (Froxlor vhost)';
|
||||||
|
$lng['admin']['mod_fcgid_group'] = 'Local group to use for FCGID (Froxlor vhost)';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -1434,4 +1434,11 @@ $lng['admin']['perlenabled'] = 'Perl verfügbar';
|
|||||||
$lng['serversettings']['perl_path']['title'] = 'Pfad zu Perl';
|
$lng['serversettings']['perl_path']['title'] = 'Pfad zu Perl';
|
||||||
$lng['serversettings']['perl_path']['description'] = 'Nur nötig für lighttpd-Nutzer. Standard ist /usr/bin/perl';
|
$lng['serversettings']['perl_path']['description'] = 'Nur nötig für lighttpd-Nutzer. Standard ist /usr/bin/perl';
|
||||||
|
|
||||||
|
// ADDED IN FROXLOR 0.9.12-svn1
|
||||||
|
$lng['admin']['fcgid_settings'] = 'FCGID';
|
||||||
|
$lng['serversettings']['mod_fcgid_ownvhost']['title'] = 'Verwende FCGID im Froxlor Vhost';
|
||||||
|
$lng['serversettings']['mod_fcgid_ownvhost']['description'] = 'Wenn verwendet, wird Froxlor selbst unter einem lokalem Benutzer ausgeführt<br /><strong>ACHTUNG:</strong>Hierzu müssen noch zusätzliche Konfigurationen vorgenommen werden, siehe <a href="http://wiki.froxlor.org/contrib/fcgid-handbook">http://wiki.froxlor.org/contrib/fcgid-handbook</a>';
|
||||||
|
$lng['admin']['mod_fcgid_user'] = 'Lokaler Benutzer für FCGID (Froxlor Vhost)';
|
||||||
|
$lng['admin']['mod_fcgid_group'] = 'Lokale Gruppe für FCGID (Froxlor Vhost)';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -207,6 +207,30 @@ class apache
|
|||||||
$this->virtualhosts_data[$vhosts_filename].= ' ServerName ' . $this->settings['system']['hostname'] . "\n";
|
$this->virtualhosts_data[$vhosts_filename].= ' ServerName ' . $this->settings['system']['hostname'] . "\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// create fcgid <Directory>-Part (starter is created in apache_fcgid)
|
||||||
|
if($this->settings['system']['mod_fcgid_ownvhost'] == '1')
|
||||||
|
{
|
||||||
|
|
||||||
|
$configdir = makeCorrectDir($this->settings['system']['mod_fcgid_configdir'] . '/froxlor.panel/');
|
||||||
|
if((int)$this->settings['system']['mod_fcgid_wrapper'] == 0)
|
||||||
|
{
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' SuexecUserGroup "' . $this->settings['system']['mod_fcgid_httpuser'] . '" "' . $this->settings['system']['mod_fcgid_httpgroup'] . '"' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' ScriptAlias /php/ ' . $configdir . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$starter_filename = makeCorrectFile($configdir . '/php-fcgi-starter');
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' SuexecUserGroup "' . $this->settings['system']['mod_fcgid_httpuser'] . '" "' . $this->settings['system']['mod_fcgid_httpgroup'] . '"' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' <Directory "' . $mypath . '">' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' AddHandler fcgid-script .php' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' FCGIWrapper ' . $starter_filename . ' .php' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' Options +ExecCGI' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' Order allow,deny' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' allow from all' . "\n";
|
||||||
|
$this->virtualhosts_data[$vhosts_filename].= ' </Directory>' . "\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dirprotection, see #72
|
* dirprotection, see #72
|
||||||
* @TODO deferred until 0.9.5, needs more testing
|
* @TODO deferred until 0.9.5, needs more testing
|
||||||
@@ -327,6 +351,10 @@ class apache
|
|||||||
|
|
||||||
return $php_options_text;
|
return $php_options_text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function createOwnVhostStarter()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We collect all servernames and Aliases
|
* We collect all servernames and Aliases
|
||||||
|
|||||||
@@ -278,6 +278,89 @@ class apache_fcgid extends apache
|
|||||||
|
|
||||||
return $this->admin_cache[$adminid];
|
return $this->admin_cache[$adminid];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function createOwnVhostStarter()
|
||||||
|
{
|
||||||
|
if ($this->settings['system']['mod_fcgid_ownvhost'] == '1')
|
||||||
|
{
|
||||||
|
$mypath = makeCorrectDir(dirname(dirname(dirname(__FILE__)))); // /var/www/froxlor, needed for chown
|
||||||
|
$configdir = makeCorrectDir($this->settings['system']['mod_fcgid_configdir'] . '/froxlor.panel/');
|
||||||
|
$starter_filename = makeCorrectFile($configdir . '/php-fcgi-starter');
|
||||||
|
$tmpdir = makeCorrectDir($this->settings['system']['mod_fcgid_tmpdir'] . '/froxlor.panel/');
|
||||||
|
|
||||||
|
$user = $this->settings['system']['mod_fcgid_httpuser'];
|
||||||
|
$group = $this->settings['system']['mod_fcgid_httpgroup'];
|
||||||
|
|
||||||
|
// all the files and folders have to belong to the local user
|
||||||
|
// now because we also use fcgid for our own vhost
|
||||||
|
safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($mypath));
|
||||||
|
|
||||||
|
// create config dir if necessary
|
||||||
|
if(!is_dir($configdir))
|
||||||
|
{
|
||||||
|
safe_exec('mkdir -p ' . escapeshellarg($configdir));
|
||||||
|
safe_exec('chown ' . $user . ':' . $group . ' ' . escapeshellarg($configdir));
|
||||||
|
}
|
||||||
|
|
||||||
|
// create tmp dir if necessary
|
||||||
|
if(!is_dir($tmpdir))
|
||||||
|
{
|
||||||
|
safe_exec('mkdir -p ' . escapeshellarg($tmpdir));
|
||||||
|
safe_exec('chown -R ' . $user . ':' . $group . ' ' . escapeshellarg($tmpdir));
|
||||||
|
safe_exec('chmod 0750 ' . escapeshellarg($tmpdir));
|
||||||
|
}
|
||||||
|
|
||||||
|
// we only need this for some basic, no special parameters that
|
||||||
|
// would require to maybe allow selecting a specific php.ini
|
||||||
|
// because we only need the binary and spawning parameters
|
||||||
|
$phpconfig = $this->getPhpConfig(0);
|
||||||
|
|
||||||
|
// create starter
|
||||||
|
$starter_file = "#!/bin/sh\n\n";
|
||||||
|
$starter_file.= "#\n";
|
||||||
|
$starter_file.= "# starter created/changed on " . date("Y.m.d H:i:s") . " for the Froxlor vhost\n";
|
||||||
|
$starter_file.= "# Do not change anything in this file, it will be overwritten by the Froxlor Cronjob!\n";
|
||||||
|
$starter_file.= "#\n\n";
|
||||||
|
$starter_file.= "umask 022\n";
|
||||||
|
$starter_file.= "PHPRC=" . escapeshellarg($configdir) . "\n";
|
||||||
|
$starter_file.= "export PHPRC\n";
|
||||||
|
if((int)$phpconfig['mod_fcgid_starter'] != - 1)
|
||||||
|
{
|
||||||
|
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$phpconfig['mod_fcgid_starter'] . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$starter_file.= "PHP_FCGI_CHILDREN=" . (int)$this->settings['system']['mod_fcgid_starter'] . "\n";
|
||||||
|
}
|
||||||
|
$starter_file.= "export PHP_FCGI_CHILDREN\n";
|
||||||
|
if((int)$phpconfig['mod_fcgid_maxrequests'] != - 1)
|
||||||
|
{
|
||||||
|
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$phpconfig['mod_fcgid_maxrequests'] . "\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$starter_file.= "PHP_FCGI_MAX_REQUESTS=" . (int)$this->settings['system']['mod_fcgid_maxrequests'] . "\n";
|
||||||
|
}
|
||||||
|
$starter_file.= "export PHP_FCGI_MAX_REQUESTS\n";
|
||||||
|
|
||||||
|
// Set Binary
|
||||||
|
$starter_file.= "exec " . $phpconfig['binary'] . " -c " . escapeshellarg($configdir) . "\n";
|
||||||
|
|
||||||
|
//remove +i attibute, so starter can be overwritten
|
||||||
|
if(file_exists($starter_filename))
|
||||||
|
{
|
||||||
|
safe_exec('chattr -i ' . escapeshellarg($starter_filename));
|
||||||
|
}
|
||||||
|
|
||||||
|
$starter_file_handler = fopen($starter_filename, 'w');
|
||||||
|
fwrite($starter_file_handler, $starter_file);
|
||||||
|
fclose($starter_file_handler);
|
||||||
|
safe_exec('chmod 750 ' . escapeshellarg($starter_filename));
|
||||||
|
safe_exec('chown ' . $user . ':' . $group . ' ' . escapeshellarg($starter_filename));
|
||||||
|
safe_exec('chattr +i ' . escapeshellarg($starter_filename));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -244,6 +244,10 @@ class lighttpd
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function createOwnVhostStarter()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
protected function createLighttpdHosts($ip, $port, $ssl, $vhost_filename)
|
protected function createLighttpdHosts($ip, $port, $ssl, $vhost_filename)
|
||||||
{
|
{
|
||||||
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `ip`='" . $ip . "' AND `port`='" . $port . "'";
|
$query = "SELECT * FROM " . TABLE_PANEL_IPSANDPORTS . " WHERE `ip`='" . $ip . "' AND `port`='" . $port . "'";
|
||||||
@@ -612,7 +616,7 @@ class lighttpd
|
|||||||
protected function getServerNames($domain)
|
protected function getServerNames($domain)
|
||||||
{
|
{
|
||||||
$server_string = array();
|
$server_string = array();
|
||||||
$domain_name = ereg_replace('\.', '\.', $domain['domain']);
|
$domain_name = str_replace('.', '\.', $domain['domain']);
|
||||||
|
|
||||||
if($domain['iswildcarddomain'] == '1')
|
if($domain['iswildcarddomain'] == '1')
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ $awstatsclean['headerold']) {
|
|||||||
$webserver->createVirtualHosts();
|
$webserver->createVirtualHosts();
|
||||||
$webserver->createFileDirOptions();
|
$webserver->createFileDirOptions();
|
||||||
$webserver->writeConfigs();
|
$webserver->writeConfigs();
|
||||||
|
$webserver->createOwnVhostStarter();
|
||||||
$webserver->reload();
|
$webserver->reload();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -468,4 +468,5 @@ TR.RowOverSelected {
|
|||||||
{
|
{
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: 0.5em;
|
margin-bottom: 0.5em;
|
||||||
|
font-size: 120%;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user