diff --git a/actions/admin/settings/130.webserver.php b/actions/admin/settings/130.webserver.php
index a9d6eadd..fa385c49 100644
--- a/actions/admin/settings/130.webserver.php
+++ b/actions/admin/settings/130.webserver.php
@@ -185,7 +185,15 @@ return array(
'option_mode' => 'one',
'option_options_method' => 'getRedirectCodes',
'save_method' => 'storeSettingField',
- ),
+ ),
+ 'perl_path' => array(
+ 'label' => $lng['serversettings']['perl_path'],
+ 'settinggroup' => 'system',
+ 'varname' => 'perl_path',
+ 'type' => 'string',
+ 'default' => '/usr/bin/perl',
+ 'save_method' => 'storeSettingField',
+ ),
),
),
'ssl' => array(
diff --git a/install/froxlor.sql b/install/froxlor.sql
index c921967f..6b785e03 100644
--- a/install/froxlor.sql
+++ b/install/froxlor.sql
@@ -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 (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 (22, 'panel', 'version', '0.9.11-svn2');
+INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '0.9.11-svn3');
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 (25, 'login', 'deactivatetime', '900');
@@ -576,6 +576,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (142, 'system', 'dns_createmailentry', '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 (145, 'system', 'perl_path', '/usr/bin/perl');
# --------------------------------------------------------
diff --git a/install/updates/froxlor/0.9/update_0.9.inc.php b/install/updates/froxlor/0.9/update_0.9.inc.php
index d42f3bc3..f37411dc 100644
--- a/install/updates/froxlor/0.9/update_0.9.inc.php
+++ b/install/updates/froxlor/0.9/update_0.9.inc.php
@@ -909,3 +909,17 @@ if(isFroxlorVersion('0.9.11-svn1'))
updateToVersion('0.9.11-svn2');
}
+
+if(isFroxlorVersion('0.9.11-svn2'))
+{
+ showUpdateStep("Updating from 0.9.11-svn2 to 0.9.11-svn3", false);
+
+ $update_perlpath = isset($_POST['update_perlpath']) ? $_POST['update_perlpath'] : '/usr/bin/perl';
+
+ showUpdateStep("Adding new settings");
+ $db->query("INSERT INTO `" . TABLE_PANEL_SETTINGS . "` (`settinggroup`, `varname`, `value`) VALUES ('system', 'perl_path', '".$db->escape($update_perlpath)."');");
+ lastStepStatus(0);
+
+ updateToVersion('0.9.11-svn3');
+}
+
diff --git a/install/updates/preconfig/0.9/preconfig_0.9.inc.php b/install/updates/preconfig/0.9/preconfig_0.9.inc.php
index 8f61df08..889d8625 100644
--- a/install/updates/preconfig/0.9/preconfig_0.9.inc.php
+++ b/install/updates/preconfig/0.9/preconfig_0.9.inc.php
@@ -229,4 +229,13 @@ function parseAndOutputPreconfig(&$has_preconfig, &$return, $current_version)
$question.= '';
eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
}
+
+ if(versionInUpdate($current_version, '0.9.11-svn3'))
+ {
+ $has_preconfig = true;
+ $description = 'As Froxlor can now handle perl, you have to specify where the perl executable is (only if you\'re running lighttpd, else just leave empty).';
+ $question = 'Path to perl (default \'/usr/bin/perl\'): ';
+ $question.= '';
+ eval("\$return.=\"" . getTemplate("update/preconfigitem") . "\";");
+ }
}
diff --git a/lib/tables.inc.php b/lib/tables.inc.php
index 312d94cf..43fae880 100644
--- a/lib/tables.inc.php
+++ b/lib/tables.inc.php
@@ -72,7 +72,7 @@ define('PACKAGE_ENABLED', 2);
// VERSION INFO
-$version = '0.9.11-svn2';
+$version = '0.9.11-svn3';
$dbversion = '2';
$branding = '';
diff --git a/lng/english.lng.php b/lng/english.lng.php
index 0bb53b9e..2a1d4c26 100644
--- a/lng/english.lng.php
+++ b/lng/english.lng.php
@@ -1447,4 +1447,8 @@ $lng['error']['notrequiredpasswordcomplexity'] = 'The specified password-complex
$lng['extras']['execute_perl'] = 'Execute perl/CGI';
$lng['admin']['perlenabled'] = 'Perl enabled';
+// ADDED IN FROXLOR 0.9.11-svn3
+$lng['serversettings']['perl_path']['title'] = 'Path zu perl';
+$lng['serversettings']['perl_path']['description'] = 'Only relevant if you use lighttpd. Default is /usr/bin/perl';
+
?>
diff --git a/lng/german.lng.php b/lng/german.lng.php
index 4c49c787..2fc44a30 100644
--- a/lng/german.lng.php
+++ b/lng/german.lng.php
@@ -1430,4 +1430,8 @@ $lng['error']['notrequiredpasswordcomplexity'] = 'Die vorgegebene Passwort-Kompl
$lng['extras']['execute_perl'] = 'Perl/CGI ausführen';
$lng['admin']['perlenabled'] = 'Perl verfügbar';
+// ADDED IN FROXLOR 0.9.11-svn3
+$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';
+
?>
diff --git a/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php b/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php
index 75b13f0f..3ae66a04 100644
--- a/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php
+++ b/scripts/jobs/cron_tasks.inc.http.20.lighttpd.php
@@ -546,8 +546,8 @@ class lighttpd
}
$path_options.= ' $HTTP["url"] =~ "^' . $path . '($|/)" {' . "\n";
$path_options.= "\t" . 'cgi.assign = (' . "\n";
- $path_options.= "\t\t" . '".pl" => "/usr/bin/perl",' . "\n";
- $path_options.= "\t\t" . '".cgi" => "/usr/bin/perl"' . "\n";
+ $path_options.= "\t\t" . '".pl" => "'.makeCorrectFile($this->settings['system']['perl_path']).'",' . "\n";
+ $path_options.= "\t\t" . '".cgi" => "'.makeCorrectFile($this->settings['system']['perl_path']).'"' . "\n";
$path_options.= "\t" . ')' . "\n";
$path_options.= ' }' . "\n\n";
}