Ricerca nel sito web

Come installare lo stack LEMP su Rocky Linux 8


LEMP è uno stack popolare che comprende software open source utilizzato collettivamente per ospitare e servire applicazioni web, sia in produzione che in qualsiasi fase del ciclo di sviluppo.

La terminologia LEMP è l'acronimo di Linux, Nginx (pronunciato come Engine X, da qui la E) che è un browser web, MariaDB o MySQL – database e PHP per l'elaborazione di contenuti dinamici). Lo stack LEMP è comunemente utilizzato per ospitare applicazioni Web e siti Web ad alto traffico e altamente scalabili.

In questa guida imparerai come installare lo stack LEMP su Rocky Linux 8.4.

Prerequisiti

Prima di iniziare a installare lo stack LEMP, assicurati di disporre dei seguenti requisiti.

  • Un'istanza di Rocky Linux 8 con un utente sudo configurato.
  • Accesso SSH all'istanza Rocky Linux.

Iniziamo…

Passaggio 1: installa Nginx su Rocky Linux

Il primo passo è installare il primo componente dello stack LEMP che è il server web Nginx. Innanzitutto, aggiorna i pacchetti.

sudo dnf update -y

Una volta completato l'aggiornamento, installa Nginx eseguendo il seguente comando. Questo installa Nginx insieme ad altre dipendenze richieste dal server web.

sudo dnf install nginx 

Una volta installato Nginx, abilitalo all'avvio all'avvio e avvia il demone Nginx.

sudo systemctl enable nginx 
sudo systemctl start nginx 

Per verificare che il server web sia in esecuzione, eseguire il comando:

sudo systemctl status nginx

Dall'output, possiamo concludere che il server web è attivo e funzionante.

Se sei abbastanza curioso, puoi controllare la versione di Nginx come segue. L'output indica che stiamo eseguendo Nginx 1.14.1.

nginx -v

nginx version: nginx/1.14.1

Inoltre, puoi verificare che il browser funzioni navigando nell'URL mostrato. Verrà visualizzata la pagina di benvenuto Nginx predefinita che indica che tutto va bene.

http://server-ip or domain name

Se riscontri problemi nella visualizzazione della pagina, valuta la possibilità di aprire la porta 80 o consentire il traffico HTTP sul firewall.

sudo firewall-cmd --zone=public --add-service=http --permanent 

Quindi ricaricare il firewall e ricaricare la pagina.

sudo firewall-cmd --reload

Passaggio 2: installa MariaDB su Rocky Linux

Per questa guida installeremo il database MariaDB. Ciò è dovuto alle prestazioni ottimizzate e alla ricchezza di motori di archiviazione forniti che lo rendono di gran lunga superiore a MySQL.

Per installare il server database MariaDB, esegui il comando:

sudo dnf install mariadb-server mariadb

Una volta terminato, abilita e avvia MariaDB come mostrato.

sudo systemctl enable mariadb
sudo systemctl start mariadb

Quindi verificarne lo stato.

sudo systemctl status mariadb

Le impostazioni predefinite per MariaDB non sono sufficientemente sicure e il tuo database può essere facilmente violato. Come precauzione per scoraggiare gli intrusi al livello più elementare, esegui lo script seguente.

sudo mysql_secure_installation

Assicurati di impostare la password di root.

Per i restanti prompt, digita semplicemente 'Y' per rimuovere gli utenti anonimi, negare l'accesso root remoto, rimuovere il database di test e infine salvare le modifiche apportate.

Per accedere al server del database, eseguire il comando:

sudo mysql -u root -p

Fornire la password e premere INVIO.

Passaggio 3: installa PHP su Rocky Linux

L'ultimo componente da installare è PHP tramite PHP-FPM, che sta per FastCGI Process Manager. Si tratta di un processore efficiente e altamente avanzato per PHP che fornisce funzionalità che garantiscono prestazioni ottimali e sicurezza per i siti Web ad alto traffico.

Per iniziare, installeremo il repository Remi che è un repository gratuito di terze parti che fornisce le ultime versioni di PHP.

Per abilitare il repository Remi, esegui il comando:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Una volta abilitato il repository Remi, controlla l'elenco dei moduli PHP ospitati utilizzando il comando mostrato.

sudo dnf module list php

Dall'output, possiamo vedere che la versione predefinita è 7.2 – con il tag [d]. Tuttavia, installeremo l'ultimo modulo che è Remi 8.0.

Pertanto, ripristina i moduli PHP predefiniti e abilita l'ultimo modulo Remi PHP.

sudo dnf module list reset php
sudo dnf module enable php:remi-8.0

Successivamente, aggiorna il sistema e installa PHP e PHP-FPM insieme alle estensioni PHP di tua preferenza.

sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache

Una volta completata l'installazione, abilita e avvia PHP-FPM come mostrato.

sudo systemctl enable php-fpm
sudo systemctl start php-fpm

Successivamente, verifica lo stato di esecuzione di PHP-FPM.

sudo systemctl status php-fpm

Normalmente, PHP-FPM viene eseguito come utente Apache, ma poiché utilizziamo Nginx, dobbiamo impostarlo su Nginx. Quindi, apri il seguente file di configurazione.

sudo vim /etc/php-fpm.d/www.conf

Imposta l'utente e il gruppo su Nginx.

user = nginx
Group = nginx

Successivamente ricaricare il demone PHP-FPM.

sudo systemctl reload php-fpm

Per confermare che abbiamo installato l'ultima versione di PHP, esegui il comando.

php -v

Un altro modo ingegnoso per testare PHP è creare un semplice file PHP e inserirlo nella directory webroot che si trova in /usr/share/nginx/html. Quindi, crea un semplice file info.php nella directory webroot /usr/share/nginx/html.

sudo vim /usr/share/nginx/html/info.php

Aggiungi il seguente contenuto e salva il file.

<?php

phpinfo();

?>

Per rendere effettive le modifiche, ricaricare il server web Nginx.

sudo systemctl restart nginx

Infine, accedi al seguente URL.

http://server-ip/info.php

Verrà visualizzata una pagina Web con informazioni dettagliate sulla versione PHP installata insieme ad altre estensioni PHP.

A questo punto, la nostra configurazione LEMP è completa. Nel passaggio successivo, ospiteremo un sito di esempio configurando un blocco server Nginx.

Passaggio 3: configura Nginx Server Block in Rocky Linux

Un blocco server consente agli amministratori di ospitare più siti Web su un server definendo diverse directory root dei documenti del sito. Queste sono le directory che contengono i file del sito web.

Qui creeremo un singolo file di blocco del server Nginx per ospitare un sito Web di esempio.

Passaggio 1: crea una directory di siti Web

Innanzitutto, crea la directory dei documenti del sito che conterrà i dati del sito che saranno disponibili ai visitatori del sito. Supponiamo che tu abbia un dominio chiamato example.com. Crea la directory del dominio del sito come segue. Assicurati di sostituire example.com con il nome di dominio completo o il dominio registrato del tuo sito.

sudo mkdir -p /var/www/example.com/html

Passaggio 2: imposta proprietà e autorizzazioni sul sito web

La struttura delle directory del dominio è ora impostata per ospitare i file del sito. Attualmente è l'utente root a possedere i file. Dobbiamo impostare la proprietà in modo tale che sia l'utente normale a possedere il file.

Per modificare la proprietà dei file nell'utente attualmente connesso, utilizza il comando chown.

sudo chown -R $USER:$USER /var/www/example.com/html

La variabile $USER prende il valore dell'utente attualmente connesso e garantisce la proprietà dell'utente ai file html e alle sottodirectory. Inoltre, concedi l'autorizzazione di lettura alla directory principale web generale in modo che i visitatori del sito possano accedere alle pagine del sito.

sudo chmod -R 755 /var/www

La directory del sito è ora ben configurata per servire le pagine web del sito.

Passaggio 3: crea un sito demo

Creiamo ora un sito di prova di esempio. Creeremo un file index.html molto semplice nella directory html del dominio.

sudo vim /var/www/example.com/html/index.html

Incolla il contenuto qui sotto. Come puoi vedere, è abbastanza semplice poiché lo utilizziamo solo a scopo di test.

<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success! The server block is active!</h1>
  </body>
</html>

Salvare ed uscire dal file HTML.

Passaggio 4: crea un blocco server Nginx per il sito web

Un file di blocco del server è un file che contiene la configurazione del sito. Spiega come il server web Nginx risponde alle richieste dei visitatori del sito. Inizieremo creando due directory:

  • /etc/nginx/sites-available: questa è la directory che conterrà il file di blocco del server.
  • /etc/nginx/sites-enabled – La directory notifica a Nginx che il file di blocco del server è pronto per servire le richieste.

Pertanto, creare le directory come segue:

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

Successivamente, modifica il file di configurazione principale di Nginx.

sudo mkdir /etc/nginx/nginx.conf

Incolla le seguenti righe. La prima riga specifica il percorso della directory contenente file di configurazione aggiuntivi. La seconda riga aumenta la memoria allocata per l'analisi dei nomi di dominio.

include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;

Salva ed esci.

Successivamente, crea un file di blocco del server.

sudo vim /etc/nginx/sites-available/example.com.conf

Incolla il contenuto qui sotto. Sostituisci example.com con il nome di dominio completo (FQDN) o l'indirizzo IP del server.

server {
    listen  80;

    server_name example.com www.example.com;

    location / {
        root  /var/www/example.com/html;
        index  index.html index.htm;
        try_files $uri $uri/ =404;
    }

    error_page  500 502 503 504  /50x.html;
    location = /50x.html {
        root  /usr/share/nginx/html;
    }
}

Salvare ed uscire dal file.

Passaggio 5: abilitare il blocco server Nginx

Infine, dobbiamo abilitare il file di blocco del server. Per fare ciò, creeremo un collegamento simbolico per il file di blocco del server alla directory abilitata ai siti.

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf

Quindi riavvia Nginx per rendere effettive le modifiche.

sudo systemctl restart nginx

Passaggio 6: testare il sito Web Nginx

Per testare la configurazione avvia il browser e visita il dominio del tuo sito

http://example.com

Questo dovrebbe visualizzare il sito del blocco server come configurato nel passaggio 3.

E questo conclude il tutto. In questa guida ti abbiamo guidato attraverso l'installazione dello stack LEMP su Rocky Linux 8 e abbiamo fatto un ulteriore passo avanti creando e configurando un file di blocco del server in cui abbiamo ospitato un sito web personalizzato.