Install and Configure DokuWiki on CentOS 7 | CentOS 8

Posted on 24 views

How can I install DokuWiki on CentOS 7 / CentOS 8?. In this tutorial, I’m going to work you through all the steps needed to have the latest version of DokuWiki up and running on CentOS 7 base system.

DokuWiki is a simple to use and highly versatile Open Source wiki software that doesn’t require a database. The fact that DokuWiki doesn’t use database makes it easier to do maintenance and backups

DokuWiki also has built-in access controls and external authentication connectors which makes it useful in the enterprise context. Also, the large number of plugins contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki.

Step 1: Update System

Start by updating your system.

sudo yum -y update

Step 2: Install Apache httpd web server

To install Apacheon CentOS 7, use the following command:

sudo yum -y install httpd

If using firewalld, make sure http port is open on the firewall, also add https is using ssl encryption.

sudo firewall-cmd --permanent --zone=public --add-service=http,https
sudo firewall-cmd --reload

Step 3: Install PHP & Extensions

Now install PHP and other extensions

CentOS 8:

sudo yum -y install php php-cli,common,gd,mbstring,mysqlnd,xml

CentOS 7

sudo yum -y install
sudo yum -y install epel-release
sudo yum -y install yum-utils
sudo yum-config-manager --disable remi-php54
sudo yum-config-manager --enable remi-php74
sudo yum clean all
sudo yum makecache fast
sudo yum -y install php php-cli,common,gd,mbstring,mysqlnd,xml

Check php version:

$ php -v
PHP 7.2.11 (cli) (built: Oct  9 2018 15:09:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Step 4: Download Dokuwiki

Now download and install DokuWiki

sudo tar zxvf dokuwiki-stable.tgz -C /var/www/html/ --strip-components=1

Above command will download and extract dokuwiki archive to /var/www/html. Replace the path with a valid one if you need to.

Step 5: Configure httpd and DokuWiki

Next thing to do is secure DokuWiki using .htaccess.

cd /var/www/html
sudo cp .htaccess.dist .htaccess

Configure httpd.conf

Now tell Apache to restrict access to /var/www/html using .htaccess file defined

sudo vi /etc/httpd/conf/httpd.conf

Modify as below:

    AllowOverride none
    Require all denied

DocumentRoot "/var/www/html"

    AllowOverride None
    Require all granted

# Further restrict access to the default document root:

    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    allow from all

Set permissions for DokuWiki DocumentRoot:

sudo chown -R apache:apache /var/www/html

Step 6: Configure SELinux

For SELinux in enforcing mode, run the following commands

sudo yum -y install policycoreutils-python
sudo chcon -Rv --type=httpd_sys_rw_content_t /var/www/html/conf/
sudo chcon -Rv --type=httpd_sys_rw_content_t /var/www/html/data/
sudo semanage fcontext -a -t httpd_sys_rw_content_t /var/www/html/data/
sudo semanage fcontext -a -t httpd_sys_rw_content_t /var/www/html/conf
sudo restorecon -v /var/www/html/conf/
sudo restorecon -v /var/www/html/data/
sudo setsebool -P httpd_can_network_connect on

Start httpd daemon

sudo systemctl start httpd && sudo systemctl enable httpd

You’re done with the installation section, the next thing is to configure DokuWiki.

Open your browser and go to:


Answer initial questions accordingly, set superuser, enable ACL and login to DokuWiki dashboard.That’s all. You can then add skins and plugins available on the admin dashboard.



Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.