How to Install Joomla with Lighttpd on Ubuntu 24.04
Set up Joomla vhost
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
You then need to set the correct file permissions so the web server can access and run Joomla properly, making your site visible online.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
You then need to set the correct file permissions so the web server can access and run Joomla properly, making your site visible online.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Create a Joomla database
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
You then need to set the correct file permissions so the web server can access and run Joomla properly, making your site visible online.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Download Joomla
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Set up Joomla vhost
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Create a Joomla database
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Download Joomla
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Create a Joomla database
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Set up Joomla vhost
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Create a Joomla database
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Create a Joomla database
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Download Joomla
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Create a Joomla database
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Set up Joomla vhost
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Create a Joomla database
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Download Joomla
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Set up Joomla vhost
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Create a Joomla database
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
This tutorial installs Joomla on Ubuntu 24.04 with the Lighttpd web server. Lighttpd is a slim server built to handle traffic quickly on very little memory. Joomla is a free content management system for building and running websites.
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.
Pairing Lighttpd with Joomla 5.x and a MariaDB database gives you a fast alternative to Apache. It suits a small VPS or any low-resource server where you want to keep memory use down. You need a user with sudo rights and, ideally, a domain name that points at the server.
The overview below shows the whole job in order. The later sections go through the Lighttpd and database parts in more detail.
- Update the server's package list by running
sudo apt update. This makes sure you install current package versions. - Install the Lighttpd web server with
sudo apt install lighttpd. - Start the Lighttpd service with
sudo systemctl start lighttpd. - Enable it at boot with
sudo systemctl enable lighttpd. - Install the MariaDB database server by running
sudo apt install mariadb-server. - Start the MariaDB service with
sudo systemctl start mariadb. - Enable MariaDB at boot with
sudo systemctl enable mariadb. - Log into the MariaDB shell with
sudo mariadb. - Create a database for Joomla, for example
joomladb. - Create a database user, for example
joomladbuser, and grant that user full permissions on the Joomla database only. Use a long, unique password. - Install PHP-FPM and the extensions Joomla needs with
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-sqlite3 php-soap. Ubuntu 24.04 ships PHP 8.3, which Joomla 5.x supports. - Enable PHP support for Lighttpd by running
sudo lighty-enable-mod fastcgi fastcgi-php-fpm. - Restart the PHP-FPM service with
sudo systemctl restart php8.3-fpmso the change takes effect. - Edit
/etc/lighttpd/conf-available/15-fastcgi-php-fpm.confso Lighttpd passes PHP files to PHP-FPM. - Restart Lighttpd with
sudo systemctl restart lighttpdto load the new configuration. - Create a directory for your Joomla site, for example
/var/www/joomla. - Create the virtual host configuration file at
/etc/lighttpd/vhosts.d/joomla.conf. - Download the latest Joomla package to the server and unzip it into your Joomla directory, for example
/var/www/joomla. - Set ownership of the Joomla files to
www-datausingsudo chown -R www-data:www-data /var/www/joomla/. The web server must own these files so Joomla can write its configuration and upload files. - Open your web browser and go to your Joomla site's domain name. You should see the Joomla setup wizard. Follow it to finish the installation.
Install Lighttpd
Lighttpd is in the standard Ubuntu 24.04 software sources, so you can install it with the package manager. You do not need to add a third-party repository.
Before you start, update your package list as in step 1 above. Run the commands in a terminal as a user with sudo rights. If Apache or another web server is already installed and listening on port 80, stop or remove it first. Otherwise Lighttpd will fail to start because the port is taken.
Run the command below to install Lighttpd.
sudo apt update
sudo apt install lighttpd
On Ubuntu, the package usually starts the service as soon as it installs. Run the commands below anyway. They start the Lighttpd service and enable it, so it comes back on its own after every reboot.
sudo systemctl start lighttpd
sudo systemctl enable lighttpd
To check that it works, open http://your-server-IP in a browser. You should see the default Lighttpd placeholder page. If the page does not load, check that the service is running. If the server has a firewall, make sure it allows web traffic on port 80 (and 443 if you plan to add HTTPS later).
Now that Lighttpd is installed, continue with the database server. Joomla stores all its content and settings in the database, so MariaDB needs to be running before you start the web installer. Run the commands below in order, one block at a time, and read any prompts they show.
Set up HTTPS
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Download Joomla
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Set up Joomla vhost
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Create a Joomla database
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Install MariaDB
Install MariaDB on Ubuntu 24.04 by running the package manager command in your terminal to set up the database server that stores your Joomla content. MariaDB runs reliably and handles all user data, posts, and settings for your website behind the scenes.
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
Create a Joomla database in MariaDB by logging into the database shell as the root user and running SQL commands to make a new database and user. This step connects your upcoming website files to a secure storage space where all content and user accounts live.
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
Ensure to replace ‘type_your_password_here‘ with your password.
Install PHP-FPM
Install PHP-FPM and required extensions on Ubuntu 24.04 using the apt command to process the dynamic PHP code that powers Joomla. PHP-FPM (FastCGI Process Manager) works alongside Lighttpd to load your web pages quickly and handle multiple visitors at the same time.
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-sqlite3 php-soap
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
Set up a Joomla virtual host in Lighttpd by creating a dedicated configuration file that points the web server to your website files and handles URL rewrites. A virtual host tells Lighttpd how to respond when visitors type your domain name into their web browsers.
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
Download the latest version of Joomla directly to your Ubuntu server using the wget tool, extract the archive, and place the files in your web root directory. Setting the correct file permissions after this step allows Lighttpd to read and write your site files without errors.
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.
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
Set up HTTPS on your Lighttpd server using a free Let's Encrypt SSL certificate to encrypt all traffic between your visitors and your Joomla website. Configuring SSL protects user passwords and personal data from being intercepted while browsing your pages.
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.
Write down the database name, user name and password you create. The Joomla setup wizard asks for them later. If a command returns an error, fix it before moving on. A mistake in the database step will only show up later as a failed connection in the web installer.
Have a question about this guide?
Answered by AI from this guide. Good questions may be added to this page — please don't include personal details.
Did this guide fix your problem?
About the Author
Richard
Tech Writer, IT Professional
Richard is a writer at Geek Rewind who turns complex IT tasks into clear, step-by-step guides. He draws on years of hands-on experience in system administration and enterprise IT operations, focusing on Windows, Linux and WordPress: the problems people actually run into, and the fixes that work. His server and WordPress guides come from systems he runs himself. Richard builds and maintains the platform behind Geek Rewind, from its Ubuntu servers and Nginx configuration to its custom WordPress plugins. Many new tutorials start with readers' questions, and he's always glad to answer them in the comments.
No comments yet — be the first to share your thoughts!