]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/tips/dot_cgi.mdwn
escape pagespec
[git.ikiwiki.info.git] / doc / tips / dot_cgi.mdwn
index e7fe7b2c8aa7e064d45005d5188ed79fbc3f204d..8865508d33909a2016bb8eb249fbaf69718f6ec0 100644 (file)
@@ -15,7 +15,11 @@ configuration changes should work anywhere.
 
 ## apache 2
 
-* Edit /etc/apache2/apache2.conf and add a line like this:
+* Make sure the cgi module is loaded. (Ie, `a2enmod cgi`).
+  Note that the cgid module will not work.
+
+* Edit /etc/apache2/apache2.conf (or /etc/apache2/mods-available/mime.conf)
+  and add a line like this:
 
        AddHandler cgi-script .cgi
 
@@ -26,8 +30,10 @@ 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`.
-
+* If your wiki is in `~/public_html` and does not appear when you enter the URL given by the installer, check that you have 
+  the userdir mod enabled (there should be simlinks to userdir.load and userdir.conf in /etc/apache2/modes-enabled).  If not,
+  run `a2enmod userdir` and reload apache2.
+  
 * 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.
@@ -60,7 +66,7 @@ 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, you need to use a FastCGI wrapper. The wrapper must be started somehow just like any other FastCGI program. You can use launchd on OSX.
 
 In Linux, you will need the spawn-fcgi and fcgiwrap packages and start
 them with:
@@ -68,7 +74,9 @@ 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`.
+made into a startup script in `init.d`. You may also need to make this file writable by the webserver, if that's running as a different user, e.g.:
+
+    chmod a+w /tmp/fcgi.socket
 
 Then you need an nginx config plugged in that wrapper. Here's an
 example virtual host configuration:
@@ -95,6 +103,7 @@ example virtual host configuration:
         }
     }
 
+Also, note that the `/tmp/fcgi.socket` file needs to be writable by the webserver. I am also unsure as to the security of this setup, as I am using this only on my dev server. Needless to say that [[real fastcgi support|todo/fastcgi_or_modperl_installation_instructions]] would be great. ;) --[[anarcat]]
 
 ## boa