aboutsummaryrefslogtreecommitdiff
path: root/doc/tips/apache_cgi.mdwn
blob: f10baed2e699f934b584d1b98ff8f9a711e8a150 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Many ikiwiki examples name the [[cgi]] "ikiwiki.cgi", and put it somewhere
like `~/public_html/ikiwiki.cgi`, or `/var/www/wiki/ikiwiki.cgi`.

If you follow those examples, 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 apache is 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, here's how to configure apache (version 2) to run `.cgi`
programs from anywhere.

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

* Edit /etc/apache2/apache2.conf and add a line like this:

	AddHandler cgi-script .cgi

* Find the "Options" line for the directory where you've put the
  ikiwiki.cgi, and add "ExecCGI" to the list of options. For example, if
  ikiwiki.cgi is in /var/www/, edit `/etc/apache2/sites-enabled/000-default`
  and add it to the "Options" line in the "Directory /var/www/" stanza.
  Or, if you've put it in a `~/public_html`, edit
  `/etc/apache2/mods-available/userdir.conf`.