Ricerca nel sito web

Come installare lo stack LEMP con PhpMyAdmin in Ubuntu 20.04


Per quelli di voi che non sanno cosa sia LEMP – questa è una combinazione di pacchetti software – Linux, Nginx (pronunciato EengineX), MariaDB e PHP.

Puoi utilizzare LEMP sia a scopo di test 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. Bene, l'unica differenza è il server web incluso: Apache (in LAMP) e Nginx (in LEMP ). Entrambi i server web sono abbastanza buoni e mentre Apache è quello utilizzato più frequentemente, Nginx non si tira indietro in alcun modo.

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

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

Prerequisiti:

  1. Guida all'installazione del server Ubuntu 20.04

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. Questo è il motivo per cui è spesso la scelta preferita negli ambienti aziendali.

NGINX è anche comunemente usato come bilanciatore del carico e cache dei contenuti web. Supporta server virtuali basati su nome e IP (analoghi agli host virtuali in Apache).

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

sudo apt update
sudo apt install nginx

I file di configurazione di Nginx sono archiviati nella directory /etc/nginx e il suo file di configurazione principale è /etc/nginx/nginx.conf. È importante sottolineare che la radice del documento predefinita per l'archiviazione dei file Web è /usr/share/nginx/html/. Ma puoi utilizzare il file /var/www/html standard che dovrebbe essere configurato nel file di configurazione del blocco server del tuo sito web o della tua applicazione.

2. Il programma di installazione del pacchetto Ubuntu attiva systemd per avviare il servizio Nginx e abilitarne l'avvio automatico ogni volta che il server viene riavviato. Utilizzare i seguenti comandi systemctl per confermare che il servizio è in esecuzione e abilitato.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. Ora è il momento di verificare se l'installazione di Nginx è andata a buon fine richiamando la pagina Nginx tramite 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 la corretta installazione e funzionamento.

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 community di MySQL dopo l'acquisizione di Oracle.

L'installazione di MariaDB è semplice e può essere avviata con comandi come:

sudo apt install mariadb-server mariadb-client

5. Anche il servizio MariaDB viene avviato automaticamente e abilitato per avviarsi sempre all'avvio del sistema e puoi confermarlo utilizzando i seguenti comandi.

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

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

Quindi scegli l'opzione per impostare la password dell'utente root del database (o amministratore), segui le istruzioni e leggi attentamente le domande. Per proteggere il tuo server database, rispondi alle domande come mostrato nello screenshot.

  • Inserisci la password corrente per root (inserisci per nessuno): Invio
  • Impostare una password di root? [S/n] s
  • Rimuovere gli utenti anonimi? [S/n] s
  • Non consentire l'accesso root da remoto? [S/n] s
  • Rimuovere il database di test e accedervi? [S/n] s
  • Ricaricare le tabelle dei privilegi adesso? [S/n] s

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

Per connetterti 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

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 sottolineare che la comunità PHP è ampia e diversificata, composta da innumerevoli librerie, framework e altri componenti utili.

NGINX utilizza FPM (FastCGI Process Manager) o PHP-FPM per elaborare gli script PHP. PHP-FPM è un'implementazione PHP alternativa FastCGI ampiamente utilizzata che viene fornita con molte funzionalità aggiuntive e viene utilizzata per alimentare siti/applicazioni web ad alto traffico.

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

sudo apt install php php-mysql php-fpm

Poiché PHP 7.4 è la versione predefinita di PHP in Ubuntu 20.04, i file di configurazione PHP si trovano in /etc/php/7.4 / e i file di configurazione PHP-FPM sono archiviati in /etc/php/7.4/fpm.

9. Successivamente, controlla 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

Passaggio 4: configurazione di Nginx per funzionare con PHP-FPM

10. Ora devi configurare NGINX per inoltrare le richieste del client a PHP-FPM, che per impostazione predefinita è configurato per ascoltare su un Socket UNIX come definito dal parametro di ascolto 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 

11. Nel file di configurazione del blocco server predefinito (/etc/nginx/sites-available/default), rimuovere il commento dalla direttiva di posizione per l'elaborazione PHP richiede di assomigliare a quello mostrato nello screenshot seguente.

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

Salvare il file ed uscire.

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

sudo nginx -t
sudo systemctl restart nginx

13. Ora verifica se NGINX può funzionare insieme a PHP-FPM per elaborare le richieste PHP. Crea una semplice pagina info.php nella directory root del documento.

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

14. Nel tuo browser, naviga utilizzando il seguente indirizzo. La pagina di configurazione PHP dovrebbe caricarsi come mostrato nello screenshot seguente.

http://SERVER_IP/info.php

Passaggio 5: installazione di PhpMyAdmin in Ubuntu 20.04

15. PhpMyAdmin è un'applicazione PHP gratuita e open source basata sul Web creata appositamente per amministrare i server di database MySQL/MariaDB tramite un browser Web. Fornisce un'interfaccia grafica intuitiva e supporta un'ampia gamma di funzionalità comuni per le attività di amministrazione del database.

sudo apt install phpmyadmin

16. Durante l'installazione del pacchetto, ti verrà chiesto di configurare diversi aspetti del pacchetto PhpMyAdmin. Innanzitutto, verrà richiesto di scegliere il server Web predefinito per eseguirlo. Premi Esc perché NGINX non è nell'elenco fornito.

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

18. Nella richiesta successiva, devi fornire una password per PhpMyAdmin per registrarsi al database MariaDB. Inserisci una password sicura e fai clic su Invio.

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 collegamento simbolico per questa directory nella root del documento, quindi imposta le autorizzazioni e la proprietà corrette 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 del server predefinito (/etc/nginx/sites-available/default) includa index.php come mostrato nello screenshot seguente.

21. Successivamente, riavvia nuovamente il servizio Nginx per applicare le modifiche di cui sopra.

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, autenticarsi con nome utente e password PHPMyAdmin. Ricorda che l'accesso dell'utente root remoto è disabilitato a meno che non si acceda a PHPMyAdmin sull'host locale su cui è installato il database MariaDB, l'accesso root non funzionerà.

Ultimo ma non meno importante, proteggi la tua installazione di PhpMyAdmin utilizzando la nostra guida: 4 consigli 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 che hai appena installato. Questi sono ampiamente utilizzati e acquisirne una maggiore conoscenza è altamente raccomandato agli amministratori di sistema.