Come Installare LEMP Stack con PhpMyAdmin su Ubuntu 20.04

Per coloro che non sanno cos’è LEMP – si tratta di una combinazione di pacchetti software – Linux, Nginx (pronunciato EngineX), MariaDB e PHP.

Puoi utilizzare LEMP sia per scopi di testing che in un ambiente di produzione reale per distribuire applicazioni web utilizzando framework PHP come Laravel o Yii, o sistemi di gestione dei contenuti come WordPress, Drupal, o Joomla

Potresti chiederti qual è la differenza tra LAMP e LEMP. Beh, l’unica differenza è il server web incluso – Apache (in LAMP) e Nginx (in LEMP). Entrambi i server web sono piuttosto buoni e mentre Apache è il più utilizzato, Nginx non cede in nessun modo.

Un’altra applicazione ampiamente utilizzata normalmente installata insieme allo stack LEMP è PhpMyAdmin – è uno strumento basato su web PHP per amministrare un server di database MySQL/MariaDB da un browser web.

Se stai cercando una configurazione LAMP per il tuo Ubuntu 20.04, allora dovresti leggere la nostra guida alla configurazione LAMP su Ubuntu 20.04.

Prerequisiti:

  1. Guida all’installazione di Ubuntu 20.04 Server

In questo articolo, imparerai come installare e configurare lo stack LEMP con PhpMyAdmin nel server Ubuntu 20.04.

Passaggio 1: Installazione di Nginx su Ubuntu 20.04

1. Nginx è un server web moderno e veloce progettato per gestire molte connessioni simultanee senza consumare troppe risorse del server. Per questo motivo è spesso la scelta preferita negli ambienti aziendali.

NGINX viene comunemente utilizzato anche come bilanciatore di carico e cache di contenuti web. Supporta server virtuali basati su nome e su IP (analoghi agli host virtuali in Apache).

Puoi installare Nginx sul tuo desktop o server Ubuntu 20.04 eseguendo il seguente comando.

$ sudo apt update
$ sudo apt install nginx
Install Nginx on Ubuntu 20.04

I file di configurazione di Nginx sono memorizzati nella directory /etc/nginx e il suo file di configurazione principale è /etc/nginx/nginx.conf. È importante notare che la root del documento predefinita per memorizzare i tuoi file web è /usr/share/nginx/html/. Ma puoi utilizzare la standard /var/www/html che dovrebbe essere configurata nel file di configurazione del blocco del server del tuo sito web o dell’applicazione.

2. L’installatore del pacchetto Ubuntu attiva systemd per avviare il servizio Nginx e abilitarlo all’avvio automatico ogni volta che il server viene riavviato. Usa i seguenti comandi systemctl per confermare che il servizio sia in esecuzione e abilitato.

$ sudo systemctl status nginx 
$ sudo systemctl is-enabled nginx
Check Nginx Service Status

3. Ora è il momento di verificare se l’installazione di Nginx è stata eseguita correttamente chiamando la pagina di Nginx tramite il browser utilizzando l’indirizzo IP del server.

http://SERVER_IP

Se non conosci l’indirizzo IP del tuo server, puoi trovarlo utilizzando il comando IP come mostrato.

$ ip addr show

La pagina web predefinita di NGINX dovrebbe caricarsi come mostrato nello screenshot seguente, confermando l’installazione e il funzionamento corretti.

Test Nginx Installation

Passaggio 2: Installazione del database MariaDB su Ubuntu 20.04

4. MariaDB è un sistema di gestione di database relazionali relativamente nuovo che è stato progettato come fork della comunità di MySQL dopo l’acquisizione da parte di Oracle.

L’installazione di MariaDB è semplice e può essere avviata con il comando:

$ sudo apt install mariadb-server mariadb-client
Install MariaDB on Ubuntu 20.04

5. Il servizio MariaDB viene anche avviato automaticamente ed abilitato per avviarsi sempre all’avvio del sistema e puoi confermare questo utilizzando i seguenti comandi.

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb
Check MariaDB Service

6. Se desideri migliorare la sicurezza di MariaDB, puoi eseguire il comando mysql_secure_installation, che fornirà alcune opzioni di base, ma importanti, da configurare:

$ sudo mysql_secure_installation

Scegli quindi l’opzione per impostare la password dell’utente root del database (o amministratore) e segui le indicazioni e leggi attentamente le domande. Per proteggere il tuo server di database, rispondi alle domande come mostrato nello screenshot.

  • Inserisci la password corrente per root (invio per nessuna): Inserisci
  • Impostare una password per root? [S/n] s
  • Rimuovere gli utenti anonimi? [S/n] s
  • Disabilitare il login di root da remoto? [S/n] s
  • Rimuovere il database di test e l’accesso ad esso? [S/n] s
  • Ricaricare le tabelle dei privilegi adesso? [S/n] s
Secure MariaDB Server

7. Per creare, gestire ed eseguire operazioni sul database, è necessario utilizzare il comando shell mysql con il flag -u per specificare il nome utente del database e -p per fornire la password dell’utente.

Per connettersi come utente root, utilizza il comando sudo (anche senza il flag -p) altrimenti riceverai l’errore evidenziato nello screenshot seguente.

$ mysql -u root -p
$ sudo mysql -u root
Access MariaDB Shell

Passaggio 3: Installazione di PHP in Ubuntu 20.04

8. PHP è un popolare linguaggio di scripting open-source, flessibile e dinamico per la creazione di siti web e applicazioni web. Supporta una varietà di tecniche di programmazione. Importante, la comunità PHP è grande e diversificata, composta da innumerevoli librerie, framework e altri componenti utili.

NGINX utilizza FPM (Gestore di Processi FastCGI) o PHP-FPM, per elaborare gli script PHP. PHP-FPM è un’implementazione PHP FastCGI alternativa ampiamente utilizzata che viene fornita con molte funzionalità aggiuntive ed è utilizzata per alimentare siti/applicazioni web ad alto traffico.

Per installare PHP e PHP-FPM, eseguire il seguente comando che installerà anche alcuni pacchetti aggiuntivi richiesti.

$ sudo apt install php php-mysql php-fpm
Install PHP and PHP-FPM on Ubuntu 20.04

Dato che PHP 7.4 è la versione predefinita di PHP in Ubuntu 20.04, i file di configurazione di PHP si trovano in /etc/php/7.4/ e i file di configurazione di PHP-FPM sono memorizzati sotto /etc/php/7.4/fpm.

9. Successivamente, verificare se il servizio php7.4-fpm è attivo e funzionante e se è abilitato con il seguente comando.

$ sudo systemctl status php7.4-fpm
$ sudo systemctl is-enabled php7.4-fpm
Check PHP-FPM Status

Passaggio 4: Configurazione di Nginx per lavorare con PHP-FPM

10. Ora è necessario configurare NGINX per inoltrare le richieste dei client a PHP-FPM, che di default è configurato per ascoltare su un socket UNIX come definito dal parametro listen nel file di configurazione del pool predefinito /etc/php/7.4/fpm/pool.d/www.conf.

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf 
Configure PHP-FPM Socket

11. Nel file di configurazione del blocco server predefinito (/etc/nginx/sites-available/default), rimuovere il commento dalla direttiva di posizione per elaborare le richieste PHP in modo simile a quello mostrato nella seguente schermata.

$ sudo vi /etc/nginx/sites-available/default
Configure Nginx Block to Use PHP-FPM Socket

Salvare il file e uscire.

12. Quindi testare la sintassi di configurazione di NGINX per correttezza. Se è OK, riavviare il servizio Nginx per applicare le nuove modifiche.

$ sudo nginx -t
$ sudo systemctl restart nginx
Check Nginx Configuration

13. Ora testare se NGINX può funzionare in combinazione con PHP-FPM per elaborare le richieste PHP. Creare una pagina info.php semplice nella directory radice dei documenti.

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

14. Nel browser, navigare utilizzando l’indirizzo seguente. La pagina di configurazione PHP dovrebbe caricarsi come mostrato nella seguente schermata.

http://SERVER_IP/info.php
Check PHP and PHP-FPM Info

Passaggio 5: Installazione di PhpMyAdmin in Ubuntu 20.04

15. PhpMyAdmin è un’applicazione PHP basata sul web, gratuita e open source, creata specificamente per amministrare i server di database MySQL/MariaDB attraverso un browser web. Fornisce un’interfaccia grafica intuitiva e supporta una vasta gamma di funzionalità comuni per le attività di amministrazione del database.

$ sudo apt install phpmyadmin
Install PhpMyAdmin in Ubuntu 20.04

16. Durante l’installazione del pacchetto, ti verrà chiesto di configurare diversi aspetti del pacchetto PhpMyAdmin. Per primo, ti verrà chiesto di scegliere il server web predefinito per eseguirlo. Premere Esc perché NGINX non è nella lista fornita.

Choose Web Server to Configure PHPMyAdmin

17. Successivamente, PhpMyAdmin richiede un database con cui lavorare. In questa configurazione del pacchetto, scegli per configurare un database per PhpMyAdmin con il pacchetto dbconfig-common.

Configure Database for PhpMyAdmin

18. Nella prossima finestra di dialogo, è necessario fornire una password per PhpMyAdmin per registrarsi nel database MariaDB. Inserisci una password sicura e fai clic su Invio.

Create a Password for PhpMyAdmin

Passaggio 6: Configurazione di NGINX per Servire il Sito PhpMyAdmin

19. Per abilitare NGINX a servire il sito PhpMyAdmin situato in /usr/share/phpmyadmin, crea un symlink per questa directory sotto la root del documento, quindi imposta i permessi corretti e la proprietà sulla directory PHPMyAdmin come segue.

$ sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

20. Inoltre, assicurati che la direttiva index nel file di configurazione del blocco server predefinito (/etc/nginx/sites-available/default) includa index.php come mostrato nella seguente schermata.

Configure Nginx Index Directive

21. Successivamente, riavvia il servizio Nginx ancora una volta per applicare le modifiche sopra indicate.

$ sudo systemctl restart nginx

22. Ora accedi al sito PhpMyAdmin da un browser utilizzando il seguente indirizzo.

http://SERVER_IP/phpmyadmin

Nella pagina di accesso, autenticati con lo username e la password di PHPMyAdmin. Ricorda che l’accesso dell’utente root remoto è disabilitato a meno che tu non stia accedendo a PHPMyAdmin sul localhost dove è installato il database MariaDB, l’accesso root non funzionerà.

PhpMyAdmin Login
PhpMyAdmin Dashboard

Ultimo ma non meno importante, assicurati di proteggere l’installazione di PhpMyAdmin seguendo la nostra guida: 4 Suggerimenti Utili per Proteggere l’Interfaccia Web di PhpMyAdmin.

Conclusione

La tua configurazione LEMP è ora completa e puoi iniziare a creare le tue applicazioni web o semplicemente giocare con i servizi Nginx e MariaDB appena installati. Questi sono ampiamente utilizzati e acquisire più conoscenze su di essi è altamente consigliato per gli amministratori di sistema.

Source:
https://www.tecmint.com/install-lemp-with-phpmyadmin-in-ubuntu-20-04/