GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Lighttpd con PHP, MariaDB e Lets Encrypt SSL su Debian 10

Lighttpd è un server web gratuito, open source e ad alta velocità appositamente progettato per ambienti critici per la velocità. Richiede un ingombro di memoria ridotto rispetto ad altri server Web, come Apache e Nginx e particolarmente veloce per l'esecuzione di applicazioni AJAX. Lighttpd ci permette anche di ospitare applicazioni web scritte in altri linguaggi di programmazione utilizzando le interfacce FastCGI, SCGI e CGI. Lighttpd è la scelta migliore per te se il tuo server ha problemi di carico.

In questo tutorial impareremo come installare Lighttpd su Debian 10 con supporto PHP-FPM e MariaDB e proteggeremo il server web con un certificato Let's Encrypt SSL.

Requisiti

  • Un server che esegue Debian 10.
  • È stata impostata una password di root sul tuo server.

Userò il nome di dominio example.com in questo tutorial. Sostituisci example.com in tutti i nomi di file e le impostazioni di configurazione con il tuo nome di dominio di seguito.

Per iniziare

Prima di iniziare, dovrai aggiornare il tuo sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:

apt-get update -y
apt-get upgrade -y

Una volta aggiornato il server, riavvia il server per applicare le modifiche.

Installa Lighttpd

Per impostazione predefinita, Lighttpd è disponibile nel repository predefinito di Debian 10. Puoi installarlo semplicemente eseguendo il seguente comando:

apt-get install lighttpd -y

Al termine dell'installazione, avvia il servizio Lighttpd e abilitalo all'avvio dopo il riavvio del sistema con il seguente comando:

systemctl start lighttpd
systemctl enable lighttpd

Puoi anche controllare lo stato di Lighttpd con il seguente comando:

systemctl status lighttpd

Dovresti ottenere il seguente output:

? lighttpd.service - Lighttpd Daemon
   Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-09-06 02:09:35 EDT; 29s ago
 Main PID: 4445 (lighttpd)
    Tasks: 1 (limit: 1138)
   Memory: 1.4M
   CGroup: /system.slice/lighttpd.service
           ??4445 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

Sep 06 02:09:35 debian systemd[1]: Starting Lighttpd Daemon...
Sep 06 02:09:35 debian systemd[1]: Started Lighttpd Daemon.
Sep 06 02:09:36 debian systemd[1]: /lib/systemd/system/lighttpd.service:6: PIDFile= references path below legacy directory /var/run/, updating 
lines 1-12/12 (END)

Una volta terminato, puoi procedere al passaggio successivo.

Installa il server MariaDB

Puoi installare il server MariaDB eseguendo il seguente comando:

apt-get install mariadb-server mariadb-client -y

Una volta installato, dovrai proteggere l'installazione di MariaDB. Puoi proteggerlo eseguendo il seguente script:

mysql_secure_installation
Answer all the questions as shown below:
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Una volta terminato, puoi procedere al passaggio successivo.

Installa PHP e PHP-FPM

Successivamente, dovrai installare PHP, PHP-FPM e FastCGI sul tuo sistema. Per impostazione predefinita, Debian 10 viene fornito con la versione PHP 7.3. Puoi installarlo semplicemente eseguendo il seguente comando:

apt-get install php php-cgi php-fpm php-mysql -y

Una volta installati tutti i pacchetti, dovrai modificare il file php.ini e impostare cgi.fix_pathinfo su 1. Puoi farlo con il seguente comando:

nano /etc/php/7.3/fpm/php.ini

Modifica la seguente riga:

cgi.fix_pathinfo=1

Salva e chiudi il file quando hai finito.

Per impostazione predefinita, PHP punta al socket UNIX /var/run/php/php7.3-fpm.sock. Quindi, dovrai configurare il pool PHP-FPM per impostare l'ascolto di PHP sul socket TCP.

Puoi farlo modificando il file /etc/php/7.3/fpm/pool.d/www.conf:

nano /etc/php/7.3/fpm/pool.d/www.conf

Trova la riga seguente:

listen = /run/php/php7.3-fpm.sock

E sostituiscilo con la seguente riga:

listen = 127.0.0.1:9000

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio PHP-FPM per applicare le modifiche alla configurazione:

systemctl restart php7.3-fpm

Successivamente, dovrai modificare il file 15-fastcgi-php.conf:

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

Trova le seguenti righe:

"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",

E sostituiscili con i seguenti:

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

Salva e chiudi il file quando hai finito. Quindi, abilita sia il modulo FastCGI che FastCHI-PHP con i seguenti comandi:

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

Infine, riavvia il servizio Lighttpd per applicare le modifiche:

systemctl restart lighttpd

Crea host virtuale Lighttpd

Successivamente, dovrai creare un nuovo file host virtuale per testare PHP con Lighttpd. Puoi crearlo con il seguente comando:

nano /etc/lighttpd/conf-available/example.com.conf

Aggiungi le seguenti righe:

$HTTP["host"] == "www.example.com" {
    server.document-root = "/var/www/html/"
    server.errorlog      = "/var/log/lighttpd/example.com-error.log"
}

Salva e chiudi il file quando hai finito. Quindi, abilita l'host virtuale con il seguente comando:

ln -s /etc/lighttpd/conf-available/example.com.conf /etc/lighttpd/conf-enabled/

Quindi, crea un file index.php di esempio nella directory principale del documento Lighttpd con il seguente comando:

nano /var/www/html/index.php

Aggiungi la seguente riga:

<?php phpinfo(); ?>

Salva e chiudi il file. Quindi, cambia la proprietà della directory principale del documento Lighttpd in www-data con il comando seguente:

chown -R www-data:www-data /var/www/html/

Infine, riavvia il servizio Lighttpd per applicare tutte le modifiche alla configurazione:

systemctl restart lighttpd

Sicurezza Lighttpd con Let's Encrypt Free SSL

Innanzitutto, dovrai installare lo strumento Certbot per proteggere il tuo server web con Let's Encrypt. Per impostazione predefinita, l'ultima versione di Certbot non è disponibile nel repository predefinito di Debian 10.

Puoi aggiungere il repository Certbot con il seguente comando:

apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot

Quindi, aggiorna il repository e installa Certbot con il seguente comando:

apt-get update -y
apt-get install certbot -y

Quindi, crea un certificato Let's Encrypt con il seguente comando:

certbot certonly --webroot -w /var/www/html/ -d www.example.com

Ti verrà chiesto di fornire il tuo indirizzo e-mail e di accettare i termini della licenza come mostrato di seguito:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Una volta che i certificati sono stati scaricati correttamente, dovresti vedere il seguente output:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-12-06. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Successivamente, dovrai combinare sia il certificato che la chiave privata in un unico file. Puoi farlo con il seguente comando:

cat /etc/letsencrypt/live/example.com/cert.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/letsencrypt/live/example.com/web.pem

Successivamente, dovrai modificare il file dell'host virtuale Lighttpd e definire il percorso del certificato SSL Let's Encrypt.

Puoi farlo con il seguente comando:

nano /etc/lighttpd/conf-enabled/example.com.conf

Modifica il file come mostrato di seguito:

$HTTP["host"] == "www.example.com" {
    server.document-root = "/var/www/html/"
}

$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/letsencrypt/live/example.com/web.pem" # Combined Certificate
ssl.ca-file = "/etc/letsencrypt/live/example.com/chain.pem" # Root CA
server.name = "www.example.com" # Domain Name OR Virtual Host Name
server.document-root = "/var/www/html/" # Document Root
server.errorlog = "/var/log/lighttpd/example.com_error.log"
accesslog.filename = "/var/log/lighttpd/example.com_access.log"
}

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

Salva e chiudi il file. Quindi riavvia il servizio Lighttpd per applicare le modifiche alla configurazione:

systemctl restart lighttpd

Accedi all'interfaccia Web Lighttpd

Lighttpd è installato e configurato con supporto PHP e PHP-FPM. Ora è il momento di testarlo.

Apri il tuo browser web e digita l'URL https://www.example.com. Verrai reindirizzato alla seguente pagina:

La pagina sopra indica che PHP funziona bene con FastCGI.

Conclusione

Congratulazioni! hai installato e configurato correttamente il server Web Lighttpd con supporto PHP-FPM e FastCGI su Debian 10. Ora puoi ospitare il tuo server Web con facilità. Per ulteriori informazioni, visita la pagina della documentazione ufficiale di Lighttpd su Lighttpd Doc.


Debian
  1. Installa Automad CMS con Nginx e Lets Encrypt SSL su Debian 10

  2. Come installare Tiki Wiki con Apache e Lets crittografa SSL su Debian 10

  3. Come installare Automatad CMS con Apache e Lets crittografare su Debian 10

  4. Come installare ElkArte Forum con Apache e Lets Encrypt su Debian 10

  5. Come installare OpenCart con Nginx e Lets Encrypt su Debian 10

Come installare Etherpad con Nginx e SSL su Debian 11

Come installare Shopware con NGINX e Lets crittografare su Debian 9

Come installare MyBB Forum con Nginx e Lets Encrypt su Debian 10

Come installare Wekan Kanban con Nginx e Lets Encrypt SSL su Debian 10

Installa Lighttpd con PHP FPM e MariaDB (LLMP) su Debian 9

Come installare Lighttpd con PHP e MariaDB su Ubuntu 15.04