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 '[email protected]';

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.

If you liked this article, then do subscribe to email alerts for Linux tutorials. If you have any questions or doubts? do ask for help in the comments section.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Got something to say? Join the discussion.

Have a question or suggestion? Please leave a comment to start the discussion. Please keep in mind that all comments are moderated and your email address will NOT be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.