From bc41bb0780b42074cbadd53ca33587287b08998f Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sun, 16 Mar 2008 08:40:08 -0400
Subject: [PATCH] Updated installer to make the clamav log files readable by the ispconfig interface.
---
install/lib/installer_base.lib.php | 68 +++++++++++++++++++++++++++++----
1 files changed, 59 insertions(+), 9 deletions(-)
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index fcb8c85..4ab9a95 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -42,7 +42,7 @@
$this->conf = $conf;
}
- //TODO uh ?
+ //: TODO Implement the translation function and langauge files for the installer.
public function lng($text)
{
return $text;
@@ -100,19 +100,15 @@
return $answer;
}
+ /*
// TODO: this function is not used atmo I think - pedro
function request_language(){
swriteln(lng('Enter your language'));
swriteln(lng('de, en'));
- /*
- do {
- $lang = sread(2);
- } while (!$this->check_break($lang) or $this->
- */
-
}
+ */
/** Create the database for ISPConfig */
public function configure_database()
@@ -488,6 +484,8 @@
public function configure_getmail()
{
$config_dir = $this->conf['getmail']['config_dir'];
+
+ if(!is_dir($config_dir)) exec("mkdir -p ".escapeshellcmd($config_dir));
$command = "useradd -d $config_dir getmail";
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
@@ -607,6 +605,32 @@
wf("$install_dir/server/lib/$configfile", $content);
+ //* Enable the server modules and plugins.
+ // TODO: Implement a selector which modules and plugins shall be enabled.
+ $dir = $install_dir.'/server/mods-available/';
+ if (is_dir($dir)) {
+ if ($dh = opendir($dir)) {
+ while (($file = readdir($dh)) !== false) {
+ if($file != '.' && $file != '..') {
+ if(!is_link($install_dir.'/server/mods-enabled/'.$file)) symlink($install_dir.'/server/mods-available/'.$file, $install_dir.'/server/mods-enabled/'.$file);
+ }
+ }
+ closedir($dh);
+ }
+ }
+
+ $dir = $install_dir.'/server/plugins-available/';
+ if (is_dir($dir)) {
+ if ($dh = opendir($dir)) {
+ while (($file = readdir($dh)) !== false) {
+ if($file != '.' && $file != '..') {
+ if(!is_link($install_dir.'/server/plugins-enabled/'.$file)) symlink($install_dir.'/server/plugins-available/'.$file, $install_dir.'/server/plugins-enabled/'.$file);
+ }
+ }
+ closedir($dh);
+ }
+ }
+
//* Chmod the files
$command = "chmod -R 750 $install_dir";
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
@@ -614,6 +638,25 @@
//* chown the files to the ispconfig user and group
$command = "chown -R ispconfig:ispconfig $install_dir";
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
+
+ //* Make the global language file directory group writable
+ exec("chmod -R 770 $install_dir/interface/lib/lang");
+
+ //* Make all interface language file directories group writable
+ $handle = @opendir($install_dir.'/interface/web');
+ while ($file = @readdir ($handle)) {
+ if ($file != '.' && $file != '..') {
+ if(@is_dir($install_dir.'/interface/web'.'/'.$file.'/lib/lang')) {
+ $handle2 = opendir($install_dir.'/interface/web'.'/'.$file.'/lib/lang');
+ chmod($install_dir.'/interface/web'.'/'.$file.'/lib/lang',0770);
+ while ($lang_file = @readdir ($handle2)) {
+ if ($lang_file != '.' && $lang_file != '..') {
+ chmod($install_dir.'/interface/web'.'/'.$file.'/lib/lang/'.$lang_file,0770);
+ }
+ }
+ }
+ }
+ }
//* make sure that the server config file (not the interface one) is only readable by the root user
exec("chmod 600 $install_dir/server/lib/$configfile");
@@ -630,7 +673,7 @@
caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
//* Copy the ISPConfig vhost for the controlpanel
- //TODO These are missing! should they be "vhost_dist_*_dir" ?
+ // TODO: These are missing! should they be "vhost_dist_*_dir" ?
$vhost_conf_dir = $this->conf['apache']['vhost_conf_dir'];
$vhost_conf_enabled_dir = $this->conf['apache']['vhost_conf_enabled_dir'];
copy('tpl/apache_ispconfig.vhost.master', "$vhost_conf_dir/ispconfig.vhost");
@@ -638,6 +681,10 @@
if(!is_link("$vhost_conf_enabled_dir/ispconfig.vhost")) {
exec("ln -s $vhost_conf_dir/ispconfig.vhost $vhost_conf_enabled_dir/ispconfig.vhost");
}
+
+ // Make the Clamav log files readable by ISPConfig
+ exec('chmod +r /var/log/clamav/clamav.log');
+ exec('chmod +r /var/log/clamav/freshclam.log');
}
public function install_crontab()
@@ -646,7 +693,10 @@
exec('crontab -u root -l > crontab.txt');
$existing_root_cron_jobs = file('crontab.txt');
- $root_cron_jobs = array('* * * * * /usr/local/ispconfig/server/server.sh &> /dev/null');
+ $root_cron_jobs = array(
+ '* * * * * /usr/local/ispconfig/server/server.sh &> /dev/null',
+ '30 00 * * * /usr/local/ispconfig/server/cron_daily.sh &> /dev/null'
+ );
foreach($root_cron_jobs as $cron_job) {
if(!in_array($cron_job."\n", $existing_root_cron_jobs)) {
$existing_root_cron_jobs[] = $cron_job."\n";
--
Gitblit v1.9.1