PHP 5.6 solo per un VirtualHost
Posted: Saturday 9 August 2025, 12:16
Obiettivo:
Avere Apache2 con PHP 8.x per default
Usare PHP 5.6 solo per un VirtualHost (es. cp.xxxx.com)
Isolato e compatibile per XLRstats vecchi
Opzione 1: Installare PHP 5.6 con Apache via Sury (raccomandato)
1. Aggiungi il repository Sury (mantiene PHP legacy)
2. Installa PHP 5.6 con estensioni comuni
3. Crea VirtualHost con PHP 5.6
Esempio file: /etc/apache2/sites-available/cp.xxxx.com.conf
Se stai usando mod_php5.6 (non FPM), semplifica con:
4. Attiva VirtualHost e modulo
Puoi lasciare il resto del server con PHP 8.x se usi php-fpm per gli altri siti.
5. Verifica
Metti un file phpinfo() nella directory:
Poi visita:
Deve mostrare PHP 5.6.x
Avvertenze
PHP 5.6 รจ vulnerabile: non esporlo su Internet senza reverse proxy o fail2ban/firewall.
Usa .htpasswd o restrizioni IP per proteggere /xlrstats.
Evita di eseguire nuovi progetti con PHP 5.x.
Avere Apache2 con PHP 8.x per default
Usare PHP 5.6 solo per un VirtualHost (es. cp.xxxx.com)
Isolato e compatibile per XLRstats vecchi
Code: Select all
sudo apt install -y apt-transport-https lsb-release ca-certificates curl
curl -fsSL https://packages.sury.org/php/apt.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/php.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt updateCode: Select all
sudo apt install -y php5.6 php5.6-mysql php5.6-curl php5.6-gd php5.6-mbstring php5.6-xml libapache2-mod-php5.6Esempio file: /etc/apache2/sites-available/cp.xxxx.com.conf
Code: Select all
<VirtualHost *:80>
ServerName cp.yob.im
DocumentRoot /var/www/cp.yob.im
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/cp_error.log
CustomLog ${APACHE_LOG_DIR}/cp_access.log combined
</VirtualHost>Code: Select all
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>Code: Select all
sudo a2ensite cp.yob.im
sudo a2enmod php5.6
sudo systemctl reload apache2Metti un file phpinfo() nella directory:
Code: Select all
echo "<?php phpinfo(); ?>" > /var/www/cp.yob.im/info.phpCode: Select all
http://cp.xxxx.com/info.phpPHP 5.6 รจ vulnerabile: non esporlo su Internet senza reverse proxy o fail2ban/firewall.
Usa .htpasswd o restrizioni IP per proteggere /xlrstats.
Evita di eseguire nuovi progetti con PHP 5.x.