How to Install Joomla on Rocky Linux and AlmaLinux

Written in PHP, Joomla is a popular CMS (Content Management System) used for creating stunning websites and blogs using themes, and tons of nifty add-ons. It comes second to WordPress as the most popular and widely used Content Management System.

Check out the guide on how to install WordPress on Rocky Linux and AlmaLinux.

This guide is a walkthrough of how you can install Joomla on Rocky Linux and AlmaLinux.

Prerequisites

Before setting Joomla, ensure that you first have an instance of the LAMP stack installed. We have a comprehensive guide on both.

Step 1: Install Additional PHP Modules

With the LAMP stack installed, let’s go ahead and install some additional PHP modules that will be required along the way during the installation.

$ sudo dnf install php-curl php-xml php-zip php-mysqlnd php-intl php-gd php-json php-ldap php-mbstring php-opcache

Next, open the php.ini file

$ sudo vim /etc/php.ini

Make the following changes and save the file.

memory_limit = 256
output_buffering = Off
max_execution_time = 300
date.timezone = Europe/London

Step 2: Create a Database for Joomla

Moving on, we are going to create a database for Joomla. Therefore, access your MariaDB database server.

$ sudo mysql -u root -p

Create the database as follows. In this example, joomla_db is the database for Joomla.

CREATE DATABASE joomla_db;

Next, create a database user and grant all privileges to the Joomla database.

GRANT ALL PRIVILEGES ON joomla_db.* TO 'joomla_user'@'localhost' IDENTIFIED BY 'P@ssword321';

Save the changes and exit the MariaDB prompt.

FLUSH PRIVILEGES;
EXIT;

Here’s a summary of all the SQL statements.

Create Joomla Database
Create Joomla Database

Step 3: Download Joomla and Configure

After the database creation, download the Joomla from the website or grab the zip file using the wget command.

$ wget https://downloads.joomla.org/cms/joomla3/3-9-15/Joomla_3-9-15-Stable-Full_Package.zip?format=zip -O joomla.zip

Once downloaded, unzip the Joomla file to the document root.

$ sudo unzip joomla.zip -d /var/www/html/joomla

Be sure to grant ownership of the joomla directory to the apache user.

$ sudo chown -R apache:apache /var/www/html/joomla/

And set the permissions as follows.

$ sudo chmod -R 775 /var/www/html/joomla/

Step 4: Configure Apache Virtual Host for Joomla

We need to configure Apache to host Joomla. To achieve this, we are going to create a virtual host file for Joomla, and for that, we need to configure a virtual host file as shown

$ sudo vim /etc/httpd/conf.d/joomla.conf

Paste the following lines. For the directive, use the server’s Fully Qualified Domain Name (FQDN) or public IP.

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot "/var/www/html/joomla"
   ServerName domain.com
   ErrorLog "/var/log/httpd/example.com-error_log"
   CustomLog "/var/log/httpd/example.com-access_log" combined

<Directory "/var/www/html/joomla">
   DirectoryIndex index.html index.php
   Options FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>
</VirtualHost>

Save and exit. Then restart the Apache HTTP webserver to apply the changes made.

$ sudo systemctl restart httpd

If you have firewalld running, you need to allow HTTP traffic to the webserver.

Run the following command:

$ sudo firewall-cmd --add-service=http --zone=public --permanent 

You might also want to allow the HTTPS protocol which is a secure HTTP protocol.

$ sudo firewall-cmd --add-service=https --zone=public --permanent

Finally, reload the Firewall to apply the changes.

$ sudo firewall-cmd --reload

At this point, Joomla should be accessible from a web browser. Let’s go ahead and finalize the setup.

Step 5: Access Joomla from the Browser

Launch your web browser and browse the URL shown

http://server-ip or domain.com

This directs you to the page shown. Provide all the necessary information such as Site name, email address, username, and password, and click ‘Next’.

Joomla Main Configuration
Joomla Main Configuration

Fill in the database details and click ‘Next’.

Joomla Database Configuration
Joomla Database Configuration

For the FTP section, it’s safe to leave everything blank for now and click ‘Next’.

Joomla FTP Configuration
Joomla FTP Configuration

The next screen will give you an overview of all the settings made and allows you to see if all the prerequisites have been met. Then click on ‘Install’.

Joomla Installation
Joomla Installation

Once the installation has been completed successfully, you will be prompted to remove the installation folder. So, click on the ‘Remove installation folder” to purge the directory.

Remove Joomla Installation Folder
Remove Joomla Installation Folder

Then click on the ‘Administrator’ button. This will direct you to the login page shown. Enter your login credentials and click ‘Login’.

Joomla Login
Joomla Login

Finally, you will get a glance at Joomla’s dashboard as provided.

Joomla Dashboard
Joomla Dashboard

From here, you can create and customize your blog or website using various themes and plugins to your preference. That’s it, guys! We have walked you through the installation of Joomla on Rocky Linux and AlmaLinux.

Furthermore, you can also secure your Joomla by enabling HTTPS on the website.

Ravi Saive
I am an experienced GNU/Linux expert and a full-stack software developer with over a decade in the field of Linux and Open Source technologies

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

Got Something to Say? Join the Discussion...

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.