{"id":2592,"date":"2023-02-08T10:36:44","date_gmt":"2023-09-16T08:56:25","guid":{"rendered":""},"modified":"2025-02-02T00:46:18","modified_gmt":"2025-02-01T23:46:18","slug":"how-to-install-joomla-with-apache2-and-let-039-s-encrypt-on-ubuntu-20-04","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/knowledgebase\/how-to-install-joomla-with-apache2-and-let-039-s-encrypt-on-ubuntu-20-04\/","title":{"rendered":"Linux VPS &#038; VPS Windows Setup Guide | NetCloud24 Joomla with Apache2 and Let&#039;s Encrypt on Ubuntu 20.04"},"content":{"rendered":"<p>\u00a0<\/p>\n<\/p>\n<h1>\u00a0<\/h1>\n<p>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&#8217;s Encrypt SSL on Ubuntu 20.04. Whether you are using a  or any other hosting platform, Joomla offers a robust and flexible way to manage your web content.<\/p>\n<h2>Prerequisites<\/h2>\n<p>Before you begin, ensure you have the following:<\/p>\n<ul>\n<li>An Ubuntu 20.04 LTS server, which could be hosted on a <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">UK Windows VPS<\/a>, <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPSVirtual Private Servers<\/a>, or another <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPS Hosting UK<\/a> solution.<\/li>\n<li>A domain name pointed to your server&#8217;s IP address.<\/li>\n<li>Root or sudo privileges on your server.<\/li>\n<li>A LAMP stack (Linux, Apache, MySQL\/MariaDB, PHP) installed on your server.<\/li>\n<\/ul>\n<h2>Step 1: Update Your System<\/h2>\n<p>Start by updating your system to ensure all packages are up to date:<\/p>\n<pre><code>sudo apt update &amp;&amp; sudo apt upgrade -y<\/code><\/pre>\n<h2>Step 2: Install PHP and Required Extensions<\/h2>\n<p>Joomla requires PHP and several extensions to function. Install PHP and the necessary modules with the following command:<\/p>\n<pre><code>sudo apt install php libapache2-mod-php php-mysql php-curl php-gd php-xml php-mbstring php-zip php-json -y<\/code><\/pre>\n<h2>Step 3: Download Joomla<\/h2>\n<p>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:<\/p>\n<pre><code>wget https:\/\/downloads.joomla.org\/cms\/joomla3\/3-9-28\/Joomla_3-9-28-Stable-Full_Package.zip<\/code><\/pre>\n<p>After downloading, extract the Joomla archive to the Apache root directory:<\/p>\n<pre><code>sudo apt install unzip\r\nsudo unzip Joomla_3-9-28-Stable-Full_Package.zip -d \/var\/www\/html\/joomla<\/code><\/pre>\n<h2>Step 4: Configure Apache<\/h2>\n<p>Set the correct permissions for Joomla files and create a new Apache virtual host file:<\/p>\n<pre><code>sudo chown -R www-data:www-data \/var\/www\/html\/joomla\r\nsudo chmod -R 755 \/var\/www\/html\/joomla<\/code><\/pre>\n<p>Create a virtual host configuration file:<\/p>\n<pre><code>sudo nano \/etc\/apache2\/sites-available\/joomla.conf<\/code><\/pre>\n<p>Add the following content, replacing <code>your-domain.com<\/code> with your actual domain:<\/p>\n<pre><code>&lt;VirtualHost *:80&gt;\r\n    ServerAdmin admin@your-domain.com\r\n    ServerName your-domain.com\r\n    ServerAlias www.your-domain.com\r\n    DocumentRoot \/var\/www\/html\/joomla\r\n\r\n    &lt;Directory \/var\/www\/html\/joomla\/&gt;\r\n        Options FollowSymLinks\r\n        AllowOverride All\r\n        Require all granted\r\n    &lt;\/Directory&gt;\r\n\r\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\r\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\r\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<p>Enable the virtual host configuration and rewrite module:<\/p>\n<pre><code>sudo a2ensite joomla.conf\r\nsudo a2enmod rewrite\r\nsudo systemctl restart apache2<\/code><\/pre>\n<h2>Step 5: Create a Joomla Database<\/h2>\n<p>Log in to your MySQL or MariaDB server and create a database for Joomla:<\/p>\n<pre><code>sudo mysql -u root -p\r\nCREATE DATABASE joomla;\r\nCREATE USER 'joomlauser'@'localhost' IDENTIFIED BY 'your_password';\r\nGRANT ALL PRIVILEGES ON joomla.* TO 'joomlauser'@'localhost';\r\nFLUSH PRIVILEGES;\r\nEXIT;<\/code><\/pre>\n<h2>Step 6: Complete Joomla Installation<\/h2>\n<p>Open your web browser and navigate to <code>http:\/\/your-domain.com<\/code>. 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.<\/p>\n<h2>Step 7: Install Let&#8217;s Encrypt SSL<\/h2>\n<p>To secure your Joomla website with SSL, install Let&#8217;s Encrypt using Certbot:<\/p>\n<pre><code>sudo apt install certbot python3-certbot-apache -y\r\nsudo certbot --apache -d your-domain.com -d www.your-domain.com<\/code><\/pre>\n<p>Certbot will automatically obtain and install an SSL certificate for your domain, and configure Apache to redirect HTTP traffic to HTTPS.<\/p>\n<h2>Step 8: Verify SSL<\/h2>\n<p>After setting up Let&#8217;s Encrypt, you can verify that your Joomla website is using SSL by navigating to <code>https:\/\/your-domain.com<\/code>. You should see a padlock icon in the browser address bar, indicating that your connection is secure.<\/p>\n<h2>Conclusion<\/h2>\n<p>By following this guide, you have successfully installed Joomla with Apache2 and Let&#8217;s Encrypt SSL on Ubuntu 20.04 LTS. Whether you&#8217;re hosting your Joomla site on a , <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Microsoft SQL VPS Windows<\/a>, or another <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPS<\/a> solution, Joomla offers a robust CMS platform for building powerful websites.<\/p>\n<footer>\n<p>For more VPS hosting options, visit . They offer a variety of <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPSVirtual Private Servers<\/a> and <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">Windows VPS Hosting UK<\/a> solutions tailored to your needs.<\/p>\n<\/footer>\n<div class=\"post-author-box\" style=\"border-top:1px solid #ddd;margin-top:20px;padding-top:15px;\">\n<p><strong>Author:<\/strong> \u0141ukasz Bodziony<\/p>\n<p><strong>Website:<\/strong> <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a><\/p>\n<p><em>\u0141ukasz Bodziony is the CEO and founder of <a href=\"https:\/\/netcloud24.com\" target=\"_blank\" rel=\"dofollow\">NETCLOUD24<\/a>, a global VPS hosting brand proudly originating from Poland. With extensive experience in cloud computing, virtualization, and server management, he delivers high-performance <strong>Windows VPS<\/strong> and <strong>Remote Desktop Services (RDS)<\/strong> solutions to clients across Europe, North America, and beyond.<\/em><\/p>\n<p><em>His expertise covers a wide range of technologies, including <strong>Microsoft Azure<\/strong>, <strong>Proxmox VE<\/strong>, <strong>Amazon Web Services (AWS)<\/strong>, and numerous other virtualization and cloud platforms.<\/em><\/p>\n<p><em>Beyond running his hosting business, \u0141ukasz also provides <strong>professional paid server configuration and optimization services<\/strong> for companies and individuals. Outside of work, he is dedicated to caring for his children and building a secure future for them.<\/em><\/p>\n<p><em>If you are interested in working with him or need expert assistance with your hosting, cloud environment, or server setup, feel free to reach out via <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a>.<\/em><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 \u00a0 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\u2026<\/p>\n","protected":false},"author":1,"featured_media":3421,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[],"tags":[14,12,11,23,20,21,22,17,7,8,6,10,18,19,15,24,16,5,13,9],"class_list":["post-2592","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cheapvps","tag-cloudvps","tag-hostingvps","tag-rds","tag-rdscal","tag-remotedesktop","tag-remotedesktopvps","tag-servervps","tag-ukvps","tag-virtualserver","tag-vpshosting","tag-vpsserver","tag-vpssolutions","tag-vpswindows","tag-vpswithwindows","tag-windowsrds","tag-windowsserver","tag-windowsvps","tag-windowsvpshosting","tag-windowsvpsuk"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/2592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=2592"}],"version-history":[{"count":0,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/2592\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media\/3421"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=2592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=2592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=2592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}