How to install Lighttpd and PHP 8 on Debian Bullseye
 
                            Lighttpd is a secure, fast, standards-compliant web server designed for speed-critical environments. This tutorial will show how we can install Lighttpd web server on an Debian Bullseye server with PHP 8 module through PHP-FPM. PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites. In this tutorial we'll use PHP-FPM instead of Lighttpd's spawn-fcgi.
In this tutorial I use the hostname kecoak with the IP address 10.10.10.228. You may have different settings, so you have to replace them where appropriate.
Getting Started
As usual, before proceed with actual installation, make sure that your system packages are up-to-date. Run the commands below to perform system package update and upgrade.
$ sudo apt update
$ sudo apt upgrade
Now we're ready to proceed with installation.
Lighttpd Installation
After the system is ready, we'll continue with Lighttpd installation:
$ sudo apt install lighttpdWhen the installation process is done, open your web browser and go to http://10.10.10.228/index.lighttpd.html (your IP might differs). You should see Lighttpd welcome page like below:

Lighttpd’s default document root is /var/www/html on Debian, and the configuration file is /etc/lighttpd/lighttpd.conf. Additional configurations are stored in files in the /etc/lighttpd/conf-available directory – these configurations can be enabled with the lighttpd-enable-mod command which creates a symlink from the /etc/lighttpd/conf-enabled directory to the appropriate configuration file in /etc/lighttpd/conf-available. You can disable configurations with the lighttpd-disable-mod command.
PHP 8 Installation
Next, we'll continue with PHP 8 installation. Back to terminal, enter this command:
$ sudo apt install php8.0-fpmPHP-FPM is a daemon process (with the init script php8.0-fpm) that runs a FastCGI server on the socket /var/run/php/php8.0-fpm.sock.
Lighttpd PHP-FPM configuration
To enable PHP8 in Lighttpd, we must modify /etc/php/8.0/fpm/php.ini and uncomment the line cgi.fix_pathinfo=1. In my php.ini file, I found it on line 807. To uncomment, just remove the semicolon in the beginning.
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
Next, we need to adjust the file /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf with correct value. 
fastcgi.server += ( ".php" =>
((
"socket" => "/run/php/php8.0-fpm.sock",
"broken-scriptfilename" => "enable"
))
)
After finished editing, save the file and then enable it in Lighttpd. 
$ cd /etc/lighttpd/conf-available/
$ sudo lighttpd-enable-mod fastcgi-php-fpm
We need to reload Lighttpd so it load our new configuration.
$ sudo service lighttpd force-reloadVerify Installation
Let's verify our PHP installation using Lighttpd web server. Create a new file: /var/www/html/index.php
<?php
phpinfo();
?>
Save the file and then open this URL in web browser: http://10.10.10.228/index.php. You should see something like this:

Final Words
I hope that you now know how to install PHP 8 and Lighttpd Web Server on Debian Bullseye. If you run into any issues or have any feedback feel free to drop a comment below.
 
                                                                                                            