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:
- An Ubuntu 20.04 LTS server, which could be hosted on a UK Windows VPS, Windows Virtual Private Servers, or another Windows VPS Hosting UK solution.
- A domain name pointed to your server's IP address.
- Root or sudo privileges on your server.
- A LAMP stack (Linux, Apache, MySQL/MariaDB, PHP) installed on your server.
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.