How to Install DokuWiki on CentOS 7

How to Install DokuWiki on CentOS 7
How to Install DokuWiki on CentOS 7
  DokuWiki is an open source wiki software written in PHP that doesn’t require a database as 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 CentOS 7 Vultr instance. I have already talked about CentOS 7 in the following must-read tutorials;


Make sure your server meets the following requirements:
  • Web server software that supports PHP (Apache, Nginx, IIS, Lighttpd, LiteSpeed)
  • PHP version 5.6 or later.

Before you Begin

Check the CentOS version.
cat /etc/centos-release
# CentOS Linux release 7.4.1708 (Core)
  Create a new non-root user account with sudo access and switch to it.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
  NOTE: Replace ‘johndoe’ with your username. Set up the timezone.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
  Ensure that your system is up to date.
sudo yum update -y
  Install the required and useful packages.
sudo yum install -y wget vim bash-completion
  Disable SELinux.
sudo setenforce 0

Step 1 – Install PHP and PHP extensions

In this tutorial, we will use PHP 7.1; this is not available in the default CentOS repositories so you will need to use a third-party repository, such as Webtatic. Install PHP 7.1 and the required PHP extensions.
sudo yum install -y php71w php71w-cli php71w-fpm php71w-gd php71w-xml php71w-zip
  Check the version.
php --version

# PHP 7.1.14 (cli) (built: Feb  4 2018 09:05:29) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
  Start and enable PHP-FPM.
sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Step 2 – Install and configure Nginx

If you prefer Apache, or another popular web server, you can use one of those instead of Nginx. Install Nginx.
sudo yum install -y nginx
  Check the version.
nginx -v
# nginx version: nginx/1.12.2
  Start and enable Nginx.
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
  Configure Nginx.
sudo vim /etc/nginx/conf.d/dokuwiki.conf
  Copy/paste the following Nginx configuration and then save it.
server {
    listen [::]:80;
    listen 80;

    server_name; # 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_index  index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  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.
  Unpack the DokuWiki tarball.
tar xvf dokuwiki-stable.tgz
rm dokuwiki-stable.tgz
mv dokuwiki-2017-02-19e/* . && mv dokuwiki-2017-02-19e/.* .
rmdir dokuwiki-2017-02-19e/
  Change ownership of the ‘/var/www/dokuwiki’ directory to Nginx.
sudo chown -R nginx:nginx /var/www/dokuwiki
  Run ‘sudo vim /etc/php-fpm.d/www.conf’ and set the user and group to Nginx.
sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx
  Restart ‘php-fpm.service’.
sudo systemctl restart php-fpm.service
  For this last step, run the DokuWiki setup script ‘install.php’ in your browser and Setup DokuWiki. The script checks for the availability of required PHP functions and checks for needed file permissions. It also creates an initial administrator account and an initial ACL policy. To run the installer, open ‘’ in the browser and follow the instructions. Upon successful configuration, delete the ‘install.php’ file from the DokuWiki root directory.
sudo rm /var/www/dokuwiki/install.php
  Congratulations, DokuWiki is now installed and you should be able to access and edit a functional wiki at ‘’. Enjoy your new DokuWiki installation. What are your thoughts on my point of view on CentOS 7 and DokuWiki? Add your feedback in the comments section.  
Updated on 13 Oct 2018
Add a comment
Login for Comment