PHP 5.6 solo per un VirtualHost

Qualsiasi cosa inseritela qui
Rispondi
Avatar utente
Matteo
Admin
Admin
Messaggi: 46
Iscritto il: venerdì 5 novembre 2021, 11:10

PHP 5.6 solo per un VirtualHost

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)

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
🔧 2. Installa PHP 5.6 con estensioni comuni

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
✅ 3. Crea VirtualHost con PHP 5.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>
Se stai usando mod_php5.6 (non FPM), semplifica con:

Codice: Seleziona tutto

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
✅ 4. Attiva VirtualHost e modulo

Codice: Seleziona tutto

sudo a2ensite cp.yob.im
sudo a2enmod php5.6
sudo systemctl reload apache2
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:

Codice: Seleziona tutto

echo "<?php phpinfo(); ?>" > /var/www/cp.yob.im/info.php
Poi visita:

Codice: Seleziona tutto

http://cp.xxxx.com/info.php
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.
Rispondi