Introduction
PHP-based Zikula is an open-source framework for online applications. With Zikula, you can create editable and interactive web pages. It is a cross-platform program that works with every widely used operating system. For database-related tasks, Zikula uses Microsoft SQL Server, Oracle, PostgreSQL, and MySQL on the back end.
We’ll talk about installing Zikula on a CentOS 7 server in this article.
Prerequisites
- AKLWEB HOST CentOS 7 server instance that has just been deployed.
- A user on your server who is not root but has sudo capabilities set up.
- 192.168.15.110 is set as a static IP address on your machine. This would be your server’s primary IP address.
Step 1: Update the system
First, update your system to the latest stable version by running the following command:
sudo yum update -y
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 yum install httpd mariadb mariadb-server php php-common php-mysql php-mcrypt php-gd php-xml php-mbstring php-xmlrpc unzip wget -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 httpd
sudo systemctl start mariadb
sudo systemctl enable httpd
sudo systemctl enable mariadb
Configure MariaDB Database By default
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 all 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 in to the MariaDB console.
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)]>FLUSH PRIVILEGES;
MariaDB [(none)]>exit
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/1.4.6/Zikula_Core-1.4.6.build119.zip
Extract the downloaded zip archive.
unzip Zikula_Core-1.4.6.build119.zip
Move the extracted directory into the Apache root directory.
sudo mv Zikula_Core-1.4.6 /var/www/html/zikula
Give necessary permission to the Zikula directory.
sudo chown -R apache:apache /var/www/html/zikula
Access Zikula Web Interface
Before accessing Zikula, you will need to allow port 80 through Firewalld. You can do this with the following command:
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --reload
Open your web browser and type the URL http://192.168.15.110/install.php or http://your-domain.com/install.php, then complete the required steps to finish the installation.
Thats it. You have successfully installed Zikula on your CentOS 7 server.