Marius Cramer
2015-07-02 f3ff1e4ba5174dd559890483dd7dded8a04c10fd
install/lib/installer_base.lib.php
@@ -36,6 +36,7 @@
   public $conf;
   public $install_ispconfig_interface = true;
   public $is_update = false; // true if it is an update, falsi if it is a new install
   protected $mailman_group = 'list';
   public function __construct() {
@@ -179,6 +180,11 @@
   public function configure_database() {
      global $conf;
      //* check sql-mode
      $check_sql_mode = $this->db->queryOneRecord("SELECT @@sql_mode");
      if ($check_sql_mode['@@sql_mode'] != '' && $check_sql_mode['@@sql_mode'] != 'NO_ENGINE_SUBSTITUTION') die('Wrong SQL-mode. You should use NO_ENGINE_SUBSTITUTION');
      //** Create the database
      if(!$this->db->query('CREATE DATABASE IF NOT EXISTS ?? DEFAULT CHARACTER SET ?', $conf['mysql']['database'], $conf['mysql']['charset'])) {
@@ -616,7 +622,7 @@
         if (trim($line) != '' && substr($line, 0, 1) != '#')
         {
            @list($key, $value) = @explode("=", $line);
            if (!empty($value))
            if (isset($value) && $value !== '')
            {
               $key = rtrim($key);
               $old_options[$key] = trim($value);
@@ -665,14 +671,15 @@
         } else {
            copy('tpl/mailman-virtual_to_transport.sh', $full_file_name);
         }
         chgrp($full_file_name, 'list');
         chgrp($full_file_name, $this->mailman_group);
         chmod($full_file_name, 0755);
      }
      //* Create aliasaes
      exec('/usr/lib/mailman/bin/genaliases 2>/dev/null');
      if(is_file('/var/lib/mailman/data/virtual-mailman')) exec('postmap /var/lib/mailman/data/virtual-mailman');
      if(!is_file('/var/lib/mailman/data/transport-mailman')) touch('/var/lib/mailman/data/transport-mailman');
      exec('/usr/sbin/postmap /var/lib/mailman/data/transport-mailman');
   }
   public function configure_postfix($options = '') {
@@ -968,6 +975,7 @@
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
      $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
      $content = str_replace('{mysql_server_port}', $conf['mysql']['port'], $content);
      wf($config_dir.'/'.$configfile, $content);
      chmod($config_dir.'/'.$configfile, 0660);
@@ -1081,6 +1089,7 @@
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
      $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
      $content = str_replace('{mysql_server_port}', $conf['mysql']['port'], $content);
      $content = str_replace('{server_id}', $conf['server_id'], $content);
      wf($config_dir.'/'.$configfile, $content);
@@ -1259,6 +1268,7 @@
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
      $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
      $content = str_replace('{mysql_server_port}', $conf['mysql']['port'], $content);
      $content = str_replace('{server_id}', $conf['server_id'], $content);
      wf($conf['mydns']['config_dir'].'/'.$configfile, $content);
      chmod($conf['mydns']['config_dir'].'/'.$configfile, 0600);
@@ -1302,6 +1312,7 @@
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{powerdns_database}', $conf['powerdns']['database'], $content);
      $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
      $content = str_replace('{mysql_server_port}', $conf['mysql']['port'], $content);
      wf($conf['powerdns']['config_dir'].'/'.$configfile, $content);
      chmod($conf['powerdns']['config_dir'].'/'.$configfile, 0600);
      chown($conf['powerdns']['config_dir'].'/'.$configfile, 'root');
@@ -1321,11 +1332,12 @@
      //* Create the slave subdirectory
      $content .= 'slave';
      if(!@is_dir($content)) mkdir($content, 0770, true);
      if(!@is_dir($content)) mkdir($content, 2770, true);
      //* Chown the slave subdirectory to $conf['bind']['bind_user']
      chown($content, $conf['bind']['bind_user']);
      chgrp($content, $conf['bind']['bind_group']);
      chmod($content, 2770);
   }
@@ -1966,11 +1978,13 @@
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
      $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
      $content = str_replace('{mysql_server_port}', $conf['mysql']['port'], $content);
      $content = str_replace('{mysql_master_server_ispconfig_user}', $conf['mysql']['master_ispconfig_user'], $content);
      $content = str_replace('{mysql_master_server_ispconfig_password}', $conf['mysql']['master_ispconfig_password'], $content);
      $content = str_replace('{mysql_master_server_database}', $conf['mysql']['master_database'], $content);
      $content = str_replace('{mysql_master_server_host}', $conf['mysql']['master_host'], $content);
      $content = str_replace('{mysql_master_server_port}', $conf['mysql']['master_port'], $content);
      $content = str_replace('{server_id}', $conf['server_id'], $content);
      $content = str_replace('{ispconfig_log_priority}', $conf['ispconfig_log_priority'], $content);
@@ -1991,11 +2005,13 @@
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
      $content = str_replace('{mysql_server_host}', $conf['mysql']['host'], $content);
      $content = str_replace('{mysql_server_port}', $conf['mysql']['port'], $content);
      $content = str_replace('{mysql_master_server_ispconfig_user}', $conf['mysql']['master_ispconfig_user'], $content);
      $content = str_replace('{mysql_master_server_ispconfig_password}', $conf['mysql']['master_ispconfig_password'], $content);
      $content = str_replace('{mysql_master_server_database}', $conf['mysql']['master_database'], $content);
      $content = str_replace('{mysql_master_server_host}', $conf['mysql']['master_host'], $content);
      $content = str_replace('{mysql_master_server_port}', $conf['mysql']['master_port'], $content);
      $content = str_replace('{server_id}', $conf['server_id'], $content);
      $content = str_replace('{ispconfig_log_priority}', $conf['ispconfig_log_priority'], $content);
@@ -2386,8 +2402,6 @@
      if(is_file($conf['amavis']['config_dir'].'/50-user~')) chmod($conf['amavis']['config_dir'].'/50-user~', 0400);
      if(is_file($conf['amavis']['config_dir'].'/amavisd.conf')) chmod($conf['amavis']['config_dir'].'/amavisd.conf', 0640);
      if(is_file($conf['amavis']['config_dir'].'/amavisd.conf~')) chmod($conf['amavis']['config_dir'].'/amavisd.conf~', 0400);
   }
   public function configure_dbserver() {
@@ -2515,7 +2529,11 @@
      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');
      
      // Change mode of a few files from amavisd
      if(is_file($conf['amavis']['config_dir'].'/conf.d/50-user')) chmod($conf['amavis']['config_dir'].'/conf.d/50-user', 0640);
      if(is_file($conf['amavis']['config_dir'].'/50-user~')) chmod($conf['amavis']['config_dir'].'/50-user~', 0400);
      if(is_file($conf['amavis']['config_dir'].'/amavisd.conf')) chmod($conf['amavis']['config_dir'].'/amavisd.conf', 0640);
      if(is_file($conf['amavis']['config_dir'].'/amavisd.conf~')) chmod($conf['amavis']['config_dir'].'/amavisd.conf~', 0400);
      
   }
@@ -2647,6 +2665,7 @@
      $tContents = str_replace('{mysql_server_database}', $conf["mysql"]["database"], $tContents);
      $tContents = str_replace('{mysql_server_ip}', $conf["mysql"]["ip"], $tContents);
      $tContents = str_replace('{mysql_server_host}', $conf['mysql']['host'], $tContents);
      $tContents = str_replace('{mysql_server_port}', $conf['mysql']['port'], $tContents);
      $tContents = str_replace('{mysql_server_port}', $conf["mysql"]["port"], $tContents);
      return $tContents;