From 94a7e1b81e3985b47513b7c7359b09b0c950dcef Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Tue, 18 Oct 2011 10:03:02 -0400
Subject: [PATCH] - Added Mailman configuration to nginx apps vhost.

---
 install/lib/installer_base.lib.php                 |    2 ++
 install/dist/lib/gentoo.lib.php                    |    2 ++
 install/tpl/nginx_apps.vhost.master                |   20 ++++++++++++++++++++
 server/plugins-available/apps_vhost_plugin.inc.php |    2 ++
 server/conf/nginx_apps.vhost.master                |   20 ++++++++++++++++++++
 5 files changed, 46 insertions(+), 0 deletions(-)

diff --git a/install/dist/lib/gentoo.lib.php b/install/dist/lib/gentoo.lib.php
index 5aa5de1..ffe5ef2 100644
--- a/install/dist/lib/gentoo.lib.php
+++ b/install/dist/lib/gentoo.lib.php
@@ -653,6 +653,7 @@
 			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);
@@ -660,6 +661,7 @@
 			$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_socket}', $fpm_socket, $content);
+			$content = str_replace('{cgi_socket}', $cgi_socket, $content);
 
 			wf($vhost_conf_dir.'/apps.vhost', $content);
 			
diff --git a/install/lib/installer_base.lib.php b/install/lib/installer_base.lib.php
index a4ec514..0766a0a 100644
--- a/install/lib/installer_base.lib.php
+++ b/install/lib/installer_base.lib.php
@@ -1485,6 +1485,7 @@
 			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);
@@ -1492,6 +1493,7 @@
 			$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_socket}', $fpm_socket, $content);
+			$content = str_replace('{cgi_socket}', $cgi_socket, $content);
 
 			wf($vhost_conf_dir.'/apps.vhost', $content);
 			
diff --git a/install/tpl/nginx_apps.vhost.master b/install/tpl/nginx_apps.vhost.master
index b38142f..9de75dd 100644
--- a/install/tpl/nginx_apps.vhost.master
+++ b/install/tpl/nginx_apps.vhost.master
@@ -80,4 +80,24 @@
         location /webmail {
                rewrite ^/* /squirrelmail last;
         }
+
+        location /cgi-bin/mailman {
+               root /usr/lib/;
+               fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
+               include /etc/nginx/fastcgi_params;
+               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+               fastcgi_param PATH_INFO $fastcgi_path_info;
+               fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
+               fastcgi_intercept_errors on;
+               fastcgi_pass unix:{cgi_socket};
+        }
+
+        location /images/mailman {
+               alias /usr/share/images/mailman;
+        }
+
+        location /pipermail {
+               alias /var/lib/mailman/archives/public;
+               autoindex on;
+        }
 }
\ No newline at end of file
diff --git a/server/conf/nginx_apps.vhost.master b/server/conf/nginx_apps.vhost.master
index b38142f..9de75dd 100644
--- a/server/conf/nginx_apps.vhost.master
+++ b/server/conf/nginx_apps.vhost.master
@@ -80,4 +80,24 @@
         location /webmail {
                rewrite ^/* /squirrelmail last;
         }
+
+        location /cgi-bin/mailman {
+               root /usr/lib/;
+               fastcgi_split_path_info (^/cgi-bin/mailman/[^/]*)(.*)$;
+               include /etc/nginx/fastcgi_params;
+               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+               fastcgi_param PATH_INFO $fastcgi_path_info;
+               fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
+               fastcgi_intercept_errors on;
+               fastcgi_pass unix:{cgi_socket};
+        }
+
+        location /images/mailman {
+               alias /usr/share/images/mailman;
+        }
+
+        location /pipermail {
+               alias /var/lib/mailman/archives/public;
+               autoindex on;
+        }
 }
\ No newline at end of file
diff --git a/server/plugins-available/apps_vhost_plugin.inc.php b/server/plugins-available/apps_vhost_plugin.inc.php
index d89a61c..f9fe65b 100644
--- a/server/plugins-available/apps_vhost_plugin.inc.php
+++ b/server/plugins-available/apps_vhost_plugin.inc.php
@@ -128,6 +128,7 @@
 			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($web_config['nginx_cgi_socket']);
 		
 			$content = str_replace('{apps_vhost_ip}', $apps_vhost_ip, $content);
 			$content = str_replace('{apps_vhost_port}', $web_config['apps_vhost_port'], $content);
@@ -135,6 +136,7 @@
 			$content = str_replace('{apps_vhost_servername}', $apps_vhost_servername, $content);
 			//$content = str_replace('{fpm_port}', $web_config['php_fpm_start_port']+1, $content);
 			$content = str_replace('{fpm_socket}', $fpm_socket, $content);
+			$content = str_replace('{cgi_socket}', $cgi_socket, $content);
 			
 			// PHP-FPM
 			// Dont just copy over the php-fpm pool template but add some custom settings

--
Gitblit v1.9.1