GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Nginx con PHP e MySQL (LEMP Stack) su Ubuntu 20.04 LTS

Nginx (pronunciato "engine x") è un server HTTP gratuito, open source e ad alte prestazioni. Nginx è noto per la sua alta velocità, stabilità, ricco set di funzionalità, configurazione semplice e basso consumo di risorse. Questo tutorial mostra come installare Nginx su un server Ubuntu 20.04 LTS con supporto PHP 7.4 (tramite PHP-FPM) e supporto MySQL (LEMP =Linux + Nginx (pronunciato "engine x") + MySQL + PHP).

Prerequisiti

  • Server LTS Ubuntu 20.04
  • Privilegi di root

Cosa faremo?

  • Installa Nginx
  • Installa MySQL
  • Installa PHP-FPM
  • Configura Nginx e PHP-FPM
  • Installa PhpMyAdmin
  • Configura PhpMyAdmin
  • Test

Passaggio 1:installa Nginx

Nginx o engine x è un server proxy e HTTP ad alte prestazioni con un consumo di memoria ridotto. La maggior parte dei siti Web su larga scala come Netflix, Pinterest, CloudFlare, GitHub utilizza Nginx.

In questo passaggio, installeremo il server web Nginx dal repository di Ubuntu.

Aggiorna tutti i repository sul sistema Ubuntu e installa i pacchetti Nginx usando il comando apt di seguito.

sudo apt update
sudo apt install nginx

Al termine dell'installazione, avvia il servizio Nginx e abilitalo per l'avvio ogni volta all'avvio del sistema.

systemctl start nginx
systemctl enable nginx

Ora che l'installazione del server Web Nginx è completata, controlla il servizio Nginx utilizzando il seguente comando.

systemctl status nginx

Di seguito è riportato il risultato che otterrai.

Inoltre, controlla la porta HTTP sul sistema Ubuntu e assicurati che sia utilizzata dal servizio Nginx.

ss -plt4

Di seguito è riportato il risultato che otterrai.

Di conseguenza, il protocollo HTTP viene utilizzato dal servizio Nginx.

Successivamente, proteggeremo la nostra installazione di Nginx utilizzando il firewall UFW.

Aggiungi il protocollo HTTP e HTTPS alla configurazione del firewall UFW utilizzando il comando seguente.

for fw in ssh http https
do
ufw allow $fw
done

Ora abilita il firewall UFW e controlla il suo stato.

ufw enable
ufw status numbered

E il protocollo HTTP e HTTPS è stato aggiunto alla configurazione del firewall UFW.

Fase 2:installa MySQL

MySQL è il più popolare sistema di gestione di database relazionali (RDBMS) open source creato da Oracle Corporation. È un componente centrale dello Stack LEMP e installeremo l'ultima versione di MySQL dal repository di Ubuntu.

Installa MySQL usando il comando apt di seguito.

sudo apt install mysql-server mysql-client

Al termine dell'installazione di MySQL, avvia il servizio MySQL e abilitalo per l'avvio ogni volta all'avvio del sistema.

systemctl start mysql
systemctl enable mysql

Ora controlla il servizio MySQL usando il comando seguente.

systemctl status mysql

Il servizio MySQL è attivo e funzionante.

Successivamente, imposteremo la password di root per il server MySQL.

Esegui il comando 'mysql_secure_installation' di seguito.

mysql_secure_installation

Ora ti verrà richiesta la seguente configurazione e assicurati di digitare la tua password complessa per l'utente root di MySQL.

Press y|Y for Yes, any other key for No: Press Enter

New password:
Re-enter new password:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

E la password di root MySQL è stata configurata.

Di conseguenza, l'installazione e la configurazione del Database MySQL su Ubuntu 20.04 è stata completata.

Fase 3 - Installa e configura PHP-FPM

PHP-FPM o FastCGI Process Manager è un'alternativa al vecchio PHP FastCGI che fornisce funzionalità aggiuntive e miglioramenti della velocità. Si adatta bene a siti di piccole e grandi dimensioni basati sul linguaggio di programmazione PHP.

In questo passaggio, installeremo il PHP7.4-FPM predefinito con alcune estensioni aggiuntive richieste da PHPMyAdmin.

Installa PHP-FPM usando il comando seguente.

sudo apt install php-fpm php-cli php-curl php-mysql php-curl php-gd php-mbstring php-pear -y

Al termine dell'installazione di PHP-FPM, vai alla directory '/etc/php/7.4/fpm' e modifica la configurazione di php.ini usando l'editor vim.

cd /etc/php/7.4/fpm/
vim php.ini

Decommenta la configurazione seguente e cambia il valore in '0'.

cgi.fix_pathinfo = 0

Salva e chiudi.

Ora avvia il servizio PHP7.4-FPM e abilitalo all'avvio ogni volta all'avvio del sistema

systemctl start php7.4-fpm
systemctl enable php7.4-fpm

Il servizio PHP-FPM è attivo e funzionante, verificalo usando il comando seguente.

systemctl status php7.4-fpm

Di seguito è riportato il risultato che otterrai.

Per impostazione predefinita, PHP-FPM è in esecuzione nel file sock, verifica utilizzando il comando ss di seguito.

ss -pl | grep php

Di seguito è riportata la risposta che riceverai.

u_str   LISTEN   0     511   /run/php/php7.4-fpm.sock 67702   * 0                            

E l'installazione di PHP-FPM 7.4 su Ubuntu 20.04 è stata completata.

Fase 4 - Configura Nginx e PHP-FPM

In questo passaggio, configureremo il server web Nginx e PHP-FPM.

Vai alla directory di configurazione '/etc/nginx' e modifica il file 'nginx.conf' usando vim o nano.

cd /etc/nginx/
vim nginx.conf

Decommenta la riga seguente per nascondere la versione di Nginx.

server_tokens off;

Salva e chiudi.

Quindi, modifica la configurazione dell'host virtuale "predefinita" nella directory "siti disponibili".

vim sites-available/default

Decommenta la riga PHP mostrata sotto e cambia la riga del file sock.

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        # # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        # # With php-cgi (or other tcp sockets):
        # fastcgi_pass 127.2.0.1:9000;
        }

Salva e chiudi.

Verifica la configurazione di Nginx e assicurati che non ci siano errori, quindi riavvia il servizio.

nginx -t
systemctl restart nginx

Di conseguenza, la configurazione di Nginx e PHP-FPM è stata completata.

Passaggio 5 - Installa phpMyAdmin

PhpMyAdmin è un'applicazione basata su PHP per gestire database MySQL o MariaDB da un browser web. In questo passaggio, installeremo e configureremo PHPMyAdmin sotto lo stack LEMP (Linux, Nginx, MySQL e PHP-FPM).

Installa PHPMyAdmin usando il comando apt di seguito.

sudo apt install phpmyadmin

Durante l'installazione, ti chiederà la configurazione del server web per phpmyadmin.

Scegli nessuna opzione e sposta il cursore su 'OK '.

Per il database phpmyadmin e la configurazione utente, scegli ' '.

E digita il nuovo amministratore PHPMyAdmin "STRONG" come "[email protected]#".

Ripeti la password "[email protetta]#".

E l'installazione di phpMyAdmin su Ubuntu 20.04 è completata.

Passaggio 6 - Configura phpMyAdmin con Nginx e MySQL

Dopo l'installazione di phpmyadmin, è necessario configurare phpmyadmin per l'esecuzione nel server Web Nginx e configurare l'accesso phpmyadmin dell'utente MySQL. Per eseguire PHPMyAdmin sotto il server web Nginx, dobbiamo aggiungere la configurazione al file di configurazione dell'host virtuale.

Configura phpMyAdmin con Nginx Webserver

Ora vai alla directory di configurazione '/etc/nginx' e modifica il file host virtuale predefinito.

cd /etc/nginx/sites-available/
vim default

Incolla la seguente configurazione Nginx per PHPMyAdmin all'interno della parentesi 'server {...}'.

location /phpmyadmin {
    root /usr/share/;
    index index.php;
    try_files $uri $uri/ =404;

location ~ ^/phpmyadmin/(doc|sql|setup)/ {
    deny all;
    }

location ~ /phpmyadmin/(.+\.php)$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    }
}

Salva ed esci.

Verifica la configurazione di nginx e assicurati che non ci siano errori, quindi riavvia il servizio nginx.

nginx -t
systemctl reload nginx

E abbiamo aggiunto la configurazione di Nginx per la nostra installazione di phpMyAdmin, è accessibile tramite l'URL del percorso come 'http://server-ip/phpmyadmin'.

Consenti all'utente phpMyAdmin di accedere ai database

Per questo tutorial, utilizzeremo utenti MySQL non root per PHPMyAdmin. Creeremo un nuovo utente e concederemo all'utente tutti i privilegi di tutti i database all'interno del server.

Accedi alla shell MySQL usando il seguente comando.

mysql -u root -p

Ora crea un nuovo utente MySQL 'hakase' e concedi tutti i privilegi del database.

create user [email protected]'localhost' identified by '[email protected]#';
grant all privileges on *.* to [email protected]'localhost';
flush privileges;

Ora digita "exit" per disconnettersi dalla shell MySQL.

exit

Di conseguenza, abbiamo creato un nuovo utente MySQL per phpMyAdmin.

Fase 7 - Test

In questo passaggio, testeremo la nostra configurazione di LEMP Stack e phpMyAdmin.

Test del file PHP

Vai alla directory '/var/www/html' e crea un nuovo file di script 'info.php' usando vim editor.

cd /var/www/html
vim info.php

Incolla il seguente script al suo interno.

<?php
phpinfo();
?>

Salva e chiudi.

Quindi, apri il tuo browser web e digita l'indirizzo IP del tuo server seguendo il percorso del tuo script 'info.php'.

http://ip-server/info.php

Di seguito è riportato il risultato che otterrai.

Di conseguenza, abbiamo una configurazione dettagliata del nostro PHP-FPM 7.4 sul server Ubuntu 20.04 e lo script PHP è in esecuzione sul nostro server LEMP Stack.

Testa phpMyAdmin

Per testare la nostra installazione di phpMyAdmin, digita l'indirizzo IP del tuo server seguendo il percorso 'phpmyadmin' sull'URL.

http://server-ip/phpmyadmin/

E otterrai la pagina di accesso di phpMyAdmin.

Per accedere a phpMyAdmin, digita l'utente che abbiamo creato in alto. L'utente è "hakase" con la password "[email protected]#", quindi fai clic su "Vai pulsante '.

E otterrai la dashboard di phpMyAdmin come di seguito.

phpMyAdmin funziona nell'ambiente LEMP Stack.

Di conseguenza, l'installazione e la configurazione dello Stack LEMP su Ubuntu 20.04 sono state completate con successo.


Ubuntu
  1. Come installare Phorum con Nginx su Ubuntu 18.04 LTS

  2. Come installare Nginx con PHP5 e MySQL su Ubuntu 11.10

  3. Come installare Lighttpd con PHP5 e MySQL su Ubuntu 11.04

  4. Come installare lo stack LAMP su Ubuntu 22.04 LTS

  5. Come installare e configurare PHP e Nginx (LEMP) su Ubuntu 20.04

Come installare PHP 5.6, PHP 8.0 e PHP 8.1 su Ubuntu 20.04 LTS

Come installare lo stack LEMP su Ubuntu 20.04

Come installare phpMyAdmin con Nginx (LEMP) su Ubuntu 18.04 LTS

Come installare Nginx, MySQL e PHP (LEMP) su Ubuntu 20.04

Come installare LEMP WordPress Ubuntu e Debian con Virtualhost

Come installare Nginx, MySQL e PHP (LEMP) su un server Ubuntu 15.04