GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Nginx, MariaDB, PHP (LEMP Stack) su Debian 11

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-ip

Otterrai 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.local

La 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.


Debian
  1. Come installare Phorum con Nginx su Debian 9

  2. Come installare Linux, Nginx, MariaDB, PHP (LEMP Stack) in CentOS 7 / RHEL 7

  3. Come installare e configurare PHP e Nginx (LEMP) su Debian 11

  4. Come installare LEMP Stack Nginx, MySQL, PHP su Debian 11

  5. Come installare lo stack LEMP su Debian 10 Buster

Come installare lo stack LEMP su Debian 10 Buster Server/Desktop

Come installare phpBB con LEMP (Nginx, MariaDB e PHP) su Debian 11 Bullseye

Come installare lo stack LEMP (Nginx, MariaDB e PHP) su AlmaLinux 8

Come installare lo stack LAMP su Debian 8

Come installare lo stack LEMP su Debian 11

Come installare lo stack Nginx, MySQL, PHP (LEMP) su un server cloud Debian 8.3