Questo è un articolo dettagliato. Per una guida veloce leggere il seguente articolo: come installare LEMP (Nginx MySQL PHP)
Installazione Nginx
Per installare Nginx aprire il terminale e dare questi comandi:
sudo apt-get update
sudo apt-get install nginx
Se il firewall di Ubuntu è attivo dovete abilitare il traffico per Nginx:
sudo ufw allow 'Nginx HTTP'
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
Installazione PHP
Per installare PHP da terminale:
sudo apt-get install php-fpm php-mysql
Per rendere l'installazione di PHP più sicura digitare il seguente comando:
ATTENZIONE: Nel momento in cui scrivo PHP 7.0 è l'ultima versione, potreste quindi dover cambiare il percorso del file con la versione da voi utilizzata.
sudo nano /etc/php/7.0/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.0-fpm
Configurare Nginx per utilizzare PHP:
sudo nano /etc/nginx/sites-available/default
Apportare le modifiche necessarie aggiungendo index.php e location ~ .php$:
ATTENZIONE: Nel momento in cui scrivo PHP 7.0 è l'ultima versione, potreste quindi dover cambiare il percorso del file con la versione da voi utilizzata all'interno del blocco location ~ \.php$.
fastcgi_pass unix:/var/run/php/php7.X-fpm.sock;
Quindi:
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 server_domain_or_IP;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}}
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 è terminata.