Introduction and Install Zikula on Ubuntu

Richard 17 Min Read
Introduction and Install Zikula on Ubuntu

Zikula is a multi-platform application and supports all popular operating systems. You can design interactive and editable websites using Zikula. In this article, we are going to teach you how to Install Zikula on Ubuntu 20.04, 18.04 step by step. You can visit the packages available in Eldernode if you wish to purchase a Linux VPS server.

Tutorial Install Zikula on Ubuntu Linux

What is Zikula?

Zikula is a Content Management System (CMS) and open-source web application framework that lets you create cloud-based websites and applications. Zikula is written in PHP and uses the Symfony 3 framework. Also, it uses jQuery, Bootstrap, and Font Awesome on the front-end.

Zikula uses MySQL, PostgreSQL, Oracle Database, and Microsoft SQL Server on the back-end for database operations. In fact, the Zikula Application Framework is a powerful solution for realizing web applications and websites with the help of modules and themes.

Which libraries does Zikula Use?

Doctrine: A set of libraries used to store databases and object mapping.

jQuery, Bootstrap, Font Awesome: well-known components for fast realization of responsive and interactive front-ends.

Symfony: A very popular set of reusable PHP components that offers many useful summaries, such as very powerful validation solutions and web forms.

Twig: A flexible, fast, and reliable template engine.

Prerequisites to Install Zikula on Ubuntu Server

_ A cloud VPS with Ubuntu and a user with root privileges

_ PHP enabled with mod_php

_ Install the following PHP extensions: iconv, Ctype, SimpleXML, PCRE, JSON, Tokenizer, Session

_ Apache webserver enabled with mod_rewrite module and AllowOverride directive set to “All”

_ MySQL or MariaDB database server


How to Install Zikula on Ubuntu 20.04 | 18.04

At first, you should log in to your Ubuntu Server as the root user or as your admin account:

ssh root@IP_address -p Port_number

Be sure to replace your server’s IP address and SSH port number with “IP_address” and “Port_

Then you should update the packages installed on your server by executing the following commands:

apt update && apt upgrade

It is best to restart your server to make sure all the configurations used are the latest settings.

Since Zikula requires a web server, At this point you should install the Apache webserver. To do this enter the following command:

apt -y install apache2

Now you should start a web server using the following command:

systemctl start apache2

Then enable webserver automatically start after server reboot with the following command:

systemctl enable apache2

Now you should enable the rewrite module in Apache by entering the following command:

a2enmod rewrite

The output will be as follows:
Enabling module rewrite.

To activate the new configuration, you need to run:

systemctl restart apache2

You should restart the webserver to activate the module:

systemctl restart apache2

Then you must visit https://IP_Address to test the proper installation of the webserver. Remember to get the default Apache webpage.

As you know, Zikula is a PHP-based application, so you should install PHP and several required PHP extensions. To do this execute the following command:

apt install php libapache2-mod-php php-gd php-mbstring php-mysql php-curl php-xmlrpc php-xml

Zikula needs an empty SQL database. You can install MariaDB, which is an open-source version of MySQL. To install it, just enter the following command:

apt install mariadb-server

Now to start the MariaDB database server execute the following command:

systemctl start mariadb

Then by entering the following command, you can enable it to be able to start itself after a reboot:

systemctl enable mariadb

Run the mysql_secure_installation script provided by MariaDB to set the password for the root user and strengthen the security of the database server. You can use the following details:

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

Now you can create a new database to be used by Zikula. In addition, you should create a user with full privileges on that database. To do this add the following command:

mysql -u root -p
MariaDB [(none)]> Create DATABASE zikula;  MariaDB [(none)]> Grant ALL PRIVILEGES ON zikula.* TO 'zikula_user'@'localhost' IDENTIFIED BY '<strong>PASSWORD</strong>';  MariaDB [(none)]> FLUSH PRIVILEGES;  MariaDB [(none)]> exit;

Note that you should replace “PASSWORD” with a strong password.

Now it’s time to go to the official Zikula website and download the latest stable version of the application with the following command:


Then you should unpack the downloaded ZIP archive in the root directory of your server document. To do this, enter the following command:

unzip -d /var/www/html/

All Zikula files are stored in the new “2.0” directory, which you can rename to Zikula by executing the following command:

mv 2.0 zikula

Remember that all files and directories should be readable by the web server user:

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

How to Create Apache Virtual host

At this point, you should create an Apache virtual host instruction for the domain to be able to access Zikula instead of the IP address with your domain name. Don’t forget to replace domain.tld with your real domain.

You can create a virtual host instruction with the following command:

nano /etc/apache2/sites-available/zikula.conf
ServerName <strong>domain.tld</strong>  ServerAlias www.<strong>domain.tld</strong>  ServerAdmin admin@<strong>domain.tld</strong>
DocumentRoot /var/www/html/zikula/
Options FollowSymLinks  AllowOverride All  Order allow,deny  allow from all
ErrorLog /var/log/apache2/<strong>domain.tld</strong>-error_log
CustomLog /var/log/apache2/<strong>domain.tld</strong>-access_log common

Remember to save the changes and then you should enable the Apache virtual host. To do this execute the following command:

a2ensite zikula.conf

Enabling site zikula.
To activate the new configuration,you need to run:

systemctl reload apache2

To apply the changes, you should reload the webserver by entering the following command:

systemctl reload apache2

Finally, you should go to https://domain.tld from your browser.



You can create cloud-based websites and applications with Zikula. In this article, we introduced Zikula and taught you how to install Zikula on ubuntu linux. With our step by step tutorial, also you can install Zikula prerequisites.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

View More Posts
Eldernode Writer
We Are Waiting for your valuable comments and you can be sure that it will be answered in the shortest possible time.

Leave a Reply

Your email address will not be published. Required fields are marked *

We are by your side every step of the way

Think about developing your online business; We will protect it compassionately

We are by your side every step of the way


7 days a week, 24 hours a day