Learn How To Install Zikula on Ubuntu 16.04

February 16, 2020

Table of Contents

If you are using a different system, please check our other tutorials.


Zikula is an open source web application framework written in PHP. You can design interactive and editable websites using Zikula. It is a cross-platform application and supports all popular operating systems.
Zikula uses MySQL, PostgreSQL, Oracle Database and Microsoft SQL Server on the back-end for database related operations.

In this article, I will discuss how to install Zikula on an Ubuntu 16.04 server.


  • A newly deployed IT Web Services Ubuntu 16.04 server instance.
  • A non-root user with sudo privileges setup on your server.
  • A static IP address of configured on your system. This would be the main IP of your server.

Step 1: Update the system

First, update your system to the latest stable version by running the following command:

sudo apt-get update -y
sudo apt-get upgrade -y

Next, restart your system to apply these changes:

sudo reboot

Step 2: Install LAMP server packages

You will need to install Apache, MariaDB, PHP and other required PHP modules on your system. You can install all of these packages with the following command:

sudo apt-get install apache2 mariadb-server php7.0 php7.0-mysql php7.0-gd php7.0-mcrypt php7.0-xml php7.0-mbstring php7.0-xmlrpc php7.0-curl libapache2-mod-php7.0 wget unzip -y

Once the installation is complete, start both Apache and MariaDB services and enable them to start at boot with the following commands:

sudo systemctl start apache2
sudo systemctl start mysql
sudo systemctl enable apache2
sudo systemctl enable mysql

Once installation is complete, you can proceed to the next step.

Step 3: Configure MariaDB

By default, your MariaDB installation is not hardened, so you will need to secure it first. You can secure it with the following script:

sudo mysql_secure_installation

Answer each of the questions as follows:

Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

Next, log into the MariaDB console with the following command:

mysql -u root -p

This will prompt you for a password, enter your MariaDB root password. After logging in, create a database for Zikula:

MariaDB [(none)]>CREATE DATABASE zikuladb;
MariaDB [(none)]>GRANT ALL PRIVILEGES on zikuladb.* to 'user'@'localhost' identified by 'password';
MariaDB [(none)]>exit

Once the database is configured, you can proceed to the next step.

Step 4: Install Zikula

First, you will need to download the latest version of the Zikula CMS from GitHub. You can also download it using the wget command:

wget https://github.com/zikula/core/releases/download/2.0.0-rc3/Zikula_Core-2.0.0.zip

Extract the downloaded zip archive.

unzip Zikula_Core-2.0.0.zip

Move the extracted directory into the Apache root directory.

sudo mv Zikula_Core-2.0.0 /var/www/html/zikula

Give necessary permissions to the zikula directory.

sudo chown -R www-data:www-data /var/www/html/zikula

Step 5: Access Zikula web interface

Before accessing Zikula, you will need to allow port 80 through the UFW firewall. You can do this with the following command:

sudo ufw allow 80/tcp

Open your web browser and type the URL, then complete the required steps to finish the installation.

Thats it. You have successfully installed Zikula on your Ubuntu 16.04 server.

Need help?

Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!