GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Nginx con PHP e MySQL (stack LEMP) su Ubuntu 18.04

Nginx (pronunciato "engine x") è un server HTTP gratuito, open source e ad alte prestazioni. Nginx è noto per la sua stabilità, il ricco set di funzionalità, la configurazione semplice e il basso consumo di risorse. Questo tutorial mostra come installare Nginx su un server LTS Ubuntu 18.04 con supporto PHP 7.2 (tramite PHP-FPM) e supporto MySQL (LEMP = L inux + nginx (pronunciato "e ngine x") + M ySQL + P HP).

Prerequisiti

  • Server LTS Ubuntu 18.04
  • Privilegi di root

Cosa faremo?

  1. Installa Nginx
  2. Installa MySQL
  3. Installa PHP-FPM
  4. Configura Nginx e PHP-FPM
  5. Installa PhpMyAdmin
  6. Configura PhpMyAdmin
  7. 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.

Esegui il comando seguente.

sudo apt install nginx -y

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

L'installazione di Nginx è completa.

Configura il firewall

Si consiglia di attivare il firewall sul server.

Aggiungi la porta del servizio SSH e HTTP alla configurazione del firewall.

Esegui il comando UFW di seguito.

ufw allow ssh
ufw allow http

Ora avvia il firewall UFW e abilitalo per l'avvio ogni volta all'avvio del sistema.

ufw enable

Il server web Nginx è attivo e funzionante sotto il 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 utilizzando il comando apt di seguito.

sudo apt install mysql-server mysql-client -y

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

systemctl start mysql
systemctl enable mysql

E abbiamo installato MySQL 5.7 sul server Ubuntu 18.04.

Passaggio 3 - Installa 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 PHP7.2-FPM con alcune estensioni aggiuntive richieste da phpmyadmin.

Installa PHP-FPM usando il comando seguente.

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

Ora avvia il servizio PHP-FPM e abilitalo all'avvio ogni volta all'avvio del sistema al termine dell'installazione.

systemctl start php7.2-fpm
systemctl enable php7.2-fpm

PHP7.2-FPM è attivo e funzionante su Ubuntu 18.04 sotto il file sock, controllalo usando il comando netstat.

netstat -pl | grep php

Fase 4 - Configura Nginx e PHP-FPM

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

Configura Nginx

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

cd /etc/nginx/
vim nginx.conf

Decommenta le seguenti righe.

keepalive_timeout 2;
server_tokens off;

Salva il file di configurazione ed esci dall'editor.

Ora modifica il file host virtuale Nginx predefinito.

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:/var/run/php/php7.2-fpm.sock;
        # # With php-cgi (or other tcp sockets):
        # fastcgi_pass 127.2.0.1:9000;
        }

Salva ed esci.

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

nginx -t
systemctl reload nginx

Configura PHP-FPM

Vai alla directory '/etc/php/7.2' e modifica il file 'php.ini'.

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

Decommenta la riga 'cgi.fix_patinfo' e cambia il valore in '0'.

cgi.fix_pathinfo=0

Salva ed esci.

Ricarica il servizio PHP-FPM.

systemctl reload php7.2-fpm

E abbiamo completato la configurazione del server web Nginx e PHP-FPM.

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 -y

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

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

Per la configurazione del database phpmyadmin, scegli 'Sì'.

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

Ripeti la password "[email protetta]#".

E l'installazione di phpmyadmin è completa.

Passaggio 6 - Configura PhpMyAdmin

Dopo l'installazione di phpmyadmin, è necessario configurare phpmyadmin per l'esecuzione nel server Web Nginx e configurare l'accesso phpmyadmin dell'utente MySQL.

Configura PhpMyAdmin con Nginx

Per eseguire phpmyadmin sotto il server web Nginx, dobbiamo aggiungere la configurazione al file di configurazione dell'host virtuale.

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

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

Incolla la seguente configurazione di 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:/var/run/php/php7.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    }
}

Salva ed esci.

Testa la configurazione di nginx e riavvia il servizio nginx.

nginx -t
systemctl reload nginx

E abbiamo aggiunto la configurazione di Nginx per phpmyadmin.

Configura utente MySQL per PhpMyAdmin

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

Accedi alla shell MySQL.

mysql -u root -p

Ora crea un nuovo utente utilizzando le query MySQL di seguito.

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

E abbiamo creato un nuovo utente per l'accesso phpmyadmin.

Fase 7 - Test

Test dei file PHP

Vai alla directory web-root '/var/www/html' e crea un nuovo file phpinfo.

cd /var/www/html/
vim info.php

Incolla lo script phpinfo qui sotto.

<?php
phpinfo();
?>

Salva ed esci.

Ora apri il browser web e digita l'indirizzo IP del server come mostrato di seguito. Sostituisci l'IP con l'ip del tuo server.

http://192.168.33.10/info.php

E di seguito sono riportate tutte le informazioni sulla configurazione del server PHP.

Test accesso PhpMyAdmin

Sul browser web, digita il seguente URL phpmyadmin (sostituisci l'IP con l'IP del tuo server).

http://192.168.33.10/phpmyadmin/

Nella pagina di accesso di phpmyadmin, digita l'utente "hakase" con la password "[email protected]#" e fai clic sul pulsante "Vai".

Ora vedremo la dashboard di phpmyadmin come di seguito.

Lo stack LEMP e PhpMyAdmin sono stati installati correttamente su Ubuntu 18.04 LTS.


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 e configurare PHP e Nginx (LEMP) su Ubuntu 20.04

  5. Come installare LEMP Stack Nginx, MySQL, PHP su Ubuntu 22.04

Installa Nginx, MySQL, PHP (LEMP Stack) su Ubuntu 20.04 LTS

Come installare lo stack LEMP su Ubuntu 20.04

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

Come installare LEMP WordPress Ubuntu e Debian con Virtualhost

Come installare lo stack LEMP con PhpMyAdmin in Ubuntu 20.04

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