Si chiamano Nginx, MariaDB e PHP7.2 (LEMP). Di seguito sono riportati i passaggi per installare LEMP su Ubuntu 18.04 LTS.
- Aggiorniamo il nostro pacchetto Ubuntu.
# sudo apt update
# sudo apt upgrade - Installa il server web Nginx. È un server ad alte prestazioni e viene utilizzato come proxy inverso.
# sudo apt install Nginx
- Avvia e abilita Nginx. Avvierà automaticamente Nginx all'avvio.
# sudo systemctl start nginx
# sudo systemctl enable nginx - Puoi controllare la versione di Nginx con il comando seguente.
# nginx -v
nginx version: nginx/1.14.0 (Ubuntu)
Puoi accedere all'indirizzo IP del server nel browser e verrà visualizzata la pagina Nginx predefinita.
Possiamo impostare www-data (utente Nginx) come proprietario della directory web.
# sudo chown www-data:www-data /usr/share/nginx/html -R
- Installa MariaDB con il comando seguente. MariaDB è un sostituto di MySQL.
# sudo apt install mariadb-server mariadb-client
- Avvia e abilita MariaDB. Avvierà automaticamente MariaDB all'avvio.
# sudo systemctl start mariadb
# sudo systemctl enable mariadb - Esegui il comando seguente per lo script di sicurezza post-installazione.
# sudo mysql_secure_installation
- Inserisci la password di root MySQL e conferma la password e imposta la configurazione richiesta.
- Verifica la versione di MariaDB con il comando seguente.
# mariadb --version
Darà sotto output.
# mariadb Ver 15.1 Distrib 10.1.43-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
- Per impostazione predefinita, PHP 7.2 è incluso nel repository Ubuntu predefinito per 18.04. Tuttavia, inserisci il comando seguente per installare php7.2 con alcune estensioni comuni.
# sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
- Avvia e abilita PHP 7.2-fpm Avvierà automaticamente il PHP all'avvio.
# sudo systemctl start php7.2-fpm
# sudo systemctl enable php7.2-fpm - Esegui il comando seguente per rimuovere il collegamento simbolico predefinito nella directory abilitati ai siti.
# sudo rm /etc/nginx/sites-enabled/default
- Crea un nuovo file di blocco del server all'interno della directory /etc/nginx/conf.d/.
# sudo nano /etc/nginx/conf.d/default.conf
- Aggiungi il testo seguente in default.conf
server { listen 80; listen [::]:80; server_name _; root /usr/share/nginx/html/; index index.php index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } # A long browser cache lifetime can speed up repeat visits to your page location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { access_log off; log_not_found off; expires 360d; } # disable access to hidden files location ~ /\.ht { access_log off; log_not_found off; deny all; } }
- Salva e chiudilo e riavvia il servizio Nginx.
# sudo systemctl reload nginx
- Testeremo PHP-FPM con NGINX Web Server. Creiamo la pagina phpinfo.php nella directory principale.
# sudo nano /usr/share/nginx/html/info.php
- Incolla il codice delle informazioni php come di seguito.
<?php phpinfo();>