This article explains how to install Joomla with Lighttpd support on Ubuntu 24.04.
Lighttpd is a lightweight web server designed for high-performance environments. It is particularly well-known for its efficient handling of many concurrent connections, making it an excellent choice for serving static content and dynamic applications with fast response times.
Joomla is a popular open-source CMS that enables users to build and manage websites quickly.
Combining Joomla and Lighttpd creates a powerful and efficient platform for managing and delivering web content, offering a dependable solution for your web development needs.
Install Lighttpd
Lighttpd packages are available in the default Ubuntu repositories and require no additional installations.
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
You will need a database server to run Joomla. A good open-source database is MariaDB.
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
Upon successfully installing the MariaDB database server, create a blank database on the server specifically for the Joomla application.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
The final component required to run Joomla is PHP-FPM. As a PHP application, Joomla supports the latest versions of PHP.
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
You are now ready to set up your Joomla virtual host file.
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
Let’s begin downloading and configuring the Joomla files on Ubuntu Linux.
First, navigate to the /tmp/ directory and download Joomla files. After unzipping the file, move the content into the Joomla folder in the Nginx root directory.
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
If you want to use HTTPS for your Joomla site, you can do that using the steps below.
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.
Leave a Reply