Joomla is a popular content management system (CMS) used for building websites and online applications. In this guide, we will show you how to install Joomla on Alma Linux 8, configure it to run with the Apache web server, and secure it using a free Let's Encrypt SSL certificate. Whether you're setting up your website on a local server or a Windows VPS UK, this tutorial will help you deploy Joomla with ease.
Step 1: Update Your System
Before installing Joomla, update your Alma Linux 8 system to ensure all packages are up to date. Run the following command:
sudo dnf update -y
Keeping your system updated is crucial for performance and security, especially if you're hosting it on a VPS Windows Servers platform.
Step 2: Install Apache, MariaDB, and PHP
Joomla requires a web server, a database, and PHP. You can install Apache, MariaDB, and PHP by running the following command:
sudo dnf install httpd mariadb-server php php-mysqlnd php-xml php-mbstring php-json php-gd php-zip -y
Start and enable Apache and MariaDB services to run at boot:
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start mariadb
sudo systemctl enable mariadb
Step 3: Secure MariaDB Installation
To improve security, run the MySQL secure installation script to set a root password and remove insecure defaults:
sudo mysql_secure_installation
Follow the on-screen instructions to configure the root password, remove anonymous users, disallow root login remotely, and remove the test database.
Step 4: Create a Database for Joomla
Log in to MariaDB to create a database for Joomla:
sudo mysql -u root -p
Inside the MySQL shell, run the following commands to create the Joomla database and a user with the appropriate privileges:
CREATE DATABASE joomla_db;
CREATE USER 'joomla_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON joomla_db.* TO 'joomla_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Replace your_password
with a secure password.
Step 5: Download and Install Joomla
Download the latest Joomla package from the official Joomla website:
cd /var/www/html
sudo wget https://downloads.joomla.org/cms/joomla3/3-9-28/Joomla_3-9-28-Stable-Full_Package.zip
Extract the Joomla package:
sudo unzip Joomla_3-9-28-Stable-Full_Package.zip -d /var/www/html/joomla
Set the correct permissions for the Joomla directory:
sudo chown -R apache:apache /var/www/html/joomla
sudo chmod -R 755 /var/www/html/joomla
Step 6: Configure Apache for Joomla
Create a new virtual host configuration file for Joomla:
sudo nano /etc/httpd/conf.d/joomla.conf
Add the following content to the file:
ServerAdmin admin@yourdomain.com
DocumentRoot /var/www/html/joomla
ServerName yourdomain.com
ServerAlias www.yourdomain.com
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
ErrorLog /var/log/httpd/joomla_error.log
CustomLog /var/log/httpd/joomla_access.log combined
Replace yourdomain.com
with your domain name.
Save and exit the file, then restart Apache to apply the changes:
sudo systemctl restart httpd
Step 7: Obtain a Free Let's Encrypt SSL Certificate
To secure your Joomla site with HTTPS, use Certbot to obtain a free SSL certificate from Let's Encrypt. First, install Certbot:
sudo dnf install certbot python3-certbot-apache -y
Then, run the following command to obtain the SSL certificate and configure Apache automatically:
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
Certbot will guide you through the process, and your SSL certificate will be installed and configured.
Step 8: Complete Joomla Installation
Open your web browser and navigate to:
http://yourdomain.com
You will be redirected to the Joomla installation page. Follow the on-screen instructions to complete the setup, providing the database information you configured earlier.