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 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 sito
  • example.com — il dominio del tuo sito
  • PHP-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 open_basedir abilitato

Ed ecco cosa dovresti vedere quando è disabilitata:

open_basedir disabilitato open_basedir disabilitato

Aiuto

Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!

Hai bisogno di aiuto?I nostri ingegneri ti aiuteranno gratuitamente con qualsiasi domanda in pochi minutiContattaci