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.
Table of Contents
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_
number”.
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:
wget https://github.com/zikula/core/releases/download/2.0.12/2.0.zip
Then you should unpack the downloaded ZIP archive in the root directory of your server document. To do this, enter the following command:
unzip 2.0.zip -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
Output:
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.
Conclusion
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.