Dokuwiki
From ArchWiki
Contents |
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; DokuWiki is a wiki written in PHP and requires no database.
Like to see a running example?
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
See Fastcgi_and_lighttpd for more details.
The html root is located under /srv/http. This directory may not be created by default, so create it if not.
#mkdir -p /srv/http
lighttp also creates (or uses) the user account and group of http:http.
#chown http:http /srv/http
All of these settings can be changed in the file
/etc/lighttpd/lighttpd.conf
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
PHP, lighttp, and fastcgi
Install PHP Fastcgi and lighttpd
#pacman -S lighttpd fcgi php-cgi
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
Create a test document
#echo "Testing lighttpd" > /srv/http/index.html
Open a web browser to http://127.0.0.1/, and you should see the test document.
If it didn't work try (and check again):
chown -R http:http /var/run/lighttpd/
Stop the webserver
#/etc/rc.d/lighttpd stop
Configuration
Uncomment these lines in /etc/lighttpd/lighttpd.conf
"mod_fastcgi"
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 the DokuWiki download site and get the latest version
#tar -C /srv/http -zxvf dokuwiki*.tgz #mv /srv/http/dokuwiki-DATE /srv/http/dokuwiki
Preparing the Installation Files
chown the DokuWiki files
#chown -R http:http dokuwiki/
(http is the default user for lighttp, if you changed this, change the user:group to the lighttp user:group)
DokuWiki Specific lighttp Configuration
Edit the /etc/lighttpd/lighttpd.conf file as per the dokuwiki instructions (might contain updated information).
Under the line:
$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 = ( "" ) }
These entries give some basic security to dokuwiki. lighttpd does not use .htaccess files like apache. You CAN install with out this, but I would NEVER recommend it.
Restart lighttp
Start your webserver
#/etc/rc.d/lighttpd start
Install DokuWiki
Open a webbrowser to
http://127.0.0.1/dokuwiki/install.php
Post Installation
Cleaning Up
After configuring the server remove the install.php file!
#rm /srv/http/dokuwiki/install.php
Installing Plugins
Many community created plugins can be found here
They can be added through the web interface (as well as updated) through the Admin menu.
Backing Up
It is very trivial to backup DokuWiki, since there is no database. All pages are in plain text, and require only a simple tar, or rsync.
A quick breakdown of the directories of interest in the current (2008-05-05) version:
/dokuwiki/data/ => All User Created Data /dokuwiki/lib/plugins/ => All User Added Plugins
Further Reading
The DokuWiki main site has all of the information and help that you could possibly need.