It's common to name the cgi "ikiwiki.cgi", and put it somewhere like ~/public_html/ikiwiki.cgi, or /var/www/wiki/ikiwiki.cgi.

If you do that, you may find that when trying to edit a page in your wiki, you see the raw contents of the ikiwiki.cgi program. Or get a permission denied problem.

This is because web servers are generally not configured to run cgi scripts unless they're in /usr/lib/cgi-bin/. While you can put ikiwiki.cgi in there if you like, it's better to configure your web server to run .cgi programs from anywhere.

These instructions are for Debian systems, but the basic configuration changes should work anywhere.

apache 2

lighttpd

Here is how to enable cgi on lighttpd and configure it in order to execute ikiwiki.cgi wherever it is located.

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 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.

boa

Edit /etc/boa/boa.conf and make sure the following line is not commented:

AddType application/x-httpd-cgi cgi