In this blog post, we will show you how to install Joomla on Ubuntu 24.04 OS. Joomla is an open-source and free content management system (CMS) written in PHP used for building and managing websites and web applications. Joomla uses the MVC (Model-View-Controller) framework, meaning it separates logic, display, and data to facilitate extensibility. The data is stored in a MySQL/MariaDB relational database system. Joomla offers a variety of features such as flexibility and extensibility, multilingual support, user-friendliness for administrators, and is used for small business websites, e-commerce sites, blogs, newspapers, etc.
Installing Joomla on Ubuntu 24.04 is a straightforward process that may take up to 15 minutes. Let’s get started!
Prerequisites
- A server running Ubuntu 24.04 OS
- User privileges: root or non-root user with sudo privileges
- A valid domain with pointed A record to the server
Step 1. Update the System
Before we start with the installation of Joomla and the LAMP stack, we will update the system packages to their latest versions. Execute the following command:
sudo apt update -y && sudo apt upgrade -y
Step 2. Install the LAMP Stack
LAMP stack stands for Linux, Apache, MySQL, and PHP. Joomla software can not work without this stack, because without this, we can not create a database, install Joomla, and configure the domain name. First, we will install the Apache web server. To do that, execute the following command:
sudo apt install apache2 -y
Once installed start and enable the Apache service:
sudo systemctl start apache2 && sudo systemctl enable apache2
Check the status of the service:
sudo systemctl status apache2
You should get the following output:
root@host:~# sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; preset: enabled)
Active: active (running) since Fri 2025-11-07 03:40:22 CST; 41s ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 2606 (apache2)
Tasks: 55 (limit: 4602)
Memory: 5.5M (peak: 6.3M)
CPU: 101ms
CGroup: /system.slice/apache2.service
Next of the LAMP stack will be the PHP with its extensions. To install it execute the following command:
sudo apt install php8.3 libapache2-mod-php8.3 php8.3-mbstring php8.3-mysql php8.3-fpm php8.3-xml php8.3-curl -y
Once installed execute the following command to check the PHP version:
php -v
You should get the following output:
root@host:~# php -v
PHP 8.3.6 (cli) (built: Jul 14 2025 18:30:55) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies
Last of the LAMP stack will be the MariaDB database service. To install it, execute the command below:
sudo apt install mariadb-server -y
Once installed start and enable the MariaDB service:
sudo systemctl start mariadb && sudo systemctl enable mariadb
Check the status of the service:
sudo systemctl status mariadb
You should get the following output:
root@host:~# sudo systemctl status mariadb
● mariadb.service - MariaDB 10.11.13 database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: enabled)
Active: active (running) since Fri 2025-11-07 03:45:44 CST; 41s ago
Docs: man:mariadbd(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 9132 (mariadbd)
Status: "Taking your SQL requests now..."
Tasks: 13 (limit: 30378)
Memory: 78.8M (peak: 82.0M)
CPU: 1.051s
CGroup: /system.slice/mariadb.service
└─9132 /usr/sbin/mariadbd
Step 3. Create Joomla Database and User
To create the Joomla database, database user and assign the privileges, log in to the MariaDB terminal and execute the following commands:
CREATE USER 'joomla'@'localhost' IDENTIFIED BY 'StrongPasswordHere';
CREATE DATABASE joomladb;
GRANT ALL PRIVILEGES ON joomladb.* TO 'joomla'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Step 4. Download and Install Joomla
Download the Joomla into the Apache document root:
mkdir /var/www/html/joomla
cd /var/www/html/joomla
wget https://downloads.joomla.org/cms/joomla4/4-4-14/Joomla_4-4-14-Stable-Full_Package.zip?format=zip -O /var/www/html/joomla/joomla.zip
unzip /var/www/html/joomla/joomla.zip -d /var/www/html/joomla
rm joomla.zip
Next is to set the correct permissions:
chown -R www-data:www-data /var/www/html/joomla/
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
Step 5. Create Apache Virtual Host File
Apache Configuration file for our Joomla installation is necessary if we want to access it via a domain name. To create the file execute the following command:
sudo touch /etc/apache2/sites-available/joomla.conf
Open the file and paste the following lines of code
<VirtualHost *:80>
ServerName yourdomainhere.com
DocumentRoot /var/www/html/joomla
<Directory /var/www/html/joomla>
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Save the file and close it.
Enable the Apache configuration files for WordPress along with the rewrite module.
sudo a2enmod rewrite
sudo a2ensite joomla.conf
sudo a2dissite 000-default.conf
Check the Apache2 syntax:
apachectl -t
You should receive the following output:
root@host:/var/www/html/joomla# apachectl -t
Syntax OK
If the syntax is OK, restartd the Apache service.
systemctl restart apache2
That’s it. Now you can access the Joomla at http://yourdomainhere.com
Step 6. Finish the Joomla Installation
Once you access the domain in the browser, you will get a screen where you will have to enter the name of your Joomla site:

Next, enter the name of the administrator, username, password, and email:

On the next screen, enter the database credentials you set in Step 3.

After clicking on the installation button, Joomla will be installed and you will receive the following screen:


Next, you can visit your website or log in to the admin dash. We will log in to the admin dash:


From the admin dashboard, you can access your website or configure a variety of settings.
Congratulations! You successfully installed Joomla on Ubuntu 24.04 OS
If you liked this post on how to install Joomla on Ubuntu 24.04, please share it with your friends on social networks or simply leave a reply below. Thanks.