From ArchWiki
Revision as of 14:29, 18 June 2008 by Timetrap (talk | contribs) (Downloading the Latest Version)
Jump to: navigation, search

Installing Dokuwiki

What is dokuwiki?

"DokuWiki is a standards-compliant, simple-to-use wiki which allows users to create rich documentation repositories. It provides an environment for individuals, teams and companies to create and collaborate using a simple yet powerful syntax that ensures data files remain structured and readable outside the wiki."

"Unlimited page revisions allows restoration to any earlier page version, and with data stored in plain text files, no database is required. A powerful plugin architecture allows for extension and enhancement of the core system. See the features section for a full description of what DokuWiki has to offer."[1]

In other words; docuwiki is a wiki written in php and requires no database.

Initial Notes

The following guide sets up a dokuwiki under a directory beneath the html root.

If anyone would like to add a vhost setup guide please feel free to add it.

lighttp Notes

lighttp creates its default directory under


The html root is located under


lighttp also creates (or uses) the user account and group of


All of these settings can be changed in the file


dokuwiki Notes

Some of the docuwiki plugins look to the root of the webserver rather than the root of the dokuwiki folder, which can cause some problems. All of the default plugins work with the following installation method.

Installing lighttp

lighttp and fastcgi

Install Fastcgi and lighttpd

 #pacman -S lighttpd fcgi

Add an entry to your rc.conf

 DAEMONS=(syslog-ng network netfs crond lighttpd)

Edit your /etc/hosts.allow (by adding the following line)

 lighttpd:    ALL

Start your webserver (sanity check)

 #/etc/rc.d/lighttpd start

Open a web browser to

You should see this:

     Arch Linux

This is a test page for the lighttpd Web Server.

Stop the webserver

 #/etc/rc.d/lighttpd stop


Uncomment these lines in /etc/lighttpd/lighttpd.conf

fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                   "socket" => "/var/run/lighttpd/php-fastcgi.socket",
                                   "bin-path" => "/usr/bin/php-cgi"

Installing dokuwiki

Downloading the Latest Version

Go to dokuwiki and get the latest version

 #mv dokuwiki*.tar.gz /home/lighttp/html
 cd /home/lighttp/html
 #tar xvf
 #mv dokuwiki-DATE dokuwiki

Preparing the Installation Files

chown the dokuwiki files

 chown -R nobody:nobody dokuwiki/

(nobody is the default user for lighttp, if you changed this, change the user:group to the lighttp user:group)

/etc/lighthttpd/lighttpd.conf Under the line:

dokuwiki Specific lighttp Configuration

$HTTP["url"] =~ "\.pdf$" {
  server.range-requests = "disable"

add this:

# subdir of dokuwiki
# comprised of the subdir of the root dir where dokuwiki is installed
# in this case the root dir is the basedir plus /htdocs/
# Note: be careful with trailing slashes when uniting strings.
# all content on this example server is served from htdocs/ up.
#var.dokudir = var.basedir + "/dokuwiki"
var.dokudir = server.document-root + "/dokuwiki"

# make sure those are always served through fastcgi and never as static files
# deny access completly to these
$HTTP["url"] =~ "/\.ht" { url.access-deny = ( "" ) }
$HTTP["url"] =~ "/_ht" { url.access-deny = ( "" ) }
$HTTP["url"] =~ "^" + var.dokudir + "/bin/"  { url.access-deny = ( "" ) }
$HTTP["url"] =~ "^" + var.dokudir + "/data/" { url.access-deny = ( "" ) }
$HTTP["url"] =~ "^" + var.dokudir + "/inc/"  { url.access-deny = ( "" ) }
$HTTP["url"] =~ "^" + var.dokudir + "/conf/" { url.access-deny = ( "" ) }

Restart lighttp

Start your webserver

 /etc/rc.d/lighttpd start

Install docuwiki

Open a webbrowser to

Post Installation

Cleaning Up

After configuring the server remove the install.php file

Installing Plugins

Backing Up