Joomla is a popular open-source content management system (CMS) used to build websites and powerful online applications. In this guide, we will walk you through how to install Joomla with Apache2 and secure it using Let's Encrypt SSL on Ubuntu 20.04. Whether you are using a Windows VPS UK or any other hosting platform, Joomla offers a robust and flexible way to manage your web content.

Prerequisites

Before you begin, ensure you have the following:

Step 1: Update Your System

Start by updating your system to ensure all packages are up to date:

sudo apt update && sudo apt upgrade -y

Step 2: Install PHP and Required Extensions

Joomla requires PHP and several extensions to function. Install PHP and the necessary modules with the following command:

sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-xml php-mbstring php-zip php-json -y

Step 3: Download Joomla

Next, download the latest version of Joomla from the official Joomla website. You can use the following command to download Joomla directly to your server:

wget https://downloads.joomla.org/cms/joomla3/3-9-28/Joomla_3-9-28-Stable-Full_Package.zip

After downloading, extract the Joomla archive to the Apache root directory:

sudo apt install unzip
sudo unzip Joomla_3-9-28-Stable-Full_Package.zip -d /var/www/html/joomla

Step 4: Configure Apache

Set the correct permissions for Joomla files and create a new Apache virtual host file:

sudo chown -R www-data:www-data /var/www/html/joomla
sudo chmod -R 755 /var/www/html/joomla

Create a virtual host configuration file:

sudo nano /etc/apache2/sites-available/joomla.conf

Add the following content, replacing your-domain.com with your actual domain:

<VirtualHost *:80>
    ServerAdmin admin@your-domain.com
    ServerName your-domain.com
    ServerAlias www.your-domain.com
    DocumentRoot /var/www/html/joomla

    <Directory /var/www/html/joomla/>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Enable the virtual host configuration and rewrite module:

sudo a2ensite joomla.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Step 5: Create a Joomla Database

Log in to your MySQL or MariaDB server and create a database for Joomla:

sudo mysql -u root -p
CREATE DATABASE joomla;
CREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON joomla.* TO 'joomlauser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Step 6: Complete Joomla Installation

Open your web browser and navigate to http://your-domain.com. You will be greeted by the Joomla web installer. Follow the on-screen instructions to complete the installation by entering your database details and configuring your Joomla site.

Step 7: Install Let's Encrypt SSL

To secure your Joomla website with SSL, install Let's Encrypt using Certbot:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d your-domain.com -d www.your-domain.com

Certbot will automatically obtain and install an SSL certificate for your domain, and configure Apache to redirect HTTP traffic to HTTPS.

Step 8: Verify SSL

After setting up Let's Encrypt, you can verify that your Joomla website is using SSL by navigating to https://your-domain.com. You should see a padlock icon in the browser address bar, indicating that your connection is secure.

Conclusion

By following this guide, you have successfully installed Joomla with Apache2 and Let's Encrypt SSL on Ubuntu 20.04 LTS. Whether you're hosting your Joomla site on a Windows VPS UK, Windows VPS Italy, or another Windows Virtual Dedicated Server Hosting solution, Joomla offers a robust CMS platform for building powerful websites.

Was this answer helpful? 0 Users Found This Useful (0 Votes)