Come disattivare la funzione open_basedir in Hestia CP

2 ottobre, 2023

Se il caricamento delle pagine sul sito è accompagnato da problemi relativi a open_basedir, è possibile disattivare la funzione indicata. Questo è segnalato dall'errore open_basedir restriction in effect, che si verifica nei [log degli errori] sul server o sulle pagine del sito.  

Il concetto di open_basedir consiste nel limitare l'accesso degli script PHP del sito ad altre directory e script situati al di fuori dei suoi confini. Lo scopo principale della funzione è isolare i siti, in modo che ciascuno di essi possa accedere ai file o alle directory della propria root senza interferire con sistemi simili di altri siti.  

La rilevanza dell'algoritmo riportato di seguito è mantenuta per il pannello Hestia. Prima di iniziare, l'utente deve assicurarsi di aver effettuato un [snapshot del server], poiché la responsabilità del processo ricade sul proprietario del server. L'algoritmo da seguire è il seguente:

  1. Commentare la riga relativa alla funzione indicata nel file di configurazione del template. La posizione dei file di template può essere trovata nel percorso /usr/local/hestia/data/templates/web/php-fpm/. I loro nomi sono simili ai nomi delle versioni di PHP. Ad esempio, per la versione 7.4 è previsto un template con il nome PHP-7_4.tpl.   La riga php_admin_value[open_basedir] = deve essere commentata. All'inizio della riga si aggiunge il simbolo punto e virgola come ;php_admin_value[open_basedir] = … L'operazione può essere eseguita in qualsiasi editor di file — ad esempio, vim o nano. Può aiutare il comando sed -i ‘s/php_admin_value\[open_basedir\]/;php_admin_value\[open_basedir\]/g’ /usr/local/hestia/data/templates/web/php-fpm/PHP-7_4.tpl. In questo comando, è importante prestare attenzione al nome del file: deve corrispondere alla versione di PHP desiderata. L'utente deve modificare il nome secondo necessità. 
  2. Apportare modifiche alla configurazione principale del sito e riavviare il servizio PHP. Le operazioni vengono eseguite manualmente tramite il pannello di controllo o tramite il comando v-change-web-domain-backend-tpl admin example.pp.ua PHP-7_4. Nella riga indicata ci sono tre variabili: nome utente, dominio del sito e nome del template — rispettivamente admin, example.pp.ua, PHP-7_4. L'utente modifica i dati forniti secondo necessità prima di eseguire il comando.
  3. Verificare la disattivazione della funzione. 

L'ultimo passaggio viene eseguito utilizzando lo script phpinfo.