summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/tips/apache_cgi.mdwn25
1 files changed, 25 insertions, 0 deletions
diff --git a/doc/tips/apache_cgi.mdwn b/doc/tips/apache_cgi.mdwn
new file mode 100644
index 000000000..f10baed2e
--- /dev/null
+++ b/doc/tips/apache_cgi.mdwn
@@ -0,0 +1,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`.