,

Install Joomla with Lighttpd on Ubuntu 24.04

This article details the installation process of Joomla using Lighttpd on Ubuntu 24.04. It covers the setup of Lighttpd, MariaDB, and PHP-FPM, alongside creating a Joomla database and configuring virtual hosts. Additionally, it includes steps for implementing HTTPS with Let’s Encrypt SSL to secure the Joomla site.

This article explains how to install Joomla with Lighttpd support on Ubuntu 24.04.

Lighttpd is a lightweight web server designed for high-performance environments. It is particularly well-known for its efficient handling of many concurrent connections, making it an excellent choice for serving static content and dynamic applications with fast response times.

Joomla is a popular open-source CMS that enables users to build and manage websites quickly.

Combining Joomla and Lighttpd creates a powerful and efficient platform for managing and delivering web content, offering a dependable solution for your web development needs.

Install Lighttpd

Lighttpd packages are available in the default Ubuntu repositories and require no additional installations.

Run the command below to install Lighttpd.

sudo apt update
sudo apt install lighttpd

Once installed, the commands below can be used to start and enable the Lighttpd server services.

sudo systemctl start lighttpd
sudo systemctl enable lighttpd

Now that Lighttpd is installed, continue installing the database server below.

Install MariaDB

You will need a database server to run Joomla. A good open-source database is MariaDB.

Run the command below to install it.

sudo apt install mariadb-server

After installing the MariaDB database server, use the commands below to stop, start, and enable the MariaDB server to start when the server boots automatically.

sudo systemctl stop mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb

Run the following commands to validate and test if the MariaDB database server is installed successfully.

sudo mariadb

After executing the commands above, you will be logged into the MariaDB console, and a message similar to the one below will be displayed.

Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 32
Server version: 10.11.2-MariaDB-1 Ubuntu 23.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MariaDB [(none)]> 

The message tells you that the server is installed successfully.

Create a Joomla database

Upon successfully installing the MariaDB database server, create a blank database on the server specifically for the Joomla application.

As part of the setup, we will create a database named ‘joomladb ‘and a corresponding user account called ‘joomladbuser ‘.

Finally, we’ll grant the joomladbuser full access to the joomladb database.

All the database steps above can be done using the commands below:

But first, log on to the MariaDB database server:

sudo mariadb

Then run the commands below to complete the steps:

CREATE DATABASE joomladb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER joomladbuser@localhost IDENTIFIED BY 'type_your_password_here';
GRANT ALL ON joomladb.* TO joomladbuser@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

Ensure to replace ‘type_your_password_here‘ with your password.

Install PHP-FPM

The final component required to run Joomla is PHP-FPM. As a PHP application, Joomla supports the latest versions of PHP.

Run the commands below to install PHP-FPM.

sudo apt install php-fpm php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-json php-sqlite3 php-soap php-zip

Additional help on installing PHP

How to install PHP on Ubuntu Linux

After installing PHP-FPM, run the command below to enable PHP support for Lighttpd.

sudo lighty-enable-mod fastcgi fastcgi-php-fpm
sudo systemctl restart php8.3-fpm

Next, open the Lighttpd PHP configuration file [/etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf] and edit the PHP block to turn it on.

sudo nano /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf

Change the highlighted block to turn on PHP support and specify the PHP version [8.3] to use.

## Use PHP-FPM service for PHP via FastCGI
fastcgi.server += ( ".php" =>
((
"socket" => "/run/php/php8.3-fpm.sock",
"broken-scriptfilename" => "enable"
))
)

Restart Lighttpd.

sudo systemctl restart lighttpd

Set up Joomla vhost

You are now ready to set up your Joomla virtual host file.

Run the command below to create a virtual host directory and put the Joomla vhost file [joomla.conf] in it.

sudo mkdir /etc/lighttpd/vhosts.d
sudo nano /etc/lighttpd/vhosts.d/joomla.conf

Copy and paste the block below into the file. Update the domain name to match yours.

$HTTP["host"] =~ "(^|.)joomla.example.com$" {
server.document-root = "/var/www/joomla"
server.errorlog = "/var/log/lighttpd/joomla.local-error.log"
accesslog.filename = "/var/log/lighttpd/joomla.local-access.log"
}

Save and exit the file.

Next, open the main Lighttpd configuration file.

sudo nano /etc/lighttpd/lighttpd.conf

Then, add the line below into the file to include all virtual hosts in the vhost directory.

#Include the vhosts directory
include "/etc/lighttpd/vhosts.d/*.conf"

Save and exit the file.

Restart Lighttpd.

sudo systemctl restart lighttpd

Download Joomla

Let’s begin downloading and configuring the Joomla files on Ubuntu Linux.

First, navigate to the /tmp/ directory and download Joomla files. After unzipping the file, move the content into the Joomla folder in the Nginx root directory.

The final step is to change the permissions. This will allow the Lighttpd web server to safely interact with the files, ensuring a secure environment for your Joomla installation.

sudo mkdir -p /var/www/joomla
cd /tmp/
wget https://downloads.joomla.org/cms/joomla5/5-1-1/Joomla_5-1-1-Stable-Full_Package.zip
sudo unzip -d /var/www/joomla Joomla_*.zip
sudo chown -R www-data:www-data /var/www/joomla/

After that, open your web browser and browse to the domain name configured above to set up Joomla.

http://joomla.example.com

A Joomla installation wizard will appear. Select the installation language, enter the site name, and go to the next page.

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

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

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

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

Set up HTTPS

If you want to use HTTPS for your Joomla site, you can do that using the steps below.

First, go and obtain an SSL certificate for your server. If you don’t already have one, use the post below to learn how to get a Let’s Encrypt SSL certificate.

Generate a free Let’s Encrypt SSL certificate

After obtaining your certificate, open the Joomla virtual host file to edit it.

sudo nano /etc/lighttpd/vhosts.d/joomla.conf

Then, add the highlighted portion to the file.

$HTTP["scheme"] == "http" {
$HTTP["host"] == "joomla.example.com" {
url.redirect = ("/.*" => "https://joomla.example.com$0")
}
}

$SERVER["socket"] == ":443" {
ssl.engine = "enable"

ssl.pemfile = "/etc/letsencrypt/live/srv1.example.com/fullchain.pem"
ssl.privkey = "/etc/letsencrypt/live/srv1.example.com/privkey.pem"

server.name = "joomla.example.com"
server.document-root = "/var/www/joomla"
server.errorlog = "/var/log/lighttpd/joomla.local-error.log"
accesslog.filename = "/var/log/lighttpd/joomla.local-access.log"
}

Finally, enable the SSL module and restart Lighttpd.

sudo lighty-enable mod ssl
sudo systemctl restart lighttpd

That should do it!

Conclusion:

  • You have successfully installed Joomla on Ubuntu 24.04 with Lighttpd support, leveraging a powerful and efficient platform for your web content management needs.
  • Lighttpd is a lightweight web server that handles high traffic and concurrent connections.
  • MariaDB provides a robust database solution for your Joomla installation, ensuring seamless and reliable data management.
  • PHP-FPM enables efficient processing of PHP applications, enhancing the performance of your Joomla site.
  • Through this guide, you have set up a secure Joomla environment, including the configuration for HTTPS, ensuring your website is safe and accessible to users.
  • You are now ready to customize and expand your Joomla site with additional features to meet your requirements.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *