Till Brehm
2014-08-25 4f2cc4eabd8cdafb15042d70129d8ea5e2aa815c
install/lib/installer_base.lib.php
@@ -646,7 +646,7 @@
            copy('tpl/mailman-virtual_to_transport.sh', $full_file_name);
         }
         chgrp($full_file_name, 'list');
         chmod($full_file_name, 0750);
         chmod($full_file_name, 0755);
      }
      //* Create aliasaes
@@ -1744,6 +1744,31 @@
      //* copy the ISPConfig server part
      $command = 'cp -rf ../server '.$install_dir;
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      //* Make a backup of the security settings
      if(is_file('/usr/local/ispconfig/security/security_settings.ini')) copy('/usr/local/ispconfig/security/security_settings.ini','/usr/local/ispconfig/security/security_settings.ini~');
      //* copy the ISPConfig security part
      $command = 'cp -rf ../security '.$install_dir;
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      //* Apply changed security_settings.ini values to new security_settings.ini file
      if(is_file('/usr/local/ispconfig/security/security_settings.ini~')) {
         $security_settings_old = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini~'));
         $security_settings_new = ini_to_array(file_get_contents('/usr/local/ispconfig/security/security_settings.ini'));
         if(is_array($security_settings_new) && is_array($security_settings_old)) {
            foreach($security_settings_new as $section => $sval) {
               if(is_array($sval)) {
                  foreach($sval as $key => $val) {
                     if(isset($security_settings_old[$section]) && isset($security_settings_old[$section][$key])) {
                        $security_settings_new[$section][$key] = $security_settings_old[$section][$key];
                     }
                  }
               }
            }
            file_put_contents('/usr/local/ispconfig/security/security_settings.ini',array_to_ini($security_settings_new));
         }
      }
      //* Create a symlink, so ISPConfig is accessible via web
      // Replaced by a separate vhost definition for port 8080
@@ -1885,12 +1910,38 @@
      }
      //* Chmod the files
      $command = 'chmod -R 750 '.$install_dir;
      // chown install dir to root and chmod 755
      $command = 'chown root:root '.$install_dir;
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      $command = 'chmod 755 '.$install_dir;
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      //* chown the files to the ispconfig user and group
      $command = 'chown -R ispconfig:ispconfig '.$install_dir;
      //* Chmod the files and directories in the install dir
      $command = 'chmod -R 750 '.$install_dir.'/*';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      //* chown the interface files to the ispconfig user and group
      $command = 'chown -R ispconfig:ispconfig '.$install_dir.'/interface';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      //* chown the server files to the root user and group
      $command = 'chown -R root:root '.$install_dir.'/server';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      //* chown the security files to the root user and group
      $command = 'chown -R root:root '.$install_dir.'/security';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      //* chown the security directory and security_settings.ini to root:ispconfig
      $command = 'chown root:ispconfig '.$install_dir.'/security/security_settings.ini';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      $command = 'chown root:ispconfig '.$install_dir.'/security';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      $command = 'chown root:ispconfig '.$install_dir.'/security/ids.whitelist';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      $command = 'chown root:ispconfig '.$install_dir.'/security/ids.htmlfield';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      $command = 'chown root:ispconfig '.$install_dir.'/security/apache_directives.blacklist';
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      //* Make the global language file directory group writable
@@ -2142,7 +2193,7 @@
      
      // Add symlink for patch tool
      if(!is_link('/usr/local/bin/ispconfig_patch')) exec('ln -s /usr/local/ispconfig/server/scripts/ispconfig_patch /usr/local/bin/ispconfig_patch');
   }
   public function configure_dbserver() {
@@ -2231,6 +2282,22 @@
      chmod($conf['ispconfig_log_dir'].'/cron.log', 0660);
   }
   // This function is called at the end of the update process and contains code to clean up parts of old ISPCONfig releases
   public function cleanup_ispconfig() {
      global $app,$conf;
      // Remove directories recursively
      if(is_dir('/usr/local/ispconfig/interface/web/designer')) exec('rm -rf /usr/local/ispconfig/interface/web/designer');
      if(is_dir('/usr/local/ispconfig/interface/web/themes/default-304')) exec('rm -rf /usr/local/ispconfig/interface/web/themes/default-304');
      // Remove files
      if(is_file('/usr/local/ispconfig/interface/lib/classes/db_firebird.inc.php')) unlink('/usr/local/ispconfig/interface/lib/classes/db_firebird.inc.php');
      if(is_file('/usr/local/ispconfig/interface/lib/classes/form.inc.php')) unlink('/usr/local/ispconfig/interface/lib/classes/form.inc.php');
   }
   public function getinitcommand($servicename, $action, $init_script_directory = ''){
      global $conf;