In questi giorni per chi ha installato LibreNMS un pò di tempo fa riceverà il seguente messaggio di Alert relativo alla versione di PHP utilizzata
In pratica questo messaggio ci avvisa che la versione di PHP minima supportata dal LibreNMS è la 8.3 e che senza questa versione non sarà possibile ricevere gli aggiornamenti futuri.
Quindi non aggiornando il PHP il software continuerà a funzionare senza problemi ma non si aggiornerà più in automatico.
Infatti se facciamo un Validate Config
WARN: PHP version 8.2 is the minimum supported version as of October, 2024. We recommend you update PHP to a supported version (8.3 suggested) to continue to receive updates. If you do not update PHP, LibreNMS will continue to function but stop receiving bug fixes and updates.
Vediamo l’errore riportato nell’immagine sovrastante che ci consiglia di fare l’upgrade alla versione di PHP 8.3 per continuare a ricevere gli aggiornamenti.
PREREQUISTI
La prima cosa da fare è verificare la versione del PHP insatallata con il comando:
0 |
php -v
|
Dovremmo visualizzare un output simile al seguente:
0
1
2
3
|
PHP 8.1.29 (cli) (built: Jun 6 2024 16:53:25) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.29, Copyright (c) Zend Technologies
with Zend OPcache v8.1.29, Copyright (c), by Zend Technologies
|
Nel mio caso, come è possibile vedere la versione installata è la 8.1
Aggiornare l’indice dei pacchetti e aggiornare i pacchetti installati all’ultima versione con i comandi:
0
1
2
|
sudo apt update
sudo apt upgrade
|
Aggiungere il pacchetto PHP 8.3 e altre estensioni PHP richieste di ondrej/php con i comandi:
0
1
2
|
sudo add-apt-repository ppa:ondrej/php
sudo apt update
|
INSTALLAZIONE DEL PHP 8.3
Procedere con l’installazione del PHP 8.3 con il comando:
0 |
sudo apt install php8.3
|
Installare il PFM con il comando:
0 |
sudo apt install php8.3-fpm
|
Al termine dell’installazione, verificare che PHP 8.1 FPM sia stato installato correttamente con questo comando:
0 |
php-fpm8.3 -v
|
Dovremmo visualizzare il saguente output:
0
1
2
3
|
PHP 8.3.13 (fpm-fcgi) (built: Oct 30 2024 11:28:41)
Copyright (c) The PHP Group
Zend Engine v4.3.13, Copyright (c) Zend Technologies
with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
|
Procedere con l’installazione di tutte le estensioni utilizzate da LibreNMS e quindi con il comando:
0 |
sudo apt install php8.3-common php8.3-mysql php8.3-xml php8.3-xmlrpc php8.3-curl php8.3-gd php8.3-imagick php8.3-cli php8.3-dev php8.3-imap php8.3-mbstring php8.3-opcache php8.3-soap php8.3-zip php8.3-redis php8.3-intl -y
|
CONFIGURAZIONE DEL TIMEZONE PER PHP SU NGINX
Adesso procedere con la configurazione del TimeZone sui due file di configurazione del nuovo PHP
0
1
2
|
/etc/php/8.3/fpm/php.ini
/etc/php/8.3/cli/php.ini
|
Editare i due file php.ini con i seguenti comandi:
0
1
2
|
sudo nano /etc/php/8.3/cli/php.ini
sudo nano /etc/php/8.3/fpm/php.ini
|
Cercare all’interno di entrambe i files la riga
0 |
#date.timezone = |
Quindi modificarla con la riga
0 |
date.timezone = Europe/Rome
|
Salvare e chiudere entrambe i files di configurazione.
CONFIGURAZIONE DEL FILE DELL’HOST VIRTUALE DI NGINX
Nel mio caso il file di configurazione si trova all’interno della directory etc/nginx/sites-available
Quindi editare il file con il seguente comando:
0 |
sudo nano etc/nginx/sites-available/librenms
|
Individuare la riga:
0 |
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
|
Quindi sosituirla con la seguente:
0 |
fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
|
Salvare e chiudere il file, quindi controllare che la configurazione di Nginx sia OK con il seguente comando:
0 |
nginx -t
|
Se è tutto OK dovremmo vedere le seguenti righe di codice di conferma
0
1
|
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
|
Riavviare il servizio Nginx per applicare le modifiche con il comando:
0 |
systemctl restart nginx
|
CONFIGURAZIONE DEL TIMEZONE PER PHP SU APACHE
Editare i due file php.ini con i seguenti comandi:
0
1
2
|
sudo nano /etc/php/8.3/cli/php.ini
sudo nano /etc/php/8.3/fpm/php.ini
|
Cercare all’interno di entrambe i files la riga
0 |
#date.timezone = |
Quindi modificarla con la riga
0 |
date.timezone = Europe/Rome
|
Salvare e chiudere entrambe i files di configurazione.
Cambiare il timezone con il seguente comando:
0 |
sudo timedatectl set-timezone Europe/Rome
|
Verificare se il timezone è corretto con il comando:
0 |
sudo dpkg-reconfigure -f noninteractive tzdata
|
Se è tutto ok dovremmo vedere il seguente output:
0
1
2
|
Current default time zone: 'Europe/Rome'
Local time is now: Tue Nov 19 11:07:24 CET 2024.
Universal Time is now: Tue Nov 19 10:07:24 UTC 2024.
|
Quindi eseguire il comando:
0 |
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql -p
|
Riavviare Apache e MariaDB con il comando:
0 |
sudo systemctl restart apache2.service mariadb.service
|
CONFIGURAZIONE DEL PHP-FPM SU APACHE
Creare un file di configurazione PHP-FPM per LibreNMS copiando il file di configurazione esistente.
Posizionarsi nella cartella pool.d con il comando:
0 |
cd /etc/php/8.3/fpm/pool.d/
|
quindi copiare il file di configurazione di LibreNMS con il comando:
0 |
sudo cp www.conf librenms.conf
|
Editare il file librenms.conf con il comando:
0 |
sudo nano librenms.conf
|
Di seguito le modifiche da fare:
sostituire [www] con [librenms]
sostituire user = www-data con user = librenms
sostituire group = www-data con group = librenms
sostituire listen = /run/php/php8.3-fpm.sock con listen = /run/php-fpm-librenms.sock
Salvare e chiudere il file di configurazione
Disattivare il PHP8.1 con il comando:
0 |
sudo a2dismod php8.1
|
Dovremmo visualizzare il seguente output:
0 |
Module php8.1 already disabled
|
Quindi abilitare il PHP 8.3 con il comando:
0 |
sudo a2enmod php8.3
|
Dovremmo visualizzare il seguente output:
0
1
2
3
4
5
|
Considering dependency mpm_prefork for php8.3:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php8.3:
Module php8.3 already enabled
|
Impostare il PHP 8.3 di default con il comando:
0 |
sudo update-alternatives --set php /usr/bin/php8.3
|
Se adesso proviamo a verificiare il PHP di default con il comando:
0 |
php -v
|
Dovremmo visualizzare il seguente output:
0
1
2
3
|
PHP 8.3.13 (cli) (built: Oct 30 2024 11:28:41) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.13, Copyright (c) Zend Technologies
with Zend OPcache v8.3.13, Copyright (c), by Zend Technologies
|
RISOLUZIONE AD EVENTUALI PROBLEMATICHE
Al termine dell’upgrade del PHP potremmo visualizzare la seguente pagina di errore
In pratica questo messaggio ci dice che ci sono dei problemi e di eseguire i comandi seguenti per risolvere:
0
1
2
3
4
|
sudo chown -R librenms:librenms '/opt/librenms'
sudo setfacl -d -m g::rwx /opt/librenms/bootstrap/cache /opt/librenms/storage /opt/librenms/logs /opt/librenms/rrd
sudo chmod -R ug=rwX /opt/librenms/bootstrap/cache /opt/librenms/storage /opt/librenms/logs /opt/librenms/rrd
|
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
0 commenti