How to Install Lighttpd on Debian 10

Install Lighttpd on Debian 10

In this article, we will have explained the necessary steps to install and setup Lighttpd on Debian 10. Before continuing with this tutorial, make sure you are logged in as a user with sudo privileges. All the commands in this tutorial should be run as a non-root user.

Lighttpd is a free, open-source and high-performance web server developed by Jan Kneschke. It has a low memory footprint when compared to other web servers and is specially designed for speed-critical environments. It is secure, fast, and can handle up to 10,000 connections in parallel on a single server. Lighttpd comes with a rich set of features, such as FastCGI, SCGI, Auth, URL-Rewriting, Output-Compression, event mechanism, and more.

Install Lighttpd on Debian 10

Step 1. The first command will update the package lists to ensure you get the latest version and dependencies.

sudo apt update
sudo apt upgrade

Step 2. Install Lighttpd on Debian 10.

Install Lighttpd from the Debian repository using the apt package manager:

sudo apt install lighttpd

After successfully install Lighttpd, start and enable the service to automatically start at boot time:

sudo systemctl start lighttpd
sudo systemctl enable lighttpd
sudo systemctl status lighttpd

Once it has been installed, we will be able to check the operation of it, opening a web browser and going to http://YOUR_SERVER_IP or http://localhost if we are in a local machine. Remember that this works through port 80 and it has to be available.

Step 3. Enabling the PHP support to Lighttpd.

The first step is to install PHP and some of its modules, to do this, use the following command:

sudo apt install php7.3 php7.3-fpm php7.3-mysql php7.3-cli php7.3-curl php7.3-xml

By default, PHP-FPM listens on the UNIX socket /var/run/php73-fpm.sock. So, we will need to modify the file /etc/php/7.3/fpm/pool.d/www.conf and set PHP-FPM to listens on TCP socket:

sudo nano /etc/php/7.3/fpm/pool.d/www.conf
listen = 127.0.0.1:9000

Save and close the file. Next, open the file 15-fastcg-php.conf to enable FastCGI support in Lighttpd:

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",

To

"host" => "127.0.0.1",
"port" => "9000",

Save and close the file. Then, enable FastCGI and FastCGI-PHP modules with the following command:

lighty-enable-mod fastcgi
lighty-enable-mod fastcgi-php

Finally, restart Lighttpd and PHP-FPM service to apply all the configuration changes:

sudo systemctl restart lighttpd
sudo systemctl restart php7.3-fpm

Step 4. Configure Firewall

Issue the following commands to allow HTTP (80) and HTPPS (443) request through the firewall:

ufw allow 80/tcp
ufw allow 443/tcp
ufw reload

Congratulation, you have learned how to install and configure Lighttpd on Debian Buster. If you have any question, please leave a comment below.