Make a personal wiki with DokuWiki
Need somewhere to store, organise and share information? DokuWiki is a powerful tool to handle the task
The internet has become one of the greatest tools for distributing information to essentially the entire planet. If you have knowledge that you wish to share with others, you can create a basic website based on a set of HTML files. The problem with this is that you can very quickly lose any coherence in the files. This means that you need some type of content management system to handle all of this information. Part of sharing information is building on other people’s ideas. This means that we need a multi-user editable CMS. Enter DokuWiki. DokuWiki provides an environment where you can create and share information. A template system allows you to customise the layout of the pages. A plug-in architecture is also available, enabling you to add to the core functionality of DokuWiki. In this tutorial, you will learn how to install and start to use DokuWiki to create your own site. You will see how to start adding content, and how to install plug-ins to get the CMS of your dreams.
Step by Step
Most distributions provide a package for DokuWiki. In Ubuntu, you would execute sudo apt-get install dokuwiki. In most cases, however, this package will be outdated. In the Ubuntu example above, at the time of writing, the available package is a version behind.
DokuWiki is relatively light in its requirements. You do need a browser that supports PHP, such as Apache, Nginx or lighttpd. You will also need to have version 5.1.2 or later of PHP. If you want to do image resizing, you will need to install either the PHP GD extension or the Image Magick tools.
If you want the latest and greatest version, the first step will be to download the tarball from the DokuWiki website. The latest stable version (at the time of writing) is ‘Adora Belle’, or dokuwiki-2012-10-13. You can also choose the latest release candidate if you need some newer features.
You will need to unpack the tarball into whatever subdirectory is appropriate for the web server you are using. Since, in most cases, you will want to make this front-facing and accessible to world, you will want to be extra careful with security. The DokuWiki site has helpful information for many different web servers available.
Once all the files are installed on your web server, you should be able to pull up the main installation page, named install.php. If the file permissions aren’t correct, this page will kick up errors to let you know what needs to be fixed. Once everything is good, you will be presented with an initial page where you can set the details of your new wiki.
Once the installation phase is done, you should have a fully active wiki at your disposal. The initial page is set as doku.php, but because this is a new installation this page hasn’t been filled in yet.
Creating your first page
On the right-hand side you should see a list of icons. The first one is a pencil, and clicking on it will let you create a new page. The page editor will load, with a toolbar at the top. You can select different header types, font styles and add in more complicated items, like links.
Headings for sections on a page are defined with = characters. You have 5 levels of headings available to you. The smallest (level 5) is defined by ==, whereas the largest (level 1) is defined by ======.
All of the text formatting is handled by pairs of special characters surrounding the text. To get bolded text, use *. Italic text is achieved with /. You get underlined text with _. When you have some code that shouldn’t be formatted, you can do so with single quotes. The one exception is strike-through text – you get this with the tags <del> and </del>.
One of the great features of a wiki is the ability to build links from one page to another. Internal links are defined by [[ and ]] characters. Within these are two elements. The first is the actual link name, and the second is a title that you can create which will be displayed to the reader.
When you create a new link, it gets displayed in red. This highlights that the page linked to hasn’t been created yet. When you click the link, you are brought back to the edit page where you can create this new page.