Wiki take3…DokuWiki

I got trac installed OK only to discover it’s a little more involved than expected.  I liked the ease of WikiMedia, both installation and use and trac is more wiki server than I need, so back to the drawing room.  Once again, Dr. Google comes up with a likely candidate: DokuWiki.

Follow the install steps exactly and you should end up with a local wiki server handled by apache.

I spent all of this time on getting the local wiki server installation squared away because of the importance of being able to document your steps and I now have a new grsync session, to ensure our online documentation can be restored:  /var/www/dokuwiki.


This is a good place to diverge a little and talk about installing software on your Linux box.

Ubuntu is based on the Debian distribution so it’s native package format is Debian packaging.  Packages come in binary and source format.  A binary package installs an executable (and/or library), man pages, licensing information, etc.  A source package installs the source code and build system that allows you to build the package locally, perhaps fix bugs or make minor modifications for your own purposes.

In order to install a package locally the package has to be found in a remote repository, so following the Unix philosophy another tool builds remote repository capability on top of the local package tool.  The local package tool is called dpkg and the remote repository tool is called apt.

If you want to list the installed packages on your system, try this command:

dpkg –list

On my system there are over 2000 packages installed, so I won’t provide the whole list, but here are some subsets:

tmike@tmike-HP-ENVY-m7-Notebook:~$ dpkg –list | grep dpkg
ii dpkg               1.18.4ubuntu1.1         amd64            Debian package management system
ii dpkg-dev        1.18.4ubuntu1.1         all                   Debian package development tools
ii libdpkg-perl   1.18.4ubuntu1.1         all                   Dpkg perl modules

If you want to know what files are installed with a package you can try this command:

dpkg-query –listfiles dpkg

On my system 279 files are listed, I won’t list them all here, but this command truncates the list to those that contain bin (binary):

tmike@tmike-HP-ENVY-m7-Notebook:~$ dpkg-query –listfiles dpkg | grep bin
/sbin/start-stop-daemon
/usr/bin/dpkg-maintscript-helper
/usr/bin/dpkg
/usr/bin/dpkg-trigger
/usr/bin/dpkg-divert
/usr/bin/update-alternatives
/usr/bin/dpkg-query
/usr/bin/dpkg-statoverride
/usr/bin/dpkg-deb
/usr/bin/dpkg-split
/usr/sbin/dpkg-divert
/usr/sbin/update-alternatives
/usr/sbin/dpkg-statoverride

From easiest to most difficult these are the four options for installing software:

  1. Ubuntu Software Center
  2. Synaptic Package Manager
  3. tarball
  4. git (or similar, e.g. svn)

The first two options are just GUI front-ends to apt and dpkg.  The third and fourth options require the most skill as you are downloading source code, either a snapshot in time (tarball) or an active repository (git), and you have to figure out how to build the software once you have it downloaded.  A lot of software you find on the internet, but by not means all, use the autoconf method for creating the build system used to build and install the software.

If you are new to Linux and software installs, start with Ubuntu Software Center (USC), you can search, by category for a tool and install it, e.g. gimp.  Not all of the binary packages in the Ubuntu repositories are listed in USC and I honestly don’t know how some make the cut and others don’t.  gitk is an example.  This is a useful GUI front-end for looking at a local git repository.  If you search for it in USC you won’t find it, but it can be installed through Synaptic Package Manager (SPM).

If you can’t find a specific package with USC, try SPM.  SPM shows source packages as well as binary packages.  You will also find library packages and debug enabled packages, etc.

Building software from source is beyond the scope of this blog so I will stop here.