PHP 5.6 solo per un VirtualHost
Inviato: sabato 9 agosto 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
Codice: Seleziona tutto
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 update
Codice: Seleziona tutto
sudo apt install -y php5.6 php5.6-mysql php5.6-curl php5.6-gd php5.6-mbstring php5.6-xml libapache2-mod-php5.6
Esempio file: /etc/apache2/sites-available/cp.xxxx.com.conf
Codice: Seleziona tutto
<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>
Codice: Seleziona tutto
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Codice: Seleziona tutto
sudo a2ensite cp.yob.im
sudo a2enmod php5.6
sudo systemctl reload apache2
Metti un file phpinfo() nella directory:
Codice: Seleziona tutto
echo "<?php phpinfo(); ?>" > /var/www/cp.yob.im/info.php
Codice: Seleziona tutto
http://cp.xxxx.com/info.php
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.