X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/3b83e520182a83e4ae6c61ab7b360b0eb939469f..d5fc6c1a22ea88bddc97ff4053ef53888ed82cd4:/doc/tips/dot_cgi.mdwn diff --git a/doc/tips/dot_cgi.mdwn b/doc/tips/dot_cgi.mdwn index 04d7a9721..e7fe7b2c8 100644 --- a/doc/tips/dot_cgi.mdwn +++ b/doc/tips/dot_cgi.mdwn @@ -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. @@ -52,6 +54,50 @@ Note that the first part enables cgi server wide but depending on default configuration, it may be not enough. The second part creates a specific rule that allow `ikiwiki.cgi` to be executed. -**Warning:** I only use this on my development server (offline). I am not -sure of how secure this approach is. If you have any thought about it, feel -free to let me know. +**Warning:** I only use this lighttpd configuration on my development +server (offline). I am not sure of how secure this approach is. +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. + +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 + +Edit /etc/boa/boa.conf and make sure the following line is not commented: + + AddType application/x-httpd-cgi cgi