Disabilitare open_basedir in Hestia CP
Come disattivare la restrizione open_basedir per un sito specifico.
Hestia CP è uno dei pannelli di controllo per l'hosting più popolari e intuitivi in circolazione. Gestisce tutto: siti web, email, database, certificati SSL, file e attività pianificate.
Cos'è open_basedir e perché disabilitarlo?
La direttiva open_basedir limita gli script PHP all'accesso dei soli file presenti nella directory radice del proprio sito. È una misura di sicurezza sensata che isola i siti l'uno dall'altro — ognuno vede solo i propri file e non può interferire con il resto del server.
Detto questo, a volte può intralciare il lavoro. Alcuni script hanno legittimamente bisogno di accedere a file al di fuori della radice del sito, e quando open_basedir li blocca, nei log o direttamente sulla pagina compare un errore come questo:
open_basedir restriction in effect
In questo caso puoi disabilitare la restrizione per il sito interessato senza toccare il resto della configurazione.
Disabilitare open_basedir
I file dei template PHP-FPM si trovano qui:
/usr/local/hestia/data/templates/web/php-fpm/
Ogni file corrisponde a una versione specifica di PHP. Per PHP 8.0, ad esempio, il template si chiama PHP-8_0.tpl.
File dei template PHP-FPM in Hestia CP
Apri il template per la tua versione di PHP e individua questa riga:
php_admin_value[open_basedir] = ...
Commentala aggiungendo un punto e virgola all'inizio:
;php_admin_value[open_basedir] = ...
Puoi farlo manualmente con qualsiasi editor di testo (nano, vim) — oppure esegui il comando seguente per farlo in automatico.
Assicurati di aggiornare il nome del file se stai usando una versione di PHP diversa. L'esempio seguente è relativo a PHP 8.0.
sed -i 's/php_admin_value\[open_basedir\]/;php_admin_value\[open_basedir\]/g' /usr/local/hestia/data/templates/web/php-fpm/PHP-8_0.tpl
Se hai modificato il file manualmente, salvalo con Ctrl + O → Invio → Ctrl + X.
Applicare le modifiche
Una volta aggiornato il template, devi propagare le modifiche al sito e ricaricare PHP. Esegui il comando seguente, sostituendo i tre parametri con i tuoi valori:
admin— il nome utente di Hestia CP a cui appartiene il sitoexample.com— il dominio del tuo sitoPHP-8_0— il nome del template che hai appena modificato
v-change-web-domain-backend-tpl admin example.com PHP-8_0
Verificare il risultato
Controlla che open_basedir non sia più attivo generando una pagina phpinfo() sul tuo sito.
Ecco come appare quando la restrizione è abilitata:
open_basedir abilitato
Ed ecco cosa dovresti vedere quando è disabilitata:
open_basedir disabilitato
Aiuto
Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!