Introduzione
In questo tutorial tratteremo i passaggi necessari per installare il PHP 7.2 predefinito della distribuzione Ubuntu 18.04 LTS e integrarlo con Nginx e Apache. Ti mostreremo anche come installare PHP 7.1 e 7.3.
La maggior parte dei popolari framework e applicazioni PHP, inclusi WordPress, Laravel, Drupal e Nextcloud, sono compatibili con PHP 7.2.
Prerequisiti
Prima di iniziare con questa esercitazione, assicurarsi di aver effettuato l'accesso come utente con privilegi sudo.
Se desideri installare PHP su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Installare PHP 7.2 per Apache
Se si utilizza Apache come server Web per installare PHP e il modulo PHP di Apache, eseguire il comando seguente:
sudo apt install php libapache2-mod-php
Una volta installati i pacchetti, riavvia il servizio Apache:
sudo systemctl restart apache2
Installare di PHP 7.2 per Nginx
A differenza di Apache, Nginx non ha un supporto integrato per l'elaborazione dei file PHP, quindi è necessario installare un'applicazione separata come PHP FPM ("gestore di processi fastCGI") che gestirà i file PHP.
Per installare i pacchetti FPM PHP e PHP, eseguire il comando seguente:
sudo apt install php-fpm
Una volta installati i pacchetti è possibile verificare lo stato del servizio FPM di PHP con:
systemctl status php7.2-fpm
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-02-08 11:59:40 CET; 13min ago
Docs: man:php-fpm7.2(8)
Main PID: 8680 (php-fpm7.2)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 2298)
CGroup: /system.slice/php7.2-fpm.service
├─8680 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
├─8694 php-fpm: pool www
└─8695 php-fpm: pool www
Ora puoi modificare il blocco server Nginx e aggiungere le seguenti righe in modo che Nginx possa elaborare i file PHP specificando la versione installata, in questo caso la 7.2
:
server {
# . . . il resto del codice
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
Prima di riavviare Nginx, testare la corretta configurazione:
sudo nginx -t
Non dimenticare di riavviare il servizio Nginx in modo che la nuova configurazione abbia effetto:
sudo systemctl restart nginx
Installare estensioni PHP
Per estendere le funzionalità principali di PHP è possibile installare alcune estensioni aggiuntive. Le estensioni PHP sono disponibili come pacchetti e possono essere facilmente installate con:
sudo apt install php-[extname]
Ad esempio, se desideri installare le estensioni MySQL e GD PHP, esegui il comando seguente:
sudo apt install php-mysql php-gd
Dopo aver installato una nuova estensione PHP, non dimenticare di riavviare Apache o il servizio FPM PHP, a seconda della configurazione.
Test di elaborazione PHP
Per verificare se il tuo server web è configurato correttamente per l'elaborazione PHP, crea un nuovo file chiamato info.php all'interno della directory /var/www/html
con il seguente codice:
sudo nano /var/www/html/info.php
<?php
phpinfo();
Salva il file, apri il browser che preferisci e visita http://TUO_DOMINO_O_IP/info.php
La funzione phpinfo
stamperà le informazioni sulla configurazione di PHP.
Installare PHP 7.3 su Ubuntu 18.04
PHP 7.3 è l'ultima versione stabile di PHP. Eseguire i passaggi seguenti per installare PHP 7.3 su Ubuntu 18.04.
Inizia abilitando il repository PHP Ondrej:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Installa PHP 7.3 e alcuni dei moduli PHP più comuni:
sudo apt install php7.3 php7.3-common php7.3-opcache php7.3-cli php7.3-gd php7.3-curl php7.3-mysql php7.3-fpm
Per verificare l'installazione, esegui il seguente comando che stamperà la versione di PHP:
php -v
PHP 7.3.14-6+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:51:32) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.14, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.14-6+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
Ipotizzando di aver installato tutte le versioni di PHP, è possibile cambiare la versione in uso dal terminale con il seguente comando:
sudo update-alternatives --set php /usr/bin/php7.3
Per cambiare la versione in uso da Apache, utilizzare il seguente comando di esempio, che disabilita php 7.2, abilita php 7.3 e riavvia Apache:
sudo a2dismod php7.3; sudo a2enmod php7.1; sudo service apache2 restart
Per cambiare la versione in uso per Nginx, è necessario aprire il file di configurazione e cambiare la versione come visto nei paragrafi precedenti.
Installare PHP 7.1 su Ubuntu 18.04
Utilizzare PHP 7.1 solo se si intende installare un'applicazione non compatibile con PHP 7.2.
Segui i passaggi seguenti per installare PHP 7.1:
Abilita il repository PHP Ondrej digitando:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Installa PHP 7.1 e alcuni dei moduli PHP più comuni:
sudo apt install php7.1 php7.1-common php7.1-opcache php7.1-mcrypt php7.1-cli php7.1-gd php7.1-curl php7.1-mysql php7.1-fpm
Verifica l'installazione digitando:
php -v
PHP 7.1.33-9+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Feb 5 2020 16:53:29) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.33-9+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
Ipotizzando di aver installato tutte le versioni di PHP, è possibile cambiare la versione in uso dal terminale con il seguente comando:
sudo update-alternatives --set php /usr/bin/php7.1
Per cambiare la versione in uso da Apache, utilizzare il seguente comando di esempio, che disabilita php 7.3, abilita php 7.1 e riavvia Apache:
sudo a2dismod php7.3; sudo a2enmod php7.1; sudo service apache2 restart
Per cambiare la versione in uso per Nginx, è necessario aprire il file di configurazione e cambiare la versione come visto nei paragrafi precedenti.
Conclusione
PHP è stato installato correttamente sul server Ubuntu 18.04. Puoi anche leggere come installare e configurare un progetto PHP con Composer.