Lo stack LEMP, che sta per Linux (il sistema operativo), Nginx (il server web), MariaDB/MySQL (il database) e PHP (il linguaggio di programmazione), è la piattaforma perfetta per ospitare siti Web e applicazioni dinamici ad alta intensità di traffico.
In questo post vedremo come installare LEMP Stack su Debian 11.
Prerequisiti
Per installare lo stack LEMP su Debian 11, è necessario disporre dei privilegi sudo sul sistema.
Installa lo stack LEMP
Installa Linux
Segui l'installazione passo passo di Debian 11 o Aggiorna Debian 10 "Buster" a Debian 11 "Bullseye".
Procedi all'installazione di AMP (Nginx v1.20, PHP-FPM v7.4, MariaDB v10.5) su Debian 11.
Installa Nginx
Nginx è un server web open source gratuito che fornisce funzionalità HTTP, proxy inverso, memorizzazione nella cache e bilanciamento del carico. È un'ottima alternativa ad Apache ed è facile da configurare.
Installa i seguenti pacchetti.
sudo apt update sudo apt install -y curl gnupg2 ca-certificates lsb-release
Scarica la chiave di firma del repository Nginx e aggiungila al sistema.
curl -fsSL http://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-keyring.gpg
Aggiungi il repository Nginx al sistema.
echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Installa il pacchetto Nginx usando il seguente comando.
sudo apt update sudo apt install -y nginx
Avvia il servizio Nginx dopo l'installazione.
sudo systemctl start nginx
Apri un browser web e visita l'URL sottostante.
http://il-tuo-indirizzo-ipOtterrai la pagina di benvenuto che conferma che Nginx è stato installato correttamente e che è attivo e funzionante.
La radice del documento predefinita di Nginx in Debian 11 è /usr/share/nginx/html/. I file di configurazione si trovano nella directory /etc/nginx/.
Installa MariaDB
MariaDB è un sostituto drop-in di MySQL che supporta tutte le funzionalità standard di MySQL. Imposteremo MariaDB come parte di uno stack LEMP (Linux, Nginx, MariaDB/MySQL, PHP) nella nostra installazione.
Installa il server MariaDB v10.5 dal repository Debian.
Al momento della stesura di questo articolo, MariaDB v10.6 è disponibile dal repository ufficiale di MariaDB. Se lo desideri, puoi installare MariaDB v10.6 su Debian 11 OPPURE installa MySQL 8.0 / 5.7 al posto di MariaDB.sudo apt install -y mariadb-server mariadb-client
Il servizio MariaDB dovrebbe essere attivo e funzionante in questo momento. Innanzitutto, controlla lo stato del servizio MariaDB utilizzando il comando seguente.
sudo systemctl status mariadb
Quindi, rendi sicuro il server MariaDB eseguendo il comando mysql_secure_installation.
Installa PHP
Il PHP FastCGI Process Manager (FPM) è un'implementazione PHP FastCGI alternativa con funzionalità aggiuntive utili per i siti più grandi e più trafficati. Può gestire molte più richieste al secondo rispetto ad altre implementazioni PHP FastCGI.
Installa il pacchetto php-fpm e l'estensione PHP MySQL.
Debian 11 viene fornito con PHP v7.4. Tuttavia, puoi installare PHP 8.0 su Debian 11 dal repository SURY.sudo apt install -y php-fpm php-mysql php-cli
Modifica il file di configurazione.
sudo nano /etc/php/7.4/fpm/pool.d/www.conf
Modifica la proprietà e il gruppo da www-data a nginx per il socket Unix.
listen.owner = nginx listen.group = nginx
Crea host virtuale
Ora, crea un host virtuale sul server Nginx per i seguenti dettagli per testare lo stack LEMP.
Nome server :site.itzgeek.local
Radice del documento :/usr/share/nginx/html/site.itzgeek.local
Crea un file di configurazione dell'host virtuale site.itzgeek.local.conf nella directory /etc/nginx/conf.d/.
sudo nano /etc/nginx/conf.d/site.itzgeek.local.conf
Aggiungi il seguente contenuto.
server { server_name site.itzgeek.local; root /usr/share/nginx/html/site.itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/site.itzgeek.local$fastcgi_script_name; } }
Crea la directory principale del documento per l'host virtuale.
sudo mkdir /usr/share/nginx/html/site.itzgeek.local
Inserisci un file PHP nella radice del documento.
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/site.itzgeek.local/index.php
Riavvia i servizi Nginx e PHP-FPM.
sudo systemctl restart nginx sudo systemctl restart php7.4-fpm
Testare lo stack LEMP
Innanzitutto, crea una voce host per il tuo dominio (site.itzgeek.local ) nel file /etc/hosts per testare lo stack LEMP in locale. Quindi, apri il tuo browser web e digita il tuo nome di dominio nell'indirizzo web.
http://site.itzgeek.localLa pagina apparirà come di seguito:
Come puoi vedere nello screenshot, PHP funziona tramite FPM/FastCGI (API del server).
Scorri la pagina più in basso per visualizzare il supporto PHP per MySQL, XML e altre estensioni.
Conclusione
Spero che questo post ti abbia aiutato a installare lo stack LEMP su Debian 11. Inoltre, puoi installare phpMyAdmin per gestire MariaDB tramite l'interfaccia web.