ftimme
2011-09-21 72ce788832f008fc210146d751dd5f20fa03f493
server/plugins-available/nginx_plugin.inc.php
@@ -639,6 +639,25 @@
      $vhost_data['web_document_root_www'] = $web_config['website_basedir'].'/'.$data['new']['domain'].'/web';
      $vhost_data['web_basedir'] = $web_config['website_basedir'];
      $vhost_data['ssl_domain'] = $data['new']['ssl_domain'];
      // PHP-FPM
      $pool_dir = escapeshellcmd($web_config['php_fpm_pool_dir']);
      if(substr($pool_dir,-1) != '/') $pool_dir .= '/';
      $pool_name = 'web'.$data['new']['domain_id'];
      $socket_dir = escapeshellcmd($web_config['php_fpm_socket_dir']);
      if(substr($socket_dir,-1) != '/') $socket_dir .= '/';
      if($data['new']['php_fpm_use_socket'] == 'y'){
         $use_tcp = '#';
         $use_socket = '';
      } else {
         $use_tcp = '';
         $use_socket = '#';
      }
      $tpl->setVar('use_tcp', $use_tcp);
      $tpl->setVar('use_socket', $use_socket);
      $fpm_socket = $socket_dir.$pool_name.'.sock';
      $tpl->setVar('fpm_socket', $fpm_socket);
      $vhost_data['fpm_port'] = $web_config['php_fpm_start_port'] + $data['new']['domain_id'] + 1;
      
      // Custom nginx directives
@@ -870,7 +889,7 @@
         $this->awstats_update($data,$web_config);
      }
      
      $this->php_fpm_pool_update($data,$web_config);
      $this->php_fpm_pool_update($data,$web_config,$pool_dir,$pool_name,$socket_dir);
      
      if($web_config['check_apache_config'] == 'y') {
         //* Test if nginx starts with the new configuration file
@@ -1073,26 +1092,18 @@
   }
   
   //* Update the PHP-FPM pool configuration file
   private function php_fpm_pool_update ($data,$web_config) {
   private function php_fpm_pool_update ($data,$web_config,$pool_dir,$pool_name,$socket_dir) {
      global $app, $conf;
      $pool_dir = $web_config['php_fpm_pool_dir'];
      $pool_name = 'web'.$data['new']['domain_id'];
      //$reload = false;
      
      if($data['new']['php'] == 'no'){
         if(@is_file($pool_dir.'/'.$pool_name.'.conf')){
            unlink($pool_dir.'/'.$pool_name.'.conf');
         if(@is_file($pool_dir.$pool_name.'.conf')){
            unlink($pool_dir.$pool_name.'.conf');
            //$reload = true;
         }
         //if($reload == true) $app->services->restartService('php-fpm','reload');
         return;
      }
      //if(!@is_file($pool_dir.'/'.$data['new']['domain'].'.conf') || ($data['old']['domain'] != '' && $data['new']['domain'] != $data['old']['domain'])) {
         //if ( @is_file($pool_dir.'/'.$pool_name.'.conf') ) {
         //   unlink($pool_dir.'/'.$pool_name.'.conf');
         //}
         
         $app->uses("getconf");
         $web_config = $app->getconf->get_server_config($conf["server_id"], 'web');
@@ -1100,6 +1111,20 @@
         $app->load('tpl');
         $tpl = new tpl();
         $tpl->newTemplate('php_fpm_pool.conf.master');
      if($data['new']['php_fpm_use_socket'] == 'y'){
         $use_tcp = ';';
         $use_socket = '';
         if(!is_dir($socket_dir)) exec('mkdir -p '.$socket_dir);
      } else {
         $use_tcp = '';
         $use_socket = ';';
      }
      $tpl->setVar('use_tcp', $use_tcp);
      $tpl->setVar('use_socket', $use_socket);
      $fpm_socket = $socket_dir.$pool_name.'.sock';
      $tpl->setVar('fpm_socket', $fpm_socket);
         $tpl->setVar('fpm_pool', $pool_name);
         $tpl->setVar('fpm_port', $web_config['php_fpm_start_port'] + $data['new']['domain_id'] + 1);
@@ -1151,11 +1176,11 @@
         
         $tpl->setLoop('custom_php_ini_settings', $final_php_ini_settings);
         
         file_put_contents($pool_dir.'/'.$pool_name.'.conf',$tpl->grab());
         $app->log('Writing the PHP-FPM config file: '.$pool_dir.'/'.$pool_name.'.conf',LOGLEVEL_DEBUG);
      file_put_contents($pool_dir.$pool_name.'.conf',$tpl->grab());
      $app->log('Writing the PHP-FPM config file: '.$pool_dir.$pool_name.'.conf',LOGLEVEL_DEBUG);
         unset($tpl);
         //$reload = true;
      //}
      //if($reload == true) $app->services->restartService('php-fpm','reload');
   }
   
@@ -1163,12 +1188,13 @@
   private function php_fpm_pool_delete ($data,$web_config) {
      global $app;
      
      $pool_dir = $web_config['php_fpm_pool_dir'];
      $pool_name = 'web'.$data['old']['domain_id'];
      $pool_dir = escapeshellcmd($web_config['php_fpm_pool_dir']);
      if(substr($pool_dir,-1) != '/') $pool_dir .= '/';
      $pool_name = 'web'.$data['new']['domain_id'];
      
      if ( @is_file($pool_dir.'/'.$pool_name.'.conf') ) {
         unlink($pool_dir.'/'.$pool_name.'.conf');
         $app->log('Removed PHP-FPM config file: '.$pool_dir.'/'.$pool_name.'.conf',LOGLEVEL_DEBUG);
      if ( @is_file($pool_dir.$pool_name.'.conf') ) {
         unlink($pool_dir.$pool_name.'.conf');
         $app->log('Removed PHP-FPM config file: '.$pool_dir.$pool_name.'.conf',LOGLEVEL_DEBUG);
         //$app->services->restartService('php-fpm','reload');
      }
   }