Article

Table of Contents
Theme:
Was this article helpful?

1  out of  1 found this helpful

Try Vultr Today with

$50 Free on Us!

Want to contribute?

You could earn up to $600 by adding new articles.

How to Install DokuWiki on Debian 9

Last Updated: Fri, Aug 31, 2018
Debian Linux Guides Server Apps
Archived content

This article is outdated and may not work correctly for current operating systems or software.

DokuWiki is an open source wiki program written in PHP that doesn't require a database. It stores data in text files. DokuWiki source code is publicly hosted on GitHub. This guide will show you how to install DokuWiki on a fresh Debian 9 Vultr instance.

Requirements

Make sure your server meets the following requirements.

  • Nginx

  • PHP version 5.6 or later, newer versions are highly recommended. (This guide will use PHP 7.0)

Check the Debian version.

lsb_release -ds

# Debian GNU/Linux 9.4 (stretch)

Ensure that your system is up to date.

apt update && apt upgrade -y

Install necessary packages.

apt install -y apt-transport-https sudo curl wget dirmngr sudo

Create a new non-root user account with sudo access and switch to it.

adduser johndoe --gecos "John Doe"

usermod -aG sudo johndoe

su - johndoe

NOTE: Replace johndoe with your username.

Set up the timezone.

timedatectl list-timezones

sudo timedatectl set-timezone Region/City

Step 1 - Install PHP and PHP extensions

Install PHP 7.0 and required PHP extensions.

sudo apt install -y php7.0 php7.0-cli php7.0-fpm php7.0-gd php7.0-xml php7.0-zip

Check the version.

php --version



# PHP 7.0.27-0+deb9u1 (cli) (built: Jan  5 2018 13:51:52) ( NTS )

# Copyright (c) 1997-2017 The PHP Group

# Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

#     with Zend OPcache v7.0.27-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

Step 2 - Install and configure Nginx

Install Nginx.

sudo apt install -y nginx

Check the version.

sudo nginx -v

# nginx version: nginx/1.10.3

Configure Nginx.

sudo vim /etc/nginx/sites-available/dokuwiki.conf

Populate the file with the following Nginx cofiguration and save it.

server {

    listen [::]:80;

    listen 80;



    server_name wiki.example.com; # Replace with your hostname

    root /var/www/dokuwiki;

    index index.html index.htm index.php doku.php;



    client_max_body_size 15M;

    client_body_buffer_size 128K;



    location / {

        try_files $uri $uri/ @dokuwiki;

    }



    location ^~ /conf/ { return 403; }

    location ^~ /data/ { return 403; }

    location ~ /\.ht { deny all; }



    location @dokuwiki {

        rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;

        rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;

        rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;

        rewrite ^/(.*) /doku.php?id=$1 last;

    }

    location ~ \.php$ {

        try_files $uri =404;

        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

        fastcgi_index  index.php;

        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    }

}

Activate the new dokuwiki.conf configuration by linking the file to the sites-enabled directory.

sudo ln -s /etc/nginx/sites-available/dokuwiki.conf /etc/nginx/sites-enabled/

Check the configuration.

sudo nginx -t

Reload Nginx.

sudo systemctl reload nginx.service

Step 3 - Install DokuWiki

Create a document root directory.

sudo mkdir -p /var/www/dokuwiki

Change ownership of the /var/www/dokuwiki directory to johndoe.

sudo chown -R johndoe:johndoe /var/www/dokuwiki

Navigate to the document root.

cd /var/www/dokuwiki

Download the newest stable release of DokuWiki from the DokuWiki download page.

wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz

Unpack the DokuWiki tarball.

tar xvf dokuwiki-stable.tgz

rm dokuwiki-stable.tgz

mv dokuwiki-2018-04-22a/* . && mv dokuwiki-2018-04-22a/.* .

rmdir dokuwiki-2018-04-22a/

Change ownership of the /var/www/dokuwiki directory to www-data.

sudo chown -R www-data:www-data /var/www/dokuwiki

Restart php7.0-fpm.service.

sudo systemctl restart php7.0-fpm.service

Open the DokuWiki setup script, install.php, in your browser and setup DokuWiki. The setup script checks for the availability of required PHP functions and checks for necessary file permissions. It also creates an initial administrator account and an initial ACL policy. To run the installer, open http://wiki.example.com/install.php in the browser and follow the instructions.

After a successful configuration, delete the install.php file from DokuWiki root directory.

sudo rm /var/www/dokuwiki/install.php

Your DokuWiki is installed and you will be able to access and edit a functional wiki at http://wiki.example.com/.

Want to contribute?

You could earn up to $600 by adding new articles.