Introduction
Zikula is a free open-source Content Management System (CMS) that allows you to build websites and cloud-based applications. Zikula uses the Symfony 3 framework and features jQuery, Bootstrap, and Font Awesome on the front-end. You can enhance your Zikula site with modules and customizable themes maintained by a community of active developers. Zikula's API allows you to integrate third-party applications.
This guide explains how to install Zikula CMS with a LAMP stack on Ubuntu 20.04.
Prerequisites
- Install a LAMP stack on a new Ubuntu 20.04 cloud server, or use a Rcs Marketplace LAMP server.
- Create a non-root user with sudo access.
1. Install Dependencies
SSH to your Linux server and update the package information index.
$ sudo apt updateInstall the required PHP libraries.
$ sudo apt install -y libapache2-mod-phpEnable the Apache mod_rewrite module to allow Zikula to use user-friendly URLs.
$ sudo a2enmod rewriteRestart Apache to load the new configurations.
$ sudo systemctl restart apache2Install the unzip utility.
$ sudo apt install -y unzip2. Create a Database and User Account
Zikula supports multiple database management systems. This guide explains how to use MySQL or MariaDB.
Log in to your database server as root.
$ sudo mysql -u root -pCreate a zikula_cms database and a privileged zikula_cms_user account. Replace EXAMPLE_PASSWORD with a strong value for security.
If you use MySQL:
mysql> CREATE DATABASE zikula_cms;
CREATE USER 'zikula_cms_user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'EXAMPLE_PASSWORD';
GRANT ALL PRIVILEGES ON zikula_cms.* TO 'zikula_cms_user'@'localhost';
FLUSH PRIVILEGES;If you use MariaDB:
MariaDB> CREATE DATABASE zikula_cms;
GRANT ALL PRIVILEGES on zikula_cms.* TO 'zikula_cms_user'@'localhost' identified by 'EXAMPLE_PASSWORD';
FLUSH PRIVILEGES;Log out of the database server.
> QUIT;3. Download Zikula
Create a directory for Zikula under the root of your web server.
$ sudo mkdir -p /var/www/zikula_cmsChange to the /tmp directory.
$ cd /tmpNavigate to the Zikula release page in a web browser to find the download URL of the latest stable version.
https://github.com/zikula/core/releases/
Return to your SSH session and download the release file from GitHub. Use the URL you found in the previous step.
$ wget https://github.com/zikula/core/releases/download/3.0.3/zikula.zip Unzip the archive.
$ unzip zikula.zipCopy the files to /var/www/zikula_cms/.
$ sudo rsync -avu zikula/ /var/www/zikula_cms/Give www-data ownership of the files.
$ sudo chown -R www-data:www-data /var/www/zikula_cms4. Create a Virtual Host File
Disable the default virtual host, it's not required for Zikula.
$ sudo a2dissite 000-default.confCreate a new virtual host file for Zikula.
$ sudo nano /etc/apache2/sites-available/zikula_cms.confPaste the information below to the configuration file. Replace example.com with the correct domain name or public IP address of your server.
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/var/www/zikula_cms/public"
<Directory "/var/www/zikula_cms/public">
Require all granted
Options -Indexes +FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>Save and close the file.
Enable the new virtual host.
$ sudo a2ensite zikula_cms.confRestart Apache to load the new virtual host.
$ sudo systemctl restart apache25 - Complete the Zikula Installation
Visit your server's public IP address or domain name in a web browser.
Click Install Zikula! and follow the on-screen wizard to complete the installation process.
More Information
For more information, please see the official documentation.