PHP 5 su Ubuntu 22 con Plesk

Come si fa a installare PHP 5, una versione giurassica, su una server Linux nuovo fiammante? Come, ma soprattutto, perchè?

Seriamente non dovreste farlo. PHP 5, anche nella sua ultima versione, non riceve più aggiornamenti dalla fine del 2018, quindi da più di sei anni.

Lo so cosa state pensando: “c’è un mio amico che usa ancora Windows XP sul suo portatile eppure non è esploso, questa storia del software che non viene più aggiornato è un complotto, si inserisce nel filone dell’obsolescenza programmata“.

Senza entrare nel merito del complottismo dovreste pensarci seriamente: il PC del vostro amico non è destinato a essere un server pubblico, quindi permanentemente esposto a potenziali attacchi da parte di pigs and dogs, magari non è neanche connesso a internet e viene usato solo per il programma di gestione della contabilità, su floppy disk. Non è la stessa cosa.

So anche che se state cercando di installare PHP 5 su un server nuovo dovete avere un buon motivo. Molto probabilmente c’è un vostro cliente che ha ancora una applicazione, un CMS o una qualche diavoleria che gira solo col PHP 5 e gli sviluppatori sono andati in pensione / hanno vinto la lotteria / vogliono essere pagati. Insomma il cliente non può aggiornare quella applicazione. Ciò è male.

Per riassumere: installare e usare PHP 5 non è una buona idea: è vecchio, non manutenuto, e nel 99% dei casi sarà installato su un server pubblico, quindi esposto potenzialmente ai tentativi di attacco di tutto il mondo. Il modo giusto per risolvere il problema è aggiornare l’applicazione in modo che possa funzionare su una versione di PHP meno obsoleta.

Non potete installare il PHP 5 in Plesk con il metodo tradizionale, non lo troverete. Neanche seguendo la procedura descritta, la via da percorrere è un’altra.

Versioni di PHP disponibili in plesk
Versioni di PHP disponibili in plesk

Detto questo, se proprio dovete farlo, posso suggerirvi una strada per farlo. Non sono un grande esperto quindi non sono sicuro che sia la via migliore. Però è una via che ho sperimentato e funziona.

Lo scenario è questo: avete un server nuovo di fiamma, con una versione di Linux relativamente recente. Io ho provato sia con Debian 11 sia con Ubuntu 22.04 (le schermate che vedrete si riferiscono a Ubuntu). Tutto quanto dovrebbe essere valido anche per Fedora e compagnia ma non l’ho testato. Cominciamo.

La via maestra per installare PHP 5 su un Server con Plesk è seguire la guida pubblicata sul forum ufficiale. Questa prevede lo scaricamento di tutto il necessario sul server, la compilazione del PHP 5 con la creazione di tutto quanto il necessario. Sembra complicato ma basta seguire la ricetta step by step.

La via ufficiale funziona ma ha alcune controindicazioni.

Io immagino che lo scopo finale di questa installazione sia far funzionare una vecchia applicazione che non può essere aggiornata, quindi magari avete bisogno di qualche handler. Per esempio exif, odbc o magari una sciocchezzuola come un collegamento a mysql. In questi casi la compilazione suggerita nel tutorial di Plesk potrebbe non riuscire nello scopo finale.

Inoltre la versione di PHP che compilate, per definizione, non riceverà mai nessuna manutenzione. Se venisse scoperto un bug in grado di creare l’apocalisse e un volontario lo mettesse a posto, voi dovreste ripetere la procedura di scaricamento e compilazione per essere coperti. Che non ci credo neanche se lo vedo.

La via che ho seguito è quella di installare PHP da un repository non ufficiale ma con ottima reputazione. Prima di spiegare tutti i passi necessari lasciatemi premettere ancora una volta che:

  • Usare ancora PHP 5 oggi è una pessima idea.
  • Non mi assumo alcuna responsabilità se vi esplode il server, oggi o in futuro.
  • Non fornisco alcun tipo di assistenza.

Procediamo.

Come detto ho sperimentato questo metodo con Debian 11 e 12 e con Ubuntu 22, le schermate che vedrete si riferiscono a ubuntu.

Per prima cosa quindi dovrete avere un server configurato, compreso Plesk. Collegatevi via ssh e andiamo a cominciare.

sudo apt-get install software-properties-common

Questo serve a installare lo script che permette di aggiungere il nuovo repository, Nella vostra configurazione potrebbe anche non essere necessario.

A questo punto dovrete aggiungere il repository di cui vi ho parlato:

sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/apache2
sudo add-apt-repository ppa:ondrej/nginx-mainline
sudo apt update
sudo apt search php

A questo punto potete procedere con l’installazione di PHP 5. Nell’esempio io installato la 5.6 che è la meno giurassica, poi fate voi:

sudo apt update
sudo apt install php5.6-fpm

In teoria a questo punto avete finito, potremmo passare direttamente alla registrazione del PHP in Plesk ma, come dicevo prima, è probabile che dobbiate aggiungere qualche handler. Nelle istruzioni qui sotto ho messo (quasi) tutto, eventualmente togliete quello che non vi serve.

sudo apt install php5.6-mysql php5.6-gd php5.6-soap php5.6-curl php5.6-mbstring php5.6-xml php5.6-xsl
sudo apt install php5.6 php5.6-fpm php5.6-cgi php5.6-mongodb php5.6-mysql php5.6-xsl php5.6-xml php5.6-tidy php5.6-recode php5.6-mcrypt php5.6-mbstring php5.6-intl php5.6-gd php5.6-curl php5.6-json php5.6-imagick php5.6-bcmath php5.6-readline php5.6-sqlite3 php5.6-bz2 php5.6-dba php5.6-enchant php5.6-imap php5.6-ldap php5.6-odbc php5.6-pgsql php5.6-pspell php5.6-zip php5.6-soap php5.6-memcache php5.6-memcached
PHP 5.6 settings in Plesk
PHP 5.6 settings in Plesk

A questo punto dovrete registrare il PHP 5.6 in modo da poterlo gestire con Plesk, nell’esempio di seguito ho creato la FPM, Fastcgi e CGI:

plesk bin php_handler --add -displayname "5.6 fpm" -path /usr/sbin/php-fpm5.6 -phpini /etc/php/5.6/fpm/php.ini -type fpm -id deb-php56-fpm -clipath /usr/bin/php5.6 -service php5.6-fpm -poold /etc/php/5.6/fpm/pool.d

plesk bin php_handler --add -displayname "5.6 fastcgi" -path /usr/bin/php-cgi5.6 -clipath /usr/bin/php5.6 -phpini /etc/php/5.6/cgi/etc/php.ini -type fastcgi -id "php56-fastcgi"

plesk bin php_handler --add -displayname "5.6 CGI" -path /usr/bin/php-cgi5.6 -clipath /usr/bin/php5.6 -phpini /etc/php/5.6/cgi/etc/php.ini -type cgi -id "php56-cgi"

Per concludere e tanto per stare tranquilli date una bella riavviata ad apache. Se riparte è un buon segno:

systemctl restart apache2
PHP 5 in plesk
PHP 5 in plesk

A questo punto nel pannello di Plek troverete tutto il necessario per lavorare serenamente.

Gestione php 5 nel sito plesk
Gestione php 5 nel sito plesk

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna in alto