A simple wiki engine written in Perl. No database required.
Perl CSS Perl6 Shell Prolog Python Other
Failed to load latest commit information.
css light.css: checkboxes are not 5em wide Aug 2, 2016
modules gotobar.pl: remove trailing whitespace Jan 9, 2017
scripts Removed old $Id$ line Aug 19, 2016
stuff Changed nearly remaining code from GPLv2 to GPLv3 Aug 16, 2016
.gitignore Prioritize slow tests Oct 21, 2015
FDL Replacement for COPYING file, plus start of a default page. Mar 22, 2003
GPL Update to GPLv3. Aug 11, 2007
description description: added for gitweb. Jun 30, 2014
wiki.pl Translations: updated Sep 11, 2016


This is the README file distributed together with the Oddmuse script.

Installing Oddmuse on a Debian System running Apache

The following instructions require a number of tools. You can make sure they're all installed by issuing the following command as root:

apt-get install coreutils apache2 sudo wget w3m perl \
    libwww-perl libxml-rss-perl diffutils

You probably created an account for yourself. You might have to add this user to the sudo group. Here's how I created my own user as root:

adduser alex
usermod -a -G sudo alex

Now you can login as alex and do everything else using sudo.

You need to copy wiki.pl into your cgi-bin directory, and you need to make the script executable. You might also have to change its owner to an appropriate user on your system.

sudo wget -O /usr/lib/cgi-bin/wiki.pl \
sudo chmod +x /usr/lib/cgi-bin/wiki.pl
sudo chown www-data.www-data /usr/lib/cgi-bin/wiki.pl

If you're on SUSE, the user might not be www-data but wwwrun without appropriate group:

sudo chown wwwrun.root /usr/lib/cgi-bin/wiki.pl

You should be able to test it right now! Visit http://localhost/cgi-bin/wiki.pl. If your site is available from the outside, you will be able to use a normal browser. If don't have a domain name yet, you'll probably have to use a text browser like w3m.

w3m http://localhost/cgi-bin/wiki.pl

If you create pages in this wiki, these will get stored in a temporary directory. You need change the data directory from "/tmp/oddmuse" to like "/var/local/oddmuse". The best way to do this without changing wiki.pl is by editing /etc/apache2/sites-available/default. Add the following line:

SetEnv WikiDataDir /var/local/oddmuse

Enable the default site by calling the following command:

sudo a2ensite default

Reload the Apache configuration by calling the following command:

sudo service apache2 reload

You need to create the new data directory. You webserver runs CGI scripts as www-data. Thus, you need to change the owner and group of the directory to www-data.

sudo mkdir -p /var/local/oddmuse
sudo chown www-data.www-data /var/local/oddmuse

Done! Visit your wiki and start editing. Click on the edit link (the first link below the navigation bar, at the bottom of the page). This will allow you to enter some text for this page. Click the Save button and you are done.

To add new pages, edit the homepage and add links to new pages by putting their names in [[double square brackets]].

Enjoy your wiki experience.

Visit https://www.oddmuse.org/ to learn more about the translation files and modules that are part of this package.


If you think this information doesn't work for you, here are some things to check.

Apache's config directory is /etc/apache2/apache2.conf. This is where we get the www-data username from. It says:

# These need to be set in /etc/apache2/envvars

Checking /etc/apache2/envvars we see the following:

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

So that's what we're using in the chown command in our instructions above.

The default site is configured in /etc/apache2/sites-available/default. In order for it to be enabled, there must be a symlink from a file in /etc/apache2/sites-enabled to the file in sites-available. You can enable it using the following command:

sudo a2ensite default

This file also lists the directories we've used in our instructions above.

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

This means that http://localhost/cgi-bin/wiki.pl will call /usr/lib/cgi-bin/wiki.pl

Don't forget to reload the Apache configuration as shown above, or simply restart it all:

sudo service apache2 graceful


Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Both the GNU Free Documentation License, and the GNU General Public License are distributed together with this script. See the files FDL and GPL, respectively.