Configura un server Ubuntu 20.04 con Lighttpd, MySQL e PHP-FPM
Lighttpd è un server web open source veloce e flessibile con prestazioni paragonabili a Nginx. Per ospitare applicazioni PHP come WordPress, Magento, ecc. su un server Lighttpd, devi configurare uno stack LLMP sul tuo server. LLMP sta per Linux, Lighttpd, MySQL e PHP.
Grazie alle prestazioni di Lighttpd, uno stack LLMP supera facilmente una configurazione LAMP (Apache) su un dato volume di traffico. Per quanto riguarda LLMP vs LEMP (Nginx), le prestazioni sono per lo più simili. Ma Nginx è una scelta più popolare tra le masse, c'è un eccellente supporto della comunità per le configurazioni LEMP.
Se stai cercando un server per gestire carichi di traffico con un consumo minimo di memoria, una configurazione LLMP è una buona scelta. In questa guida, vedremo come installare lo stack LLMP su una macchina Ubuntu 20.04 LTS.
Prerequisiti
Avrai bisogno di un server Ubuntu 20.04 LTS e di aver effettuato l'accesso come a sudo
utente abilitato. Dovrai anche avere una conoscenza di base dei comandi di Linux.
Prima di iniziare, aggiorna e aggiorna i pacchetti sul tuo server Ubuntu 20.04 emettendo il comando seguente:
sudo apt-get update && apt-get upgrade
Installa il server web Lighttpd
Per installare il server web Lighttpd sulla tua macchina Ubuntu 20.04, inserisci il seguente comando nel tuo terminale.
sudo apt-install lighttpd
Una volta completato il processo di installazione, digita i seguenti comandi per avviare e abilitare il server web Lighttpd.
systemctl avvia lighttpd systemctl abilita lighttpd
Per verificare lo stato del server Lighttpd, digita il comando mostrato di seguito.
stato systemctl lighttpd
Suggerimento: Per rimuovere l'ultima riga con (END) scritto sopra, premere ESC
e Q
per poter inserire ulteriori comandi.
Ora configureremo il servizio HTTP, HTTPS e SSH nel firewall UFW. UFW è lo strumento di configurazione del firewall predefinito per Ubuntu, chiamato anche Uncomplicated Firewall. Digita i seguenti comandi e premi invio uno per uno.
sudo ufw consentire ssh sudo ufw consentire http sudo ufw consentire https
Abilita il firewall UFW emettendo il seguente comando:
sudo ufw enable
Se viene visualizzato il messaggio "Il comando potrebbe interrompere le connessioni ssh esistenti", digitare sì
e colpisci accedere
.
Per verificare l'installazione di Lighttpd, accedere al server tramite il suo indirizzo IP in un browser web. Se mostra la seguente schermata, significa che il tuo server web Lighttpd è stato installato correttamente sul tuo computer Ubuntu 20.04.
Installa e configura il server MySQL
MySQL è un sistema di gestione di database relazionali basato su un linguaggio di query strutturato. Per installare il server e il client MySQL su Ubuntu 20.04, copia/incolla il seguente comando e premi accedere
.
sudo apt-get install mysql-server mysql-client
Ti verrà chiesto con un messaggio che questa operazione richiederà 247 MB di spazio su disco aggiuntivo dopo l'installazione. Quindi, digita sì
e colpisci accedere
.
Una volta completato il processo di installazione, avvia e abilita il server MySQL e aggiungilo all'avvio del sistema emettendo i seguenti comandi uno per uno.
systemctl avvia mysql systemctl abilita mysql
Vedrai il seguente messaggio sullo schermo:
Per verificare lo stato del tuo servizio MySQL, digita il seguente comando nel terminale. Il mysql.service
lo stato dovrebbe essere "attivo (in esecuzione).
stato systemctl mysql
Per configurare le impostazioni di sicurezza di MySQL, eseguiremo uno script di sicurezza fornito con il pacchetto MySQL. Digita il seguente comando e premi invio per eseguire lo script.
mysql_secure_installation
Il comando precedente ti chiederà alcune domande per configurare il server MySQL.
Ti verrà chiesto di impostare la password utilizzando CONVALIDA COMPONENTE PASSWORD
. Questo plugin ti aiuterà a impostare una password sicura per i tuoi database MySQL. premere sì
e premi invio per abilitare questo plugin. Tipo 0
, 1
, o 2
per scegliere la politica di convalida della password che determina il livello di sicurezza della password.
Inserisci una password complessa, il CONVALIDA PASSWORD
plugin ti dirà la forza stimata della tua password. premere sì
e colpisci accedere
.
Dopo aver impostato una password sicura, configurare il resto della configurazione come spiegato di seguito.
- Rimuovi gli utenti anonimi - Accedere
y|Y
Perché MySQL per impostazione predefinita contiene un utente anonimo che consente a chiunque di connettersi al server MySQL senza avere l'account utente. Pertanto, rimuoverlo.
- Non consentire l'accesso root in remoto - Accedere
y|Y
Perché root dovrebbe essere consentito solo da "localhost". Assicura che qualcuno non possa accedere come root al di fuori della tua rete.
- Rimuovere il database di prova e accedervi? - Accedere
y|Y
Perché MySQL viene fornito con un database di prova a cui chiunque può accedere. Pertanto, rimuoverlo prima di passare all'ambiente di produzione.
- Ricaricare le tabelle dei privilegi ora? accedere
y|Y
Perché questo assicurerà che le modifiche apportate finora abbiano effetto immediato.
Per controllare tutti gli utenti che possono accedere al server MySQL, per prima cosa accedi a MySQL come root utilizzando il comando seguente:
mysql -u root -p
Quindi, emetti il seguente comando per ottenere l'elenco degli utenti sul tuo server MySQL:
selezionare Utente, Host da mysql.user;
Dopo aver verificato l'elenco degli utenti, digita Uscita
per disconnettersi dalla shell MySQL.
Installazione di PHP – Fast CGI process manager (PHP-FPM)
PHP-FPM consente a un server di gestire enormi quantità di carico anche su un server di fascia bassa. Afferma di ridurre il tempo di caricamento del 300 percento su alcune applicazioni PHP.
Per installare gli ultimi pacchetti PHP-FPM, emettere il seguente comando e premere invio.
sudo apt-install php-fpm php-cgi php-mysql
Metti a punto la configurazione PHP-FPM apportando alcune modifiche al php.ini
file.
Per farlo prima vai alla directory/etc/php/7.4/fpm
usando il cd
comando come mostrato di seguito.
cd /etc/php/7.4/fpm
Quindi usa il comando qui sotto per aprire php.ini
file nell'editor vim.
vim php.ini
Rimuovi il commento cgi.fix_pathinfo=1
linea. Cerca la riga contenente 'cgi.fix_pathinfo=1
' nell'editore. Per fare ciò premere 'Esc
' e digita /cgi.fix_pathinfo=1
e colpisci accedere
.
Quindi, premere io
per passare alla modalità di inserimento e rimuovere il ;
(punto e virgola) prima della riga o premere il tasto X
pulsante per decommentare la riga in php.ini
file.
Una volta fatto, salva le modifiche apportate nel file ed esci dall'editor vim premendo Esc
per entrare in modalità di comando e quindi digitare :wq
e colpisci accedere
per uscire dall'editor.
Avvia e abilita PHP-FPM impartendo i seguenti comandi:
systemctl avvia php7.4-fpm systemctl abilita php7.4-fpm
Per verificare lo stato di PHP-FPM, eseguire il seguente comando:
stato systemctl php7.4-fpm
Configurazione di Lighttpd e PHP-FPM
Ora apporteremo alcune modifiche al 15-fastcgi-php.conf
file di configurazione per configurare Lighttpd e PHP-FPM.
Passa alla directory adeguata digitando questo comando e premi invio.
cd etc/lighttpd/conf-disponibile/
Se si desidera conservare una copia duplicata del "15-fastcgi-php.conf
', quindi usa il comando qui sotto.
cp 15-fastcgi-php.conf 15-fastcgi-php.conf.orig
Ora apriremo e modificheremo questo file usando l'editor vim usando il comando seguente:
vim 15-fastcgi-php.conf
Qui, sostituisci il contenuto di configurazione PHP-CGI predefinito con il contenuto mostrato di seguito.
fastcgi.server += ( ".php" => (( "socket" => "/var/run/php/php7.4-fpm.sock", "nomefile-script rotto" => "enable" )) )
Per fare ciò, seguire i passaggi nell'ordine specifico come mostrato di seguito.
- Premere '
Esc
' e 'io
' per entrare nella modalità di inserimento. - Ora vai alle righe che dobbiamo eliminare usando il
su
ogiù
tasti freccia (i tasti freccia su e giù funzionano nell'editor vim e non nell'editor vi). - Per eliminare una riga specifica premere
dd
. E per rimuovere una singola parola premiX
. - Ora copia/incolla il codice sopra nel file.
- Quindi salva il file ed esci da vim premendo
Esc
,:wq
, eaccedere
.
Ora Lighttpd funzionerà adeguatamente con PHP-FPM ed è opportunamente configurato.
Abilita moduli FastCGI Lighttpd utilizzando i comandi seguenti:
lighttpd-enable-mod fastcgi lighttpd-enable-mod fastcgi-php
Infine, riavvia il server web Lighttpd per applicare le nuove configurazioni e impostazioni.
systemctl riavvia lighttpd
Test il tuo server LLMP
Per testare il tuo server LLMP appena creato, creeremo un file nella radice della directory pubblica su /var/www/html
.
Prima vai alla directory usando il cd
comando come mostrato di seguito.
cd /var/www/html/
Crea un nuovo file diciamofile.php
come mostrato di seguito utilizzando l'editor vim.
vim file.php
Ora digita questo semplice script nell'editor entrando nella modalità di inserimento premendo io
.
Salva ed esci dal file premendo Esc
e :wq
.
Il phpinfo()
è una funzione che richiama informazioni relative a php. Questo script serve solo per verificare se funziona o meno. Puoi anche usare altri script php a tua scelta.
Infine, per testare il tuo server, apri un browser web accedi al file che abbiamo appena creato inserendo il seguente indirizzo //tuo-ip-server/file.php
.
Se come risultato viene visualizzata la pagina della versione PHP, possiamo affermare con sicurezza che lo stack LLMP è stato installato correttamente sul tuo computer Ubuntu 20.04. Ora puoi installare le applicazioni PHP che desideri eseguire sul server.