]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/tips/dot_cgi.mdwn
expand nginx documentation
[ikiwiki.git] / doc / tips / dot_cgi.mdwn
index da55c1f1c9828ec9ec79ee5cfb78f948a8ff2a91..e7fe7b2c8aa7e064d45005d5188ed79fbc3f204d 100644 (file)
@@ -26,6 +26,8 @@ configuration changes should work anywhere.
   Or, if you've put it in a `~/public_html`, edit
   `/etc/apache2/mods-available/userdir.conf`.
 
+  You may also want to install some dependencies to enable CGI in apache2 setup as: `libcgi-formbuilder-perl` and `libcgi-session-perl`.
+
 * You may also want to enable the [[plugins/404]] plugin.
   To make apache use it, the apache config file will need a further
   modification to make it use ikiwiki's CGI as the apache 404 handler.
@@ -58,7 +60,41 @@ If you have any thought about it, feel free to let me know.
 
 ## nginx
 
-* To run CGI under nginx, just use a FastCGI wrapper like [this one](http://technotes.1000lines.net/?p=23). The wrapper must be started somehow just like any other FastCGI program. I use launchd on OSX.
+To run CGI under nginx, just use a FastCGI wrapper like [this one](http://technotes.1000lines.net/?p=23). The wrapper must be started somehow just like any other FastCGI program. I use launchd on OSX.
+
+In Linux, you will need the spawn-fcgi and fcgiwrap packages and start
+them with:
+
+    spawn-fcgi -s /tmp/fcgi.socket -n -- /usr/sbin/fcgiwrap
+
+This needs to be ran as your user. It can be added to `inittab` or
+made into a startup script in `init.d`.
+
+Then you need an nginx config plugged in that wrapper. Here's an
+example virtual host configuration:
+
+    server {
+        #listen   80; ## listen for ipv4; this line is default and implied
+        #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6
+
+        root /home/anarcat/public_html/wiki.reseaulibre.ca/;
+        index index.html index.htm;
+
+        # Make site accessible from http://localhost/
+        server_name wiki.reseaulibre.ca;
+
+        location / {
+                try_files $uri $uri/ /index.html;
+        }
+        location /ikiwiki.cgi {
+                fastcgi_pass  unix:/tmp/fcgi.socket;
+                fastcgi_index ikiwiki.cgi;
+                fastcgi_param SCRIPT_FILENAME   /home/anarcat/public_html/ikiwiki.cgi;
+                fastcgi_param  DOCUMENT_ROOT      /home/anarcat/public_html/wiki.reseaulibre.ca;
+                include /etc/nginx/fastcgi_params;
+        }
+    }
+
 
 ## boa