tbrehm
2010-07-12 60bd070e03a3c9fdb54690437cc9dbdbb7716aec
install/lib/installer_base.lib.php
@@ -211,6 +211,8 @@
      $tpl_ini_array['web']['security_level'] = 20;
      $tpl_ini_array['web']['user'] = $conf['apache']['user'];
      $tpl_ini_array['web']['group'] = $conf['apache']['group'];
      $tpl_ini_array['web']['php_ini_path_apache'] = $conf['apache']['php_ini_path_apache'];
      $tpl_ini_array['web']['php_ini_path_cgi'] = $conf['apache']['php_ini_path_cgi'];
      $tpl_ini_array['mail']['pop3_imap_daemon'] = ($conf['dovecot']['installed'] == true)?'dovecot':'courier';
      $tpl_ini_array['mail']['mail_filter_syntax'] = ($conf['dovecot']['installed'] == true)?'sieve':'maildrop';
      $tpl_ini_array['dns']['bind_user'] = $conf['bind']['bind_user'];
@@ -282,9 +284,11 @@
         
         $hosts[$from_host]['user'] = $conf['mysql']['master_ispconfig_user'];
         $hosts[$from_host]['db'] = $conf['mysql']['master_database'];
         $hosts[$from_host]['pwd'] = $conf['mysql']['master_ispconfig_password'];
         $hosts[$from_ip]['user'] = $conf['mysql']['master_ispconfig_user'];
         $hosts[$from_ip]['db'] = $conf['mysql']['master_database'];
         $hosts[$from_ip]['pwd'] = $conf['mysql']['master_ispconfig_password'];
      } else{
         /*
          * it is NOT a master-slave - Setup so we have to find out all clients and their
@@ -298,18 +302,27 @@
         foreach ($data as $item){
            $hosts[$item['Host']]['user'] = $item['User'];
            $hosts[$item['Host']]['db'] = $conf['mysql']['master_database'];
            $hosts[$item['Host']]['pwd'] = ''; // the user already exists, so we need no pwd!
         }
      }
      
      if(is_array($hosts)) {
      foreach($hosts as $host => $value) {
         /*
          *  Delete ISPConfig user in the master database, in case that it exists
          * If a pwd exists, this means, we have to add the new user (and his pwd).
          * if not, the user already exists and we do not need the pwd
          */
         if ($value['pwd'] != ''){
            $query = "CREATE USER '".$value['user']."'@'".$host."' IDENTIFIED BY '" . $value['pwd'] . "'";
            $this->dbmaster->query($query); // ignore the error
         }
         /*
          *  Try to delete all rights of the user in case that it exists.
          *  In Case that it will not exist, do nothing (ignore the error!)
          */
         $query = "REVOKE ALL PRIVILEGES, GRANT OPTION FROM '".$value['user']."'@'".$host."' ";
         if(!$this->dbmaster->query($query)) {
            $this->error('Unable to remove rights of user in master database: '.$value['db'].' Error: '.$this->dbmaster->errorMessage);
         }
         $this->dbmaster->query($query); // ignore the error
         //* Create the ISPConfig database user in the remote database
         $query = "GRANT SELECT ON ".$value['db'].".`server` TO '".$value['user']."'@'".$host."' ";
@@ -533,7 +546,7 @@
      //** We have to change the permissions of the courier authdaemon directory to make it accessible for maildrop.
      $command = 'chmod 755  /var/run/courier/authdaemon/';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command);
      if(is_file('/var/run/courier/authdaemon/')) caselog($command.' &> /dev/null', __FILE__, __LINE__, 'EXECUTED: '.$command, 'Failed to execute the command '.$command);
      //* Changing maildrop lines in posfix master.cf
      if(is_file($config_dir.'/master.cf')) {
@@ -624,6 +637,8 @@
      //* configure pam for SMTP authentication agains the ispconfig database
      $configfile = 'pamd_smtp';
      if(is_file("$pam/smtp"))    copy("$pam/smtp", "$pam/smtp~");
      // On some OSes smtp is world readable which allows for reading database information.  Removing world readable rights should have no effect.
      if(is_file("$pam/smtp"))    exec("chmod o= $pam/smtp");
      if(is_file("$pam/smtp~"))   exec("chmod 400 $pam/smtp~");
      $content = rf("tpl/$configfile.master");
@@ -841,6 +856,7 @@
      //exec('mkdir -p '.$config_dir.'/conf/ChrootEveryone');
      exec('echo "yes" > '.$config_dir.'/conf/ChrootEveryone');
      exec('echo "yes" > '.$config_dir.'/conf/BrokenClientsCompatibility');
      exec('echo "yes" > '.$config_dir.'/conf/DisplayDotFiles');
      if(is_file('/etc/default/pure-ftpd-common')) {
         replaceLine('/etc/default/pure-ftpd-common','STANDALONE_OR_INETD=inetd','STANDALONE_OR_INETD=standalone',1,0);
@@ -932,7 +948,7 @@
      exec('mkdir -p /var/log/ispconfig/httpd');
      if(is_file('/etc/suphp/suphp.conf')) {
         replaceLine('/etc/suphp/suphp.conf','php=php:/usr/bin','x-httpd-suphp=php:/usr/bin/php-cgi',0);
         replaceLine('/etc/suphp/suphp.conf','php=php:/usr/bin','x-httpd-suphp="php:/usr/bin/php-cgi"',0);
         //replaceLine('/etc/suphp/suphp.conf','docroot=','docroot=/var/clients',0);
         replaceLine('/etc/suphp/suphp.conf','umask=0077','umask=0022',0);
      }
@@ -1230,9 +1246,15 @@
                  $module_name = substr($file,0,-8);
                  $tmp = new $module_name;
                  if($tmp->onInstall()) {
                     if(!@is_link($install_dir.'/server/mods-enabled/'.$file)) @symlink($install_dir.'/server/mods-available/'.$file, $install_dir.'/server/mods-enabled/'.$file);
                     if(!@is_link($install_dir.'/server/mods-enabled/'.$file)) {
                        @symlink($install_dir.'/server/mods-available/'.$file, $install_dir.'/server/mods-enabled/'.$file);
                        // @symlink($install_dir.'/server/mods-available/'.$file, '../mods-enabled/'.$file);
                     }
                     if (strpos($file, '_core_module') !== false) {
                        if(!@is_link($install_dir.'/server/mods-core/'.$file)) @symlink($install_dir.'/server/mods-available/'.$file, $install_dir.'/server/mods-core/'.$file);
                        if(!@is_link($install_dir.'/server/mods-core/'.$file)) {
                           @symlink($install_dir.'/server/mods-available/'.$file, $install_dir.'/server/mods-core/'.$file);
                           // @symlink($install_dir.'/server/mods-available/'.$file, '../mods-core/'.$file);
                        }
                     }
                  }
                  unset($tmp);
@@ -1251,9 +1273,15 @@
                  $plugin_name = substr($file,0,-8);
                  $tmp = new $plugin_name;
                  if(method_exists($tmp,'onInstall') && $tmp->onInstall()) {
                     if(!@is_link($install_dir.'/server/plugins-enabled/'.$file)) @symlink($install_dir.'/server/plugins-available/'.$file, $install_dir.'/server/plugins-enabled/'.$file);
                     if(!@is_link($install_dir.'/server/plugins-enabled/'.$file)) {
                        @symlink($install_dir.'/server/plugins-available/'.$file, $install_dir.'/server/plugins-enabled/'.$file);
                        //@symlink($install_dir.'/server/plugins-available/'.$file, '../plugins-enabled/'.$file);
                     }
                     if (strpos($file, '_core_plugin') !== false) {
                        if(!@is_link($install_dir.'/server/plugins-core/'.$file)) @symlink($install_dir.'/server/plugins-available/'.$file, $install_dir.'/server/plugins-core/'.$file);
                        if(!@is_link($install_dir.'/server/plugins-core/'.$file)) {
                           @symlink($install_dir.'/server/plugins-available/'.$file, $install_dir.'/server/plugins-core/'.$file);
                           //@symlink($install_dir.'/server/plugins-available/'.$file, '../plugins-core/'.$file);
                        }
                     }
                  }
                  unset($tmp);
@@ -1402,7 +1430,7 @@
      //* Add Log-Rotation
      if (is_dir('/etc/logrotate.d')) {
         unlink('/etc/logrotate.d/logispc3');
         @unlink('/etc/logrotate.d/logispc3'); // ignore, if the file is not there
         $fh = fopen('/etc/logrotate.d/logispc3', 'w');
         fwrite($fh,
               "/var/log/ispconfig/ispconfig.log { \n" .
@@ -1612,4 +1640,4 @@
   }
}
?>
?>