tbrehm
2007-08-11 99d85e6fa76ecd354b9af64b5094b06058c801c7
install/lib/installer_base.lib.php
@@ -104,7 +104,7 @@
      Create postfix configuration files
   */
   
   function configure_postfix() {
   function configure_postfix($options = '') {
      global $conf;
      
      if(!is_dir($conf["dist_postfix_config_dir"])) $this->error("The postfix configuration directory ".$conf["dist_postfix_config_dir"]." does not exist.");
@@ -248,13 +248,14 @@
  flags=R user=vmail argv=/usr/bin/maildrop -d ${recipient} ${extension} ${recipient} ${user} ${nexthop} ${sender}
      
      */
      if(!stristr($options,'dont-create-certs')) {
         // Create the SSL certificate
         $command = "cd ".$conf["dist_postfix_config_dir"]."; openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509";
         exec($command);
      
      // Create the SSL certificate
      $command = "cd ".$conf["dist_postfix_config_dir"]."; openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509";
      exec($command);
      $command = "chmod o= ".$conf["dist_postfix_config_dir"]."/smtpd.key";
      caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command);
         $command = "chmod o= ".$conf["dist_postfix_config_dir"]."/smtpd.key";
         caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command);
      }
      
      /*
      We have to change the permissions of the courier authdaemon directory
@@ -318,7 +319,7 @@
      // Edit the file /etc/default/saslauthd
      $configfile = '/etc/default/saslauthd';
      if(is_file($configfile)) copy($configfile,$configfile.'~');
      if(is_file($configfile.'~')) exec('chmod 400 '.$configfile.'/~');
      if(is_file($configfile.'~')) exec('chmod 400 '.$configfile.'~');
      $content = rf($configfile);
      $content = str_replace('START=no','START=yes',$content);
      $content = str_replace('OPTIONS="-c"','OPTIONS="-m /var/spool/postfix/var/run/saslauthd -r"',$content);
@@ -371,7 +372,7 @@
      //authdaemonrc
      $configfile = $conf["dist_courier_config_dir"].'/authdaemonrc';
      if(is_file($configfile)) copy($configfile,$configfile.'~');
      if(is_file($configfile.'~')) exec('chmod 400 '.$configfile.'/~');
      if(is_file($configfile.'~')) exec('chmod 400 '.$configfile.'~');
      $content = rf($configfile);
      $content = str_replace('authmodulelist="authpam"','authmodulelist="authmysql"',$content);
      wf($configfile,$content);
@@ -451,6 +452,47 @@
   }
   
   
   function configure_pureftpd() {
      global $conf;
      // configure pam for SMTP authentication agains the ispconfig database
      $configfile = 'mysql.conf';
      if(is_file($conf["dist_pureftpd_config_dir"].'/'.$configfile)) copy($conf["dist_pureftpd_config_dir"].'/'.$configfile,$conf["dist_pureftpd_config_dir"].'/'.$configfile.'~');
      if(is_file($conf["dist_pureftpd_config_dir"].'/'.$configfile.'~')) exec('chmod 400 '.$conf["dist_pureftpd_config_dir"].'/'.$configfile.'~');
      $content = rf("tpl/pureftpd_".$configfile.".master");
      $content = str_replace('{mysql_server_ispconfig_user}',$conf["mysql_server_ispconfig_user"],$content);
      $content = str_replace('{mysql_server_ispconfig_password}',$conf["mysql_server_ispconfig_password"],$content);
      $content = str_replace('{mysql_server_database}',$conf["mysql_server_database"],$content);
      $content = str_replace('{mysql_server_ip}',$conf["mysql_server_ip"],$content);
      $content = str_replace('{server_id}',$conf["server_id"],$content);
      wf($conf["dist_pureftpd_config_dir"].'/'.$configfile,$content);
      exec('chmod 600 '.$conf["dist_pureftpd_config_dir"].'/'.$configfile);
      exec('chown root:root '.$conf["dist_pureftpd_config_dir"].'/'.$configfile);
      // enable chrooting
      exec('echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone');
   }
   function configure_mydns() {
      global $conf;
      // configure pam for SMTP authentication agains the ispconfig database
      $configfile = 'mydns.conf';
      if(is_file($conf["dist_mydns_config_dir"].'/'.$configfile)) copy($conf["dist_mydns_config_dir"].'/'.$configfile,$conf["dist_mydns_config_dir"].'/'.$configfile.'~');
      if(is_file($conf["dist_mydns_config_dir"].'/'.$configfile.'~')) exec('chmod 400 '.$conf["dist_mydns_config_dir"].'/'.$configfile.'~');
      $content = rf("tpl/".$configfile.".master");
      $content = str_replace('{mysql_server_ispconfig_user}',$conf["mysql_server_ispconfig_user"],$content);
      $content = str_replace('{mysql_server_ispconfig_password}',$conf["mysql_server_ispconfig_password"],$content);
      $content = str_replace('{mysql_server_database}',$conf["mysql_server_database"],$content);
      $content = str_replace('{mysql_server_ip}',$conf["mysql_server_ip"],$content);
      $content = str_replace('{server_id}',$conf["server_id"],$content);
      wf($conf["dist_mydns_config_dir"].'/'.$configfile,$content);
      exec('chmod 600 '.$conf["dist_mydns_config_dir"].'/'.$configfile);
      exec('chown root:root '.$conf["dist_mydns_config_dir"].'/'.$configfile);
   }
   function install_ispconfig() {
      global $conf;
      
@@ -495,6 +537,7 @@
      $content = str_replace('{mysql_server_ispconfig_password}',$conf["mysql_server_ispconfig_password"],$content);
      $content = str_replace('{mysql_server_database}',$conf["mysql_server_database"],$content);
      $content = str_replace('{mysql_server_host}',$conf["mysql_server_host"],$content);
      $content = str_replace('{server_id}',$conf["server_id"],$content);
      wf($conf["ispconfig_install_dir"].'/server/lib/'.$configfile,$content);
      
      
@@ -517,6 +560,13 @@
      $command = "chmod +x ".$conf["ispconfig_install_dir"]."/server/scripts/*.sh";
      caselog($command." &> /dev/null", __FILE__, __LINE__,"EXECUTED: ".$command,"Failed to execute the command ".$command);
      
      // Copy the ISPConfig vhost for the controlpanel
      copy('tpl/apache_ispconfig.vhost.master',$conf["dist_apache_vhost_conf_dir"].'/ispconfig.vhost');
      // and create the symlink
      if(!is_link($conf["dist_apache_vhost_conf_enabled_dir"].'/ispconfig.vhost')) {
         exec('ln -s '.$conf["dist_apache_vhost_conf_dir"].'/ispconfig.vhost '.$conf["dist_apache_vhost_conf_enabled_dir"].'/ispconfig.vhost');
      }
   }
   
   function install_crontab() {