Ricerca nel sito web

Installa Nginx, MariaDB e PHP (LEMP) su Debian 11 (Bullseye)


Questa guida passo passo completa ti guida attraverso l'installazione e la configurazione di Nginx, MariaDB e PHP (LEMP Stack) su Debian 11.

Debian è una delle distribuzioni Linux più affidabili, sicure e stabili, garantendo il funzionamento senza interruzioni del tuo server. Grazie a queste qualità, è una scelta ragionevole e spesso preferita dagli amministratori di sistema per i server basati su Linux.

Lo stack software LEMP è costituito da un gruppo di software lato server che serve pagine Web dinamiche e applicazioni Web. È un acronimo che rappresenta quattro componenti separati: sistema operativo Linux, server Web Nginx, database MySQL/MariaDB e linguaggio di scripting PHP.

Questo tutorial ti mostra come installare Nginx, MariaDB e PHP su Debian 11 (Bullseye), trasformandolo in un server definitivo per lo sviluppo e l'hosting delle tue applicazioni web. Quindi, senza ulteriori indugi, mettiamoci al lavoro.

Prerequisiti

Avrai bisogno dell'accesso a un server Debian 11 per completare questa guida. Inoltre, tutti i comandi in questo tutorial vengono eseguiti da un utente normale con capacità di esecuzione sudo. Pertanto, dovresti possederne uno.

Ovviamente puoi saltare la parte sudo dei comandi ed eseguirli direttamente come utente root. Il risultato sarà lo stesso in entrambi i casi.

Inoltre, assicurati che il tuo firewall non blocchi la porta 80 del server e la porta 443 se prevedi di utilizzare SSL.

1. Aggiorna gli archivi software

Innanzitutto, utilizzeremo il comando APT per aggiornare l'elenco dei pacchetti disponibili. Ciò garantisce che solo le versioni più recenti dei pacchetti vengano utilizzate durante l'installazione dello stack LEMP sul nostro sistema Debian 11 e prevengono difficoltà.

Inoltre, assicurati che il sistema sia completamente aggiornato. Se i pacchetti sono in attesa di essere aggiornati, consiglio di applicarli prima di proseguire.

sudo apt update
sudo apt upgrade

2. Installa il server Web Nginx su Debian 11

Il server web ti consente di offrire contenuti come pagine web ai visitatori del sito web. Questo passaggio si occupa del secondo requisito nello stack LEMP, il server web Nginx. 

Utilizza i seguenti comandi per installare l'ultima versione di Nginx sul tuo server Debian 11. Quando richiesto, inserisci "Y" per confermare che desideri installarlo.

sudo apt install nginx

Dopo aver completato l'installazione, il server Web Nginx sarà attivo e funzionante sul tuo server Debian 11. Ma prima controlliamo se funziona come previsto.

Apri un browser web sul tuo sistema e digita l'indirizzo IP del server nella barra degli indirizzi.

Il sistema dovrebbe visualizzare la pagina di benvenuto di Nginx.

3. Installa MariaDB Server su Debian 11

Ora che hai un server web funzionante, devi installare il server database per archiviare e gestire i dati per il tuo sito web. Invece di MySQL, installeremo MariaDB in questo tutorial.

Si tratta di un RDBMS (Relational Database Management System) open source, compatibile con le versioni precedenti e sostitutivo binario di MySQL. MariaDB offre prestazioni migliorate con velocità di replica più elevate, misure di sicurezza più rigorose e motori di archiviazione aggiuntivi rispetto a MySQL.

Per installare il database MariaDB, esegui i comandi seguenti e, quando richiesto, conferma l'installazione digitando "Y" e premendo "Invio".

sudo apt install mariadb-server

3.1 Proteggere il server MariaDB

Successivamente, utilizzeremo uno script (mysql_secure_installation) fornito dal pacchetto mariadb-server per limitare l'accesso al server e rimuovere gli account inutilizzati poiché la configurazione predefinita rende l'installazione di MariaDB pericoloso.

Esegui lo script di sicurezza post-installazione.

sudo mysql_secure_installation

Dopo aver eseguito il comando precedente, ti verrà richiesto di inserire la password root di MariaDB. Lascia semplicemente vuota la password di root e premi il tasto "Invio". Per il resto, continua a digitare "Y" e a premere "Invio".

Grande! Hai protetto il server MariaDB nello stack LEMP su Debian 11.

Chiariamo che la password sopra specificata per gli account root di MariaDB è solo per gli utenti remoti. Per accedere dall'host da noi installato non è necessario inserire la password e non ne verrà richiesta alcuna. Basta digitare "sudo mysql" per accedere alla shell MariaDB.

3.2 Testare l'installazione di MariaDB

Effettuiamo l'accesso ed eseguiamo una semplice query per verificare se il server del database funziona normalmente.

Per accedere, digita il comando mostrato di seguito.

sudo mysql

Questo si connetterà al server MariaDB e la shell MariaDB dovrebbe apparire. Quindi, esegui una semplice query:

select version();

In risposta alla tua domanda, il server MariaDB dovrebbe restituire la sua versione. Infine, per uscire dalla shell MariaDB e tornare al terminale di sistema, utilizza il comando "quit".

4. Installa PHP su Debian 11

L'ultimo passaggio per avere uno stack LEMP completo installato sul nostro sistema Debian 11 "Bullseye" è installare PHP Scripting Language. Per aggiungere il supporto PHP a Nginx, devi installare e utilizzare PHP-FPM per eseguire file PHP.

Pertanto, per installare PHP-FPM e diversi moduli PHP più utilizzati, digita il comando seguente e, quando richiesto, inserisci "Y" per confermare che desideri installarlo.

sudo apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache

5. Configura Nginx per eseguire file PHP

Ora che abbiamo installato tutti i componenti LEMP sul nostro sistema Debian 11, dobbiamo modificare il file di configurazione dell'host virtuale Nginx predefinito.

sudo vim /etc/nginx/sites-enabled/default

Modifica la parte "location /" da questa:

location / {First attempt to serve request as file, thenas directory, then fall back to displaying a 404.
    try_files $uri $uri/ =404;
}

A questo:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Aggiungi le seguenti righe al blocco predefinito "server" per consentire a Nginx di elaborare i file PHP:

location ~ \.php$ {
     include snippets/fastcgi-php.conf;
     fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

Verifica la presenza di errori di sintassi nel file di configurazione Nginx modificato immettendo il seguente comando:

sudo nginx -t

Se ottieni il risultato mostrato sopra, tutto va bene e ci resta solo un ultimo passaggio. Tuttavia, se vengono segnalati errori, ricontrolla il file prima di continuare.

Quando sei pronto, riavvia Nginx per rendere effettive le modifiche.

sudo systemctl restart nginx

Se vuoi imparare in dettaglio come creare e modificare blocchi server Nginx per i tuoi host virtuali, ti consigliamo la nostra eccellente guida sull'argomento “Come creare host virtuale Nginx (blocco server). "

6. Testare l'installazione di Debian 11 LEMP

Hai completato l'installazione di Nginx, MariaDB e PHP su Debian 11, quindi il tuo stack LEMP ora dovrebbe essere completamente operativo.

Infine, creiamo un file PHP di prova per verificare che PHP-FPM funzioni e sia integrato con Nginx. Nel blocco server predefinito riportato sopra, il nostro sito viene servito da "/var/www/html", quindi creeremo lì un file di prova:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/test.php

Ora puoi accedere a "test.php" da un browser web, utilizzando il dominio del tuo sito o l'indirizzo IP del server seguito da "/test.php".

Apparirà una pagina web con informazioni complete sulla tua installazione PHP.

Congratulazioni! Hai installato con successo uno stack LEMP completamente funzionante su Debian 11.

Conclusione

Questa guida ti ha mostrato come installare lo stack LEMP (Nginx, MariaDB e PHP) su Debian 11 "Bullseye". Di conseguenza, le app Web basate su PHP ora possono essere eseguite sul tuo server.

Ci sono diversi passaggi successivi che potresti intraprendere da qui. Ad esempio, ti consiglio di leggere la nostra guida sull'impostazione dei certificati SSL sul server Nginx per assicurarti che il tuo sito web fornisca contenuti tramite una connessione SSL sicura (HTTPS).

Grazie per il tuo tempo! Spero che questa guida ti sia utile. Il tuo feedback e i tuoi commenti sono i benvenuti.

Articoli correlati: