class | title | date | layout | author | author_github | coauthor | coauthor_github | tags | |
---|---|---|---|---|---|---|---|---|---|
post |
#howto - Installazione di Lighttpd con php-fpm su CentOS 8/RHEL 8 |
2020-09-28 |
post |
Mirko B. |
mirkobrombin |
linuxhub |
linuxhubit |
|
Lighttpd è un web server Open source, semplice da configurare e promette alte performance ad un costo minimo in termini di risorse.
La sua versatilità gli permette di girare su hardware di ogni tipo, sia ad alte che basse prestazioni. In questa guida vedremo come installarlo su CentOS e RHEL 8 assieme a php-fpm, che sarà utilizzato per processare file PHP.
Per prima cosa dobbiamo installare le repository EPEL (Extract Packages for Enterprise Linux), sia su CentOS 8 che RHEL 8:
dnf install epel-release
Proseguiamo quindi con l'installazione del pacchetto lighttpd:
dnf install lighttpd
una volta fatto ciò verifichiamo la corretta installazione tramite il comando lighttpd
:
lighttpd -v
Infine abilitiamo ed avviamo il servizio via systemctl:
systemctl enable lighttpd
systemctl start lighttpd
Su CentOS e RHEL troviamo firewalld come Firewall, questo va configurato per il corretto funzionamento di lighttpd
. Andremo ad aprire le porte per il servizio http
, con la regola:
firewall-cmd --add-service=http --permanent
quindi riavviamo firewalld:
firewall-cmd --reload
Lighttpd è ora in ascolto sulla porta :80 del server, visitando quindi l'indirizzo IP pubblico ci si dovrebbe presentare la pagina informativa del server nel caso in cui tutto fosse andato come previsto.
Per distribuire applicativi PHP con Lighttpd è necessario configurare php-fpm. Prima di tutto installiamo php
, php-fpm
e tutti i pacchetti di uso comune:
dnf install php php-fpm lighttpd-fastcgi php-mysqlnd php-pdo php-gd php-mbstring
Abilitiamo il servizio via systemctl:
systemctl enable php-fpm
Modifichiamo la configurazione di php-fpm in locazione /etc/php-fpm.d/www.conf
:
nano /etc/php-fpm.d/www.conf
e modifichiamo come segue:
..
user = lighttpd
group = lighttpd
listen = 127.0.0.1:9000
..
Modifichiamo il file in locazione /etc/php.ini
:
nano /etc/php.ini
eliminando il commento dalla seguente riga:
..
cgi.fix_pathinfo=1
..
Infine avviamo il servizio:
systemctl start php-fpm
Ora dobbiamo abilitare il modulo mod_fastcgi in /etc/lighttpd/modules.conf
, eliminando il commento come segue:
..
include "conf.d/fastcgi.conf"
..
Procediamo con la sua configurazione, creiamo o modifichiamo il file in posizione /etc/lighttpd/conf.d/fastcgi.conf
:
nano /etc/lighttpd/conf.d/fastcgi.conf
il quale deve contenere il seguente contenuto:
fastcgi.server = ( ".php" =>
((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",
"max-procs" => 4,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "",
"PHP_FCGI_MAX_REQUESTS" => "500"
),
"broken-scriptfilename" => "enable"
))
)
Creiamo il percorso /var/run/lighttpd
:
mkdir -p /var/run/lighttpd
ed impostiamo i permessi corretti:
chown -R lighttpd:lighttpd /var/run/lighttpd
Infine riavviamo il servizio:
systemctl restart lighttpd
Possiamo testare il corretto funzionamento creando un nuovo file in posizione /var/www/lighttpd/
, ad esempio:
echo "<?php phpinfo();" > /var/www/lighttpd/test.php
Visitiamo la pagina per verificarne il funzionamento.