X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/8f7fc90a9c92d8720a1455431f0f56d55b1fee2d..3fe434189b99daf3d8cc075186c4ed4ebdd43b8f:/doc/tips/dot_cgi.mdwn diff --git a/doc/tips/dot_cgi.mdwn b/doc/tips/dot_cgi.mdwn index 7fbe278a4..a33c8f385 100644 --- a/doc/tips/dot_cgi.mdwn +++ b/doc/tips/dot_cgi.mdwn @@ -1,3 +1,5 @@ +[[!meta date="2009-01-12 20:01:03 -0500"]] + It's common to name the [[cgi]] "ikiwiki.cgi", and put it somewhere like `~/public_html/ikiwiki.cgi`, or `/var/www/wiki/ikiwiki.cgi`. @@ -13,9 +15,15 @@ run `.cgi` programs from anywhere. These instructions are for Debian systems, but the basic configuration changes should work anywhere. +[[!toc]] + ## 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 +34,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. @@ -68,7 +78,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: