Table of Contents

Installation

Installing DokuWiki is easy - in general it's just unpacking and setting permissions. However a detailed description for various scenarios is given here.

The first step is the same for everyone: Download the newest release from the Download Page 1).

Note: Windows-Users may need to rename the file from dokuwiki-YYYY-MM-DD.tgz to dokuwiki-YYYY-MM-DD.tar.gz to make their archive tool recognize the file format correctly (See 209). For Windows and other platforms, free Ultimate Zip. It worked fine for me in unpacking dokuwiki.tgz on Windows

After you have followed the basic instructions, your DokuWiki has out of the box behaviour:

  1. It doesn't work! You have to create a blank text file called “changes.log” and put it in /data with write permissions otherwise you get a “changelog does not exist or isn't writable” error.
  2. The same problem occures with other directories!! If you see “metadir does not exist or isn't writable. Check config!” or “mediadir does not exist or isn't writable. Check config!”, just create the appropriate subdirectory (media or meta) in /data. You can check other directory names by looking in '/inc/init.php'.
  3. no access control (see Authentication Options)
  4. everybody can read, edit and contribute (see Permissionlevels)
  5. FIXME (Some of these problems (missing dirs and files) will hopefully be be fixed in a future release)

GNU/Linux or Unix Server

With Apache Web Server

This is the common scenario for installing DokuWiki in a corporate environment or on your own rootserver.

#> cd /var/www/
#> tar -xzvf /path/to/downloaded/dokuwiki-YYYY-MM-DD.tgz
#> mv dokuwiki-YYYY-MM-DD dokuwiki
#> touch dokuwiki/data/changes.log
#> chown -R nobody dokuwiki/data

http://127.0.0.1/dokuwiki

Occasionally chowning can be no good at all, I couldn't chown files to another user on a server i was using, instead i chmodded my data dir. also the Options Specified in .htaccess can sometimes cause an error. rename or delete the .htaccess file and the error will solve itself.

==== With NanoWeb Web Server ====

NanoWeb is a PHP-based web server, and much lighter in its memory footprint than something like Apache. Nagios and Double Choco Latte both work fine, as does DokuWiki.

However, after following the instructions as described above for use with the Apache web server, it will be necessary to modify dokuwiki.php, as it does not automatically detect its web server location (URL).

Autodetection of an URL is not possible in all thinkable environments. Especially not when extensive URL rewriting and other forwarding mechnisms are in use. Furthermore the word “relative dir” is a bit missleading. Because dokuwiki requires an absolute pathname here. So start with a slash and end with a slash as in the example below. – Doogie - 27. May 2005

Change the line:

$conf['basedir'] = '';           //relative dir to serveroot - blank for autodetection

to something like:

$conf['basedir'] = '/dokuwiki/'; //relative dir to serveroot - blank for autodetection

Note that, for whatever reason, a trailing slash is required!!

Mac OS X with Apache

See the detailed HOWTO for DokuWiki on Tiger.

The HOWTO does not appear to be up-to-date (though it was helpful).

Below is what I did for Tiger (no previous DokuWiki installed):

  1. Enable PHP on Mac OS X (includes starting Personal Web Sharing)
  2. Downloaded dokuwiki-2005-07-13.tgz (assuming to ~/Desktop)
  3. From the command line:
    $ cd ~/Desktop && tar -zxvf dokuwiki-2005-07-13.tgz
    $ mv dokuwiki-2005-07-13 ~/Sites/dokuwiki
    $ cd ~/Sites/dokuwiki
    $ touch data/changes.log
    $ sudo chown -R www data
  4. Important: set
    $conf['basedir']     = '/~user/dokuwiki/';

    in conf/local.php; autodetection does not work!

Debian GNU/Linux

Official Debian Packages, provided by Matti Pöllä, can be fetched with apt from the testing and unstable sections. Homepage for this .deb is http://packages.debian.org/unstable/web/dokuwiki. To install DokuWiki, use the standard Debian procedure:

#> apt-get update
#> apt-get install dokuwiki

The package is unpacked, debconf asks a few questions, and it is set up. Invoke dokuwiki through your browser. For example, if you said the web-accessible location should be /dokuwiki, and access should be by localhost only, http://localhost/dokuwiki will bring up the start page.

Use the Debian bug tracking system to report any bugs with the package http://www.debian.org/Bugs/

– Where does debian put the data dirs?

– This might help to locate the data directories.

http://packages.debian.org/cgi-bin/search_contents.pl?searchmode=filelist&word=dokuwiki&version=unstable&arch=all

FreeBSD

To install dokuwiki using the FreeBSD ports tree, do the following:

#> cd /usr/ports/www/dokuwiki
#> make install clean

The default DokuWiki directory is /usr/local/www/data/dokuwiki
– Of course the directory can be changed or symbolic linked to anywhere :-)

To upgrade using the ports tree, do:

#> portupgrade dokuwiki

Make sure that the ports tree has been updated, or this will have no effect.

Windows

With Apache

This is for people who want to use DokuWiki on their Desktop-Machine

Sometimes, you might require to create a attic/ directory under data dir. Thanks to oak to help me out with this.

In the last version (2005-07-01) you have to create those directories too : data/cache, data/meta, data/locks.

With IIS

This is for people who want to use DokuWiki on a Windows machine with IIS webserver (Windows 2000, Windows XP or Windows Server 2003)

Hosted Server with FTP access

This applies to most users of rented webspace.

A Screencast for this type of installation is available, too.

Development Versions

You can also check out the newest development version using darcs.

Upgrading

Before upgrading, you should always read the changelog to see if something changed you should be aware of when upgrading. To determine the version you are running, have a look in the HTML source of a Page generated by DokuWiki there should be something like <meta name=“generator” content=“DokuWiki 2005-02-06” /> 4).

Some reminders! I tried to upgrade from 2005-05-17 to 2005-07-13, and had problems with plain ACL. This has been discussed at http://wiki.splitbrain.org/wiki:discussion:acl?s=users%5C.auth#user_registration_-_can_t_register . I was in the process of reverted to 2005-05-13, and decided to give another try, which appears to have been successful. Two hints: (a) when transferring files over to the updated program directory, make sure that the chmod is set to 777 for all of them, or they won't be editable!; and (b) when updating configuration files, remember to use a UTF-8 editor if you're on Windows! (I use Crimson Editor). {David Ing, 2005/07/17}

The easiest way to upgrade is perform the following steps

If you have made any changes on interwiki or smiley configurations or the source code itself, you will probably want to reapply them after upgrading.

When you upgrade from a version prior to 2005-02-06, you will need to convert your data to UTF8 after upgrading.

If you encounter some inconsistencies in DokuWikis behaviour after upgrading, you should delete the cache files in data/.cache/ and media/.cache/. You should make sure your browser hasn't cached an old stylesheet, too.

Example Upgrade Process

Easier/Faster upgrade method

This method is not official - i (redeeman, visitor) just thought it would be nice to present this method of upgrade, which i just have used myself to upgrade from 2005-07-01 to 2005-07-13.

the thing i do, is to use diff, a command to generate a patch, this should be present on almost any unix system, however, it is probably also possible to find a win32 version on google.

now all we do to create the patch is to unpack the two different versions, so we get the dirs: “dokuwiki-2005-07-01” and “dokuwiki-2005-07-13” (this is the version change i did, your upgrade might be from/to different versions). now all we need to do is issue the diff command, and create the patch:

diff -Naur dokuwiki-2005-07-01 dokuwiki-2005-07-13 > doku.diff

now we have the patch, this is essentially only the differences between the two directories (e.g it knows nowthing of your pages, which is good) and you should be able to patch up, without it interfering with anything. however, you should not, that it might have changes in the conf/ dir in files you have edited, in which case you should do a backup of the file, copy the file from the version you already have, so the patch will work, and then when the patch is applied redo your changes, however this is only the case if changes to the dokuwiki standard php file is in an upgrade.

To check which files the patch will affect, you can run with –dry-run.. just cd into the dir where dokuwiki is installed, and run:

patch -p1 </path/to/doku.diff --dry-run

then if you accept it :) just run it like this, without –dry-run:

patch -p1 </path/to/doku.diff

Example of everything needed for this

It Works - What Now ?

Here is what you may want to do when everything is up and working.

Multiple Wiki

The topic of multi-wiki, or wiki farms, comes up briefly in freelists.org archives, in this thread, this thread, and this one. In the last one, Andi describes changes he made so $conf['title'] can be used to establish different cookies for separate installations.

Note that namespaces could be used to separate content in a single installation. And multiple installation means each one will need its own upgrade. It is not the same as multiple instances sharing common code. Package upgrades, like Debian’s, will not handle multiple installations. But for some this is a price worth paying. Here is an approach that worked with the GNU/Linux installation using Apache. It can probably be adapted to the other situations:

  1. Do the regular installation, and test it.
  2. Create conf/local.php with the title line and any other lines you want to tailor.
  3. Copy the folder “dokuwiki” and give it a name suggesting its content.
  4. Set $conf[’title’] in local.php of new folder, to title and differentiate the installation.
  5. If the new folder is named “newwiki,” bring up http://localhost/newwiki.

Do the first two steps once and repeat the last three to make multiple installations.

1)
The newest release is at the bottom
2)
The easiest way to do this is using an installer package like Uniserver, XAMPP, AppServ, EasyPHP or any other available
3)
Windows-Users can use a tool like 7-Zip
4)
if not your version is older than 2005-01-14