tbrehm
2012-06-11 897af06af9522ded99b1e0f46730299e89856ffe
install/dist/lib/gentoo.lib.php
@@ -80,10 +80,8 @@
         caselog("$command &> /dev/null", __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");      
      }
      //* These postconf commands will be executed on installation and update
      $postconf_commands = array (
         'myhostname = '.$conf['hostname'],
         'mydestination = '.$conf['hostname'].', localhost, localhost.localdomain',
         'mynetworks = 127.0.0.0/8 [::1]/128',
         'virtual_alias_domains =',
         'virtual_alias_maps = proxy:mysql:'.$config_dir.'/mysql-virtual_forwardings.cf, mysql:'.$config_dir.'/mysql-virtual_email2email.cf',
         'virtual_mailbox_domains = proxy:mysql:'.$config_dir.'/mysql-virtual_domains.cf',
@@ -112,6 +110,15 @@
         'nested_header_checks = regexp:'.$config_dir.'/nested_header_checks',
         'body_checks = regexp:'.$config_dir.'/body_checks'
      );
      //* These postconf commands will be executed on installation only
      if($this->is_update == false) {
         $postconf_commands = array_merge($postconf_commands,array(
            'myhostname = '.$conf['hostname'],
            'mydestination = '.$conf['hostname'].', localhost, localhost.localdomain',
            'mynetworks = 127.0.0.0/8 [::1]/128'
         ));
      }
      
      //* Create the header and body check files
      touch($config_dir.'/header_checks');
@@ -572,8 +579,10 @@
         $command = 'adduser '.$conf['apache']['user'].' '.$apps_vhost_group;
         caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      
         if (!@is_dir($install_dir)) {
         if(!@is_dir($install_dir)){
            mkdir($install_dir, 0755, true);
         } else {
            chmod($install_dir, 0755);
         }
         chown($install_dir, $apps_vhost_user);
         chgrp($install_dir, $apps_vhost_group);
@@ -625,7 +634,11 @@
         $command = 'adduser '.$conf['nginx']['user'].' '.$apps_vhost_group;
         caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
         if(!@is_dir($install_dir)) mkdir($install_dir, 0755, true);
         if(!@is_dir($install_dir)){
            mkdir($install_dir, 0755, true);
         } else {
            chmod($install_dir, 0755);
         }
         chown($install_dir, $apps_vhost_user);
         chgrp($install_dir, $apps_vhost_group);
@@ -642,20 +655,29 @@
         } else {
            $apps_vhost_ip = $conf['web']['apps_vhost_ip'].':';
         }
         $socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']);
         if(substr($socket_dir,-1) != '/') $socket_dir .= '/';
         if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir);
         $fpm_socket = $socket_dir.'apps.sock';
         $cgi_socket = escapeshellcmd($conf['nginx']['cgi_socket']);
         $content = str_replace('{apps_vhost_ip}', $apps_vhost_ip, $content);
         $content = str_replace('{apps_vhost_port}', $conf['web']['apps_vhost_port'], $content);
         $content = str_replace('{apps_vhost_dir}', $conf['web']['website_basedir'].'/apps', $content);
         $content = str_replace('{apps_vhost_servername}', $apps_vhost_servername, $content);
         $content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
         //$content = str_replace('{fpm_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
         $content = str_replace('{fpm_socket}', $fpm_socket, $content);
         $content = str_replace('{cgi_socket}', $cgi_socket, $content);
         wf($vhost_conf_dir.'/apps.vhost', $content);
         
         // 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 = rf('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_port}', ($conf['nginx']['php_fpm_start_port']+1), $content);
         $content = str_replace('{fpm_socket}', $fpm_socket, $content);
         $content = str_replace('{fpm_user}', $apps_vhost_user, $content);
         $content = str_replace('{fpm_group}', $apps_vhost_group, $content);
         wf($conf['nginx']['php_fpm_pool_dir'].'/apps.conf', $content);
@@ -718,6 +740,7 @@
      $content = str_replace('{server_id}', $conf['server_id'], $content);
      $content = str_replace('{ispconfig_log_priority}', $conf['ispconfig_log_priority'], $content);
      $content = str_replace('{language}', $conf['language'], $content);
      $content = str_replace('{timezone}', $conf['timezone'], $content);
      
      $this->write_config_file("$install_dir/interface/lib/$configfile", $content);
      
@@ -851,11 +874,30 @@
         chgrp($install_dir.'/server/lib/mysql_clientdb.conf', 'root');
      }
      
      if(is_dir($install_dir.'/interface/invoices')) {
         exec('chmod -R 770 '.escapeshellarg($install_dir.'/interface/invoices'));
         exec('chown -R ispconfig:ispconfig '.escapeshellarg($install_dir.'/interface/invoices'));
      }
      // TODO: FIXME: add the www-data user to the ispconfig group. This is just for testing
      // and must be fixed as this will allow the apache user to read the ispconfig files.
      // Later this must run as own apache server or via suexec!
      $command = 'usermod -a -G ispconfig '.$conf['apache']['user'];
      caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
      if($conf['apache']['installed'] == true){
         $command = 'usermod -a -G ispconfig '.$conf['apache']['user'];
         caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
         if(is_group('ispapps')){
            $command = 'usermod -a -G ispapps '.$conf['apache']['user'];
            caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
         }
      }
      if($conf['nginx']['installed'] == true){
         $command = 'usermod -a -G ispconfig '.$conf['nginx']['user'];
         caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
         if(is_group('ispapps')){
            $command = 'usermod -a -G ispapps '.$conf['nginx']['user'];
            caselog($command.' &> /dev/null', __FILE__, __LINE__, "EXECUTED: $command", "Failed to execute the command $command");
         }
      }
      
      //* Make the shell scripts executable
      $command = "chmod +x $install_dir/server/scripts/*.sh";
@@ -912,7 +954,13 @@
            $content = str_replace('{fastcgi_ssl}', 'off', $content);
         }
         
         $content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
         $socket_dir = escapeshellcmd($conf['nginx']['php_fpm_socket_dir']);
         if(substr($socket_dir,-1) != '/') $socket_dir .= '/';
         if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir);
         $fpm_socket = $socket_dir.'ispconfig.sock';
         //$content = str_replace('{fpm_port}', $conf['nginx']['php_fpm_start_port'], $content);
         $content = str_replace('{fpm_socket}', $fpm_socket, $content);
         wf($vhost_conf_dir.'/ispconfig.vhost', $content);
         
@@ -922,7 +970,8 @@
         // Dont just copy over the php-fpm pool template but add some custom settings
         $content = rf('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_port}', $conf['nginx']['php_fpm_start_port'], $content);
         $content = str_replace('{fpm_socket}', $fpm_socket, $content);
         $content = str_replace('{fpm_user}', 'ispconfig', $content);
         $content = str_replace('{fpm_group}', 'ispconfig', $content);
         wf($conf['nginx']['php_fpm_pool_dir'].'/ispconfig.conf', $content);