Introduzione

Se il vostro intento è installare LEMP su di un server in remoto continuate a leggere, altrimenti se volete installare LEMP sul vostro computer locale saltate il primo paragrafo "Connessione al Server" e leggere il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno della password per l'autenticazione.

Per connettersi al server come utente root digitare questo comando:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare il primo parametro:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

Siete ora connessi al vostro server, siete pronti per iniziare l'installazione di LEMP.

Installazione Nginx

Per installare Nginx aprire il terminale e dare questi comandi:

sudo apt-get update
sudo apt-get install nginx

A questo punto il server è pronto con le configurazioni di default.
Basta collegarsi al proprio indirizzo IP pubblico oppure in localhost:

http://localhost

Per riavviare Nginx:

sudo service nginx restart

Per fermare Nginx:

sudo service nginx stop

Per avviare Nginx:

sudo service nginx start

Installazione MySQL

Per installare MySQL aprire il terminale e dare questo comando:

sudo apt-get install mysql-server

Durante la fase di installazione vi verrà chiesto di inserire una password per l'utente root, che utilizzerete per accedere al server MySQL.

Mettere in sicurezza MySQL (Facoltativo)

sudo mysql_secure_installation

Inserire "y" per "si" oppure qualsiasi altra lettera per "no".

Nel primo passaggio inserire la password dell'utente root, in seguito vi verrà chiesto se si vuole testare la sicurezza della password e se la si vuole cambiare.

Per i successivi passaggi è consigliato premere "y" quindi "si".

  • Rimuovere gli utenti anonimi
  • Disabilitare il login root da remoto
  • Rimuovere il database test
  • Aggiornare le nuove regole

ATTENZIONE:
Per modificare il metodo di autenticazione al database leggere la seguente guida: Come installare MariaDB su Debian 10.

Installazione PHP

Per installare PHP da terminale:

sudo apt-get install php-fpm php-mysql

ATTENZIONE: Nel momento in cui scrivo PHP 7.3 è l'ultima versione, potreste quindi dover cambiare il percorso del file con la versione da voi utilizzata.

Per rendere l'installazione di PHP più sicura digitare il seguente comando:

sudo nano /etc/php/7.3/fpm/php.ini

Cercare questa riga ;cgi.fix_pathinfo, rimuovere il " ; " e inserire il parametro "0". Quindi:

cgi.fix_pathinfo=0

Riavviare PHP:

sudo systemctl restart php7.3-fpm

Configurare Nginx per utilizzare PHP:

sudo nano /etc/nginx/sites-available/default

ATTENZIONE: Nel momento in cui scrivo PHP 7.3 è l'ultima versione, potreste quindi dover cambiare il percorso del file con la versione da voi utilizzata all'interno del blocco location ~ \.php$.

Apportare le modifiche necessarie aggiungendo index.php e location ~ .php$:

fastcgi_pass unix:/var/run/php/php7.X-fpm.sock;

Quindi, con php 7.3:

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;

        server_name _;
        location / {
                try_files $uri $uri/ =404;
        }

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

Testiamo la corretta configurazione:

sudo nginx -t

Riavviare Nginx:

sudo service nginx restart

Verifichiamo l'installazione di PHP. Creiamo un file con estensione .php:

sudo nano /var/www/html/info.php

Incollare questo codice:

<?php phpinfo(); ?>

Salvare e chiudere il file.

Collegarsi al proprio indirizzo IP pubblico oppure in localhost:

http://localhost/info.php

L'installazione e configurazione base di un web server Nginx con MySQL e PHP su Debian 10 è terminata.