mcramer
2013-07-12 0bc228446c1f680f14aff72dbfd85dc5edd0043e
install/lib/installer_base.lib.php
@@ -508,7 +508,7 @@
      if(is_file($full_file_name)) {
         copy($full_file_name, $config_dir.$configfile.'~');
      }
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      $content = str_replace('{mysql_server_ispconfig_user}', $conf['mysql']['ispconfig_user'], $content);
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
@@ -529,8 +529,16 @@
         if(is_file($config_dir.'/'.$jk_init)) copy($config_dir.'/'.$jk_init, $config_dir.'/'.$jk_init.'~');
         if(is_file($config_dir.'/'.$jk_chrootsh.'.master')) copy($config_dir.'/'.$jk_chrootsh.'.master', $config_dir.'/'.$jk_chrootsh.'~');
            if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$jk_init.'.master')) {
                copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$jk_init.'.master', $config_dir.'/'.$jk_init);
            } else {
         copy('tpl/'.$jk_init.'.master', $config_dir.'/'.$jk_init);
            }
            if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$jk_chrootsh.'.master')) {
                copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$jk_chrootsh.'.master', $config_dir.'/'.$jk_chrootsh);
            } else {
         copy('tpl/'.$jk_chrootsh.'.master', $config_dir.'/'.$jk_chrootsh);
            }
      }
      //* help jailkit fo find its ini files
@@ -550,7 +558,7 @@
      }
      // load files
      $content = rf('tpl/mm_cfg.py.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/mm_cfg.py.master', 'tpl/mm_cfg.py.master');
      $old_file = rf($full_file_name);
      $old_options = array();
@@ -604,7 +612,11 @@
      }
      
      if(is_dir('/etc/mailman')) {
         if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/mailman-virtual_to_transport.sh')) {
                copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/mailman-virtual_to_transport.sh', $full_file_name);
            } else {
         copy('tpl/mailman-virtual_to_transport.sh',$full_file_name);
            }
         chgrp($full_file_name,'list');
         chmod($full_file_name,0750);
      }
@@ -784,7 +796,7 @@
      if(is_file($cf['vmail_mailbox_base'].'/.'.$configfile)) {
         copy($cf['vmail_mailbox_base'].'/.'.$configfile, $cf['vmail_mailbox_base'].'/.'.$configfile.'~');
      }
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      $content = str_replace('{dist_postfix_vmail_mailbox_base}', $cf['vmail_mailbox_base'], $content);
      wf($cf['vmail_mailbox_base'].'/.'.$configfile, $content);
@@ -823,7 +835,7 @@
      if(is_file($conf['postfix']['config_dir'].'/sasl/smtpd.conf')) copy($conf['postfix']['config_dir'].'/sasl/smtpd.conf',$conf['postfix']['config_dir'].'/sasl/smtpd.conf~');
      if(is_file($conf['postfix']['config_dir'].'/sasl/smtpd.conf~')) chmod($conf['postfix']['config_dir'].'/sasl/smtpd.conf~', 0400);
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
      $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}',$conf['mysql']['database'],$content);
@@ -868,7 +880,7 @@
      if(is_file($pam.'/smtp'))    copy($pam.'/smtp', $pam.'/smtp~');
      if(is_file($pam.'/smtp~'))   chmod($pam.'/smtp~', 0400);
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      $content = str_replace('{mysql_server_ispconfig_user}', $conf['mysql']['ispconfig_user'], $content);
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
@@ -891,7 +903,7 @@
         copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~');
      }
      chmod($config_dir.'/'.$configfile.'~', 0400);
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
      $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}',$conf['mysql']['database'],$content);
@@ -970,9 +982,17 @@
      //* Copy dovecot configuration file
      if($dovecot_version == 2) {
            if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot2.conf.master')) {
                copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot2.conf.master', $config_dir.'/'.$configfile);
            } else {
         copy('tpl/debian_dovecot2.conf.master',$config_dir.'/'.$configfile);
            }
      } else {
            if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot.conf.master')) {
                copy($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot.conf.master', $config_dir.'/'.$configfile);
      } else {
         copy('tpl/debian_dovecot.conf.master',$config_dir.'/'.$configfile);
            }
      }
      //* dovecot-sql.conf
@@ -981,7 +1001,7 @@
         copy($config_dir.'/'.$configfile, $config_dir.'/'.$configfile.'~');
      }
      if(is_file($config_dir.'/'.$configfile.'~')) chmod($config_dir.'/'.$configfile.'~', 0400);
      $content = rf('tpl/debian_dovecot-sql.conf.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/debian_dovecot-sql.conf.master', 'tpl/debian_dovecot-sql.conf.master');
      $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
      $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}',$conf['mysql']['database'],$content);
@@ -1001,7 +1021,7 @@
      $configfile = 'amavisd_user_config';
      if(is_file($conf['amavis']['config_dir'].'/conf.d/50-user')) copy($conf['amavis']['config_dir'].'/conf.d/50-user',$conf['amavis']['config_dir'].'/50-user~');
      if(is_file($conf['amavis']['config_dir'].'/conf.d/50-user~')) chmod($conf['amavis']['config_dir'].'/conf.d/50-user~', 0400);
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
      $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}',$conf['mysql']['database'],$content);
@@ -1037,7 +1057,7 @@
      // Only add the content if we had not addded it before
      if(!stristr($content,'127.0.0.1:10025')) {
         unset($content);
         $content = rf('tpl/master_cf_amavis.master');
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/master_cf_amavis.master', 'tpl/master_cf_amavis.master');
         af($conf['postfix']['config_dir'].'/master.cf',$content);
      }
      unset($content);
@@ -1092,7 +1112,7 @@
      if(is_file($config_dir.'/'.$configfile.'~')) {
         chmod($config_dir.'/'.$configfile.'~', 0400);
      }
      $content = rf('tpl/pureftpd_mysql.conf.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/pureftpd_mysql.conf.master', 'tpl/pureftpd_mysql.conf.master');
      $content = str_replace('{mysql_server_ispconfig_user}', $conf['mysql']['ispconfig_user'], $content);
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
@@ -1128,7 +1148,7 @@
      $configfile = 'mydns.conf';
      if(is_file($conf['mydns']['config_dir'].'/'.$configfile)) copy($conf['mydns']['config_dir'].'/'.$configfile,$conf['mydns']['config_dir'].'/'.$configfile.'~');
      if(is_file($conf['mydns']['config_dir'].'/'.$configfile.'~')) chmod($conf['mydns']['config_dir'].'/'.$configfile.'~', 0400);
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
      $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}',$conf['mysql']['database'],$content);
@@ -1171,7 +1191,7 @@
      $configfile = 'pdns.local';
      if(is_file($conf['powerdns']['config_dir'].'/'.$configfile)) copy($conf['powerdns']['config_dir'].'/'.$configfile,$conf['powerdns']['config_dir'].'/'.$configfile.'~');
      if(is_file($conf['powerdns']['config_dir'].'/'.$configfile.'~')) chmod($conf['powerdns']['config_dir'].'/'.$configfile.'~', 0400);
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['ispconfig_user'],$content);
      $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{powerdns_database}',$conf['powerdns']['database'],$content);
@@ -1235,7 +1255,7 @@
      // copy('tpl/apache_ispconfig.conf.master',$vhost_conf_dir.'/ispconfig.conf');
      $content = rf('tpl/apache_ispconfig.conf.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/apache_ispconfig.conf.master', 'tpl/apache_ispconfig.conf.master');
      $records = $this->db->queryAllRecords('SELECT * FROM '.$conf['mysql']['master_database'].'.server_ip WHERE server_id = '.$conf['server_id']." AND virtualhost = 'y'");
      if(is_array($records) && count($records) > 0) {
@@ -1362,7 +1382,7 @@
      $configfile = 'squid.conf';
      if(is_file($conf["squid"]["config_dir"].'/'.$configfile)) copy($conf["squid"]["config_dir"].'/'.$configfile,$conf["squid"]["config_dir"].'/'.$configfile.'~');
      if(is_file($conf["squid"]["config_dir"].'/'.$configfile.'~')) exec('chmod 400 '.$conf["squid"]["config_dir"].'/'.$configfile.'~');
      $content = rf("tpl/".$configfile.".master");
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', "tpl/".$configfile.".master");
      $content = str_replace('{server_name}',$server_name,$content);
      $content = str_replace('{ip_address}',$ip_address, $content);
      $content = str_replace('{config_dir}',$conf['squid']['config_dir'], $content);
@@ -1392,7 +1412,11 @@
      if(is_dir('/etc/Bastille')) caselog('mv -f /etc/Bastille /etc/Bastille.backup', __FILE__, __LINE__);
      @mkdir('/etc/Bastille', 0700);
      if(is_dir('/etc/Bastille.backup/firewall.d')) caselog('cp -pfr /etc/Bastille.backup/firewall.d /etc/Bastille/', __FILE__, __LINE__);
      if(is_file($conf['ispconfig_install_dir'].'/server/conf-custom/install/bastille-firewall.cfg.master')) {
            caselog('cp -f ' . $conf['ispconfig_install_dir'].'/server/conf-custom/install/bastille-firewall.cfg.master /etc/Bastille/bastille-firewall.cfg', __FILE__, __LINE__);
        } else {
      caselog('cp -f tpl/bastille-firewall.cfg.master /etc/Bastille/bastille-firewall.cfg', __FILE__, __LINE__);
        }
      caselog('chmod 644 /etc/Bastille/bastille-firewall.cfg', __FILE__, __LINE__);
      $content = rf('/etc/Bastille/bastille-firewall.cfg');
      $content = str_replace('{DNS_SERVERS}', '', $content);
@@ -1450,7 +1474,7 @@
      $configfile = 'vlogger-dbi.conf';
      if(is_file($conf['vlogger']['config_dir'].'/'.$configfile)) copy($conf['vlogger']['config_dir'].'/'.$configfile,$conf['vlogger']['config_dir'].'/'.$configfile.'~');
      if(is_file($conf['vlogger']['config_dir'].'/'.$configfile.'~')) chmod($conf['vlogger']['config_dir'].'/'.$configfile.'~', 0400);
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      if($conf['mysql']['master_slave_setup'] == 'y') {
         $content = str_replace('{mysql_server_ispconfig_user}',$conf['mysql']['master_ispconfig_user'],$content);
         $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['master_ispconfig_password'], $content);
@@ -1502,7 +1526,7 @@
         $apps_vhost_servername = ($conf['web']['apps_vhost_servername'] == '')?'':'ServerName '.$conf['web']['apps_vhost_servername'];
         // Dont just copy over the virtualhost template but add some custom settings
         $content = rf('tpl/apache_apps.vhost.master');
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/apache_apps.vhost.master', 'tpl/apache_apps.vhost.master');
         $content = str_replace('{apps_vhost_ip}', $conf['web']['apps_vhost_ip'], $content);
         $content = str_replace('{apps_vhost_port}', $conf['web']['apps_vhost_port'], $content);
@@ -1528,7 +1552,7 @@
         }
         if(!is_file($conf['web']['website_basedir'].'/php-fcgi-scripts/apps/.php-fcgi-starter')) {
            $content = rf('tpl/apache_apps_fcgi_starter.master');
            $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/apache_apps_fcgi_starter.master', 'tpl/apache_apps_fcgi_starter.master');
            $content = str_replace('{fastcgi_bin}', $conf['fastcgi']['fastcgi_bin'], $content);
            $content = str_replace('{fastcgi_phpini_path}', $conf['fastcgi']['fastcgi_phpini_path'], $content);
            mkdir($conf['web']['website_basedir'].'/php-fcgi-scripts/apps', 0755, true);
@@ -1568,7 +1592,7 @@
         $apps_vhost_servername = ($conf['web']['apps_vhost_servername'] == '')?'_':$conf['web']['apps_vhost_servername'];
         // Dont just copy over the virtualhost template but add some custom settings
         $content = rf('tpl/nginx_apps.vhost.master');
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/nginx_apps.vhost.master', 'tpl/nginx_apps.vhost.master');
         if($conf['web']['apps_vhost_ip'] == '_default_'){
            $apps_vhost_ip = '';
@@ -1604,7 +1628,7 @@
         // PHP-FPM
         // Dont just copy over the php-fpm pool template but add some custom settings
         $content = rf('tpl/apps_php_fpm_pool.conf.master');
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/apps_php_fpm_pool.conf.master', 'tpl/apps_php_fpm_pool.conf.master');
         $content = str_replace('{fpm_pool}', 'apps', $content);
         //$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
         $content = str_replace('{fpm_socket}', $fpm_socket, $content);
@@ -1679,7 +1703,7 @@
      if(is_file($install_dir.'/interface/lib/'.$configfile)) {
         copy($install_dir.'/interface/lib/'.$configfile, $install_dir.'/interface/lib/'.$configfile.'~');
      }
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      $content = str_replace('{mysql_server_ispconfig_user}', $conf['mysql']['ispconfig_user'], $content);
      $content = str_replace('{mysql_server_ispconfig_password}',$conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
@@ -1703,7 +1727,7 @@
      if(is_file($install_dir.'/server/lib/'.$configfile)) {
         copy($install_dir.'/server/lib/'.$configfile, $install_dir.'/interface/lib/'.$configfile.'~');
      }
      $content = rf('tpl/'.$configfile.'.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/'.$configfile.'.master', 'tpl/'.$configfile.'.master');
      $content = str_replace('{mysql_server_ispconfig_user}', $conf['mysql']['ispconfig_user'], $content);
      $content = str_replace('{mysql_server_ispconfig_password}', $conf['mysql']['ispconfig_password'], $content);
      $content = str_replace('{mysql_server_database}', $conf['mysql']['database'], $content);
@@ -1896,7 +1920,7 @@
         $vhost_conf_enabled_dir = $conf['apache']['vhost_conf_enabled_dir'];
         // Dont just copy over the virtualhost template but add some custom settings
         $content = rf('tpl/apache_ispconfig.vhost.master');
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/apache_ispconfig.vhost.master', 'tpl/apache_ispconfig.vhost.master');
         $content = str_replace('{vhost_port}', $conf['apache']['vhost_port'], $content);
         // comment out the listen directive if port is 80 or 443
@@ -1928,7 +1952,7 @@
            }
         }
         //if(!is_file('/var/www/php-fcgi-scripts/ispconfig/.php-fcgi-starter')) {
            $content = rf('tpl/apache_ispconfig_fcgi_starter.master');
            $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/apache_ispconfig_fcgi_starter.master', 'tpl/apache_ispconfig_fcgi_starter.master');
            $content = str_replace('{fastcgi_bin}', $conf['fastcgi']['fastcgi_bin'], $content);
            $content = str_replace('{fastcgi_phpini_path}', $conf['fastcgi']['fastcgi_phpini_path'], $content);
            @mkdir('/var/www/php-fcgi-scripts/ispconfig', 0755, true);
@@ -1945,7 +1969,7 @@
         $vhost_conf_enabled_dir = $conf['nginx']['vhost_conf_enabled_dir'];
         // Dont just copy over the virtualhost template but add some custom settings
         $content = rf('tpl/nginx_ispconfig.vhost.master');
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/nginx_ispconfig.vhost.master', 'tpl/nginx_ispconfig.vhost.master');
         $content = str_replace('{vhost_port}', $conf['nginx']['vhost_port'], $content);
         if(is_file($install_dir.'/interface/ssl/ispserver.crt') && is_file($install_dir.'/interface/ssl/ispserver.key')) {
@@ -1972,7 +1996,7 @@
         // PHP-FPM
         // Dont just copy over the php-fpm pool template but add some custom settings
         $content = rf('tpl/php_fpm_pool.conf.master');
         $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/php_fpm_pool.conf.master', 'tpl/php_fpm_pool.conf.master');
         $content = str_replace('{fpm_pool}', 'ispconfig', $content);
         //$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
         $content = str_replace('{fpm_socket}', $fpm_socket, $content);
@@ -2072,7 +2096,7 @@
         caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      }
      $content = rf('tpl/mysql_clientdb.conf.master');
      $content = rfsel($conf['ispconfig_install_dir'].'/server/conf-custom/install/mysql_clientdb.conf.master', 'tpl/mysql_clientdb.conf.master');
      $content = str_replace('{hostname}',$conf['mysql']['host'],$content);
      $content = str_replace('{username}',$conf['mysql']['admin_user'],$content);
      $content = str_replace('{password}',$conf['mysql']['admin_password'], $content);
@@ -2164,12 +2188,17 @@
      global $conf, $dist;
      $final_path = '';
        $dist_template = $conf['ispconfig_install_dir'] . '/server/conf-custom/install/' . $tLocal . '.master';
        if (file_exists($dist_template)) {
         $final_path = $dist_template;
      } else {
      $dist_template = 'dist/tpl/'.strtolower($dist['name'])."/$tLocal.master";
      if (file_exists($dist_template)) {
         $final_path = $dist_template;
      } else {
         $final_path = "tpl/$tLocal.master";
      }
        }
      if (!$tRf) {
         return $final_path;