Install Joomla with Lighttpd on Ubuntu 24.04
Installing Joomla with the Lighttpd web server on Ubuntu 24.04 involves setting up three key components: the Lighttpd web server itself, a MariaDB database, and then the Joomla 5.x application.
Lighttpd is a web server known for being fast and using minimal computer resources, making it great for hosting websites efficiently. Joomla is a popular free tool that lets you build and manage dynamic websites, like blogs or business sites.
Following these steps will give you a speedy setup for your Joomla website on Ubuntu 24.04 LTS, with Lighttpd and Joomla 5.x working together.
Install Joomla on Ubuntu 24.04 by installing Lighttpd, MariaDB, and PHP-FPM. Configure Lighttpd to use PHP-FPM, create a Joomla database, and then download and configure the Joomla application.
Install Lighttpd
You can easily install the Lighttpd web server on Ubuntu 24.04 using a simple command because it’s in the standard software sources. After installing Lighttpd, you’ll start the service and set it to run automatically every time your server starts up.
Run the command below to install Lighttpd.
sudo apt update
sudo apt install lighttpd
Once installed, the commands below can be used to start and enable the Lighttpd server services.
sudo systemctl start lighttpd
sudo systemctl enable lighttpd
Now that Lighttpd is installed, continue installing the database server below.
Install MariaDB
MariaDB is a solid database choice for Joomla, and you can install it on Ubuntu 24.04 with the apt command. This process sets up the MariaDB server, which you can then manage using systemctl to stop, start, or make sure it boots up automatically when your server turns on.
Run the command below to install it.
sudo apt install mariadb-server
After installing the MariaDB database server, use the commands below to stop, start, and enable the MariaDB server to start when the server boots automatically.
sudo systemctl stop mariadb sudo systemctl start mariadb sudo systemctl enable mariadb
Run the following commands to validate and test if the MariaDB database server is installed successfully.
sudo mariadb
After executing the commands above, you will be logged into the MariaDB console, and a message similar to the one below will be displayed.
Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 32 Server version: 10.11.2-MariaDB-1 Ubuntu 23.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>
The message tells you that the server is installed successfully.
Create a Joomla database
After installing MariaDB, you need to create a specific database for your Joomla site. This involves making a new database, setting up a user just for it, and giving that user all the needed permissions so Joomla can safely store and get its information.
As part of the setup, we will create a database named ‘joomladb ‘and a corresponding user account called ‘joomladbuser ‘.
Finally, we’ll grant the joomladbuser full access to the joomladb database.
All the database steps above can be done using the commands below:
But first, log on to the MariaDB database server:
sudo mariadb
Then run the commands below to complete the steps:
CREATE DATABASE joomladb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER joomladbuser@localhost IDENTIFIED BY 'type_your_password_here';
GRANT ALL ON joomladb.* TO joomladbuser@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
Install PHP-FPM
PHP-FPM is needed to run Joomla because Joomla is built with PHP. Installing PHP-FPM and common extensions ensures all of Joomla’s features work correctly. This step gets your server ready to handle PHP code efficiently for your Joomla website.
Run the commands below to install PHP-FPM.
sudo apt install php-fpm php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-json php-sqlite3 php-soap php-zip
Additional help on installing PHP
How to install PHP on Ubuntu Linux
After installing PHP-FPM, run the command below to enable PHP support for Lighttpd.
sudo lighty-enable-mod fastcgi fastcgi-php-fpm
sudo systemctl restart php8.3-fpm
Next, open the Lighttpd PHP configuration file [/etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf] and edit the PHP block to turn it on.
sudo nano /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf
Change the highlighted block to turn on PHP support and specify the PHP version [8.3] to use.
## Use PHP-FPM service for PHP via FastCGI
fastcgi.server += ( ".php" =>
((
"socket" => "/run/php/php8.3-fpm.sock",
"broken-scriptfilename" => "enable"
))
)
Restart Lighttpd.
sudo systemctl restart lighttpd
Set up Joomla vhost
Setting up a virtual host for your Joomla site with Lighttpd on Ubuntu 24.04 means creating a special folder and a configuration file. This file, called joomla.conf, tells the Lighttpd web server how to show your Joomla website’s files and handle requests.
Run the command below to create a virtual host directory and put the Joomla vhost file [joomla.conf] in it.
sudo mkdir /etc/lighttpd/vhosts.d
sudo nano /etc/lighttpd/vhosts.d/joomla.conf
Copy and paste the block below into the file. Update the domain name to match yours.
$HTTP["host"] =~ "(^|.)joomla.example.com$" {
server.document-root = "/var/www/joomla"
server.errorlog = "/var/log/lighttpd/joomla.local-error.log"
accesslog.filename = "/var/log/lighttpd/joomla.local-access.log"
}Save and exit the file.
Next, open the main Lighttpd configuration file.
sudo nano /etc/lighttpd/lighttpd.conf
Then, add the line below into the file to include all virtual hosts in the vhost directory.
#Include the vhosts directory
include "/etc/lighttpd/vhosts.d/*.conf"
Save and exit the file.
Restart Lighttpd.
sudo systemctl restart lighttpd
Download Joomla
To download Joomla files on your Ubuntu server, you’ll get the newest version, unpack it, and put it in the right folder for your website. You then need to set the correct file permissions so the web server can access and run Joomla properly, making your site visible online.
The final step is to change the permissions. This will allow the Lighttpd web server to safely interact with the files, ensuring a secure environment for your Joomla installation.
sudo mkdir -p /var/www/joomla
cd /tmp/
wget https://downloads.joomla.org/cms/joomla5/5-1-1/Joomla_5-1-1-Stable-Full_Package.zip
sudo unzip -d /var/www/joomla Joomla_*.zip
sudo chown -R www-data:www-data /var/www/joomla/
After that, open your web browser and browse to the domain name configured above to set up Joomla.
http://joomla.example.com
A Joomla installation wizard will appear. Select the installation language, enter the site name, and go to the next page.

Next, enter your name, username, and password for your account, along with your email address, and proceed to the next page.

On the next page, type in the database name, username, and password created above. Then, click “Install Joomla.”

Your new Joomla site should be created and ready to use.

Your new Joomla site should be created and ready to use.
Set up HTTPS
Making your Joomla site secure with HTTPS is very important. You can get a free SSL certificate from Let’s Encrypt for this. After getting your certificate, you’ll update your Joomla virtual host file to use it, ensuring all website traffic is encrypted and safe.
First, go and obtain an SSL certificate for your server. If you don’t already have one, use the post below to learn how to get a Let’s Encrypt SSL certificate.
Generate a free Let’s Encrypt SSL certificate
After obtaining your certificate, open the Joomla virtual host file to edit it.
sudo nano /etc/lighttpd/vhosts.d/joomla.conf
Then, add the highlighted portion to the file.
$HTTP["scheme"] == "http" {
$HTTP["host"] == "joomla.example.com" {
url.redirect = ("/.*" => "https://joomla.example.com$0")
}
}
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/letsencrypt/live/srv1.example.com/fullchain.pem"
ssl.privkey = "/etc/letsencrypt/live/srv1.example.com/privkey.pem"
server.name = "joomla.example.com"
server.document-root = "/var/www/joomla"
server.errorlog = "/var/log/lighttpd/joomla.local-error.log"
accesslog.filename = "/var/log/lighttpd/joomla.local-access.log"
}Finally, enable the SSL module and restart Lighttpd.
sudo lighty-enable mod ssl
sudo systemctl restart lighttpd
That should do it!
Conclusion:
- You have successfully installed Joomla on Ubuntu 24.04 with Lighttpd support, leveraging a powerful and efficient platform for your web content management needs.
- Lighttpd is a lightweight web server that handles high traffic and concurrent connections.
- MariaDB provides a robust database solution for your Joomla installation, ensuring seamless and reliable data management.
- PHP-FPM enables efficient processing of PHP applications, enhancing the performance of your Joomla site.
- Through this guide, you have set up a secure Joomla environment, including the configuration for HTTPS, ensuring your website is safe and accessible to users.
- You are now ready to customize and expand your Joomla site with additional features to meet your requirements.
- First, open your terminal and update your package list with
sudo apt update. - Next, install the Lighttpd web server by running
sudo apt install lighttpd. - After it’s installed, start the Lighttpd service using
sudo systemctl start lighttpd. - To make sure Lighttpd starts automatically when your server boots up, run
sudo systemctl enable lighttpd. - Then, install the MariaDB database server with
sudo apt install mariadb-server. - Start and enable the MariaDB service with
sudo systemctl start mariadbandsudo systemctl enable mariadb. - Log into MariaDB to create a database for Joomla (e.g.,
joomladb) and a user for it (e.g.,joomladbuser), giving the user full permissions. - Finally, you’ll deploy the Joomla 5.x application.
Was this guide helpful?
About the Author
Richard
Tech Writer, IT Professional
Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.
No comments yet — be the first to share your thoughts!