Désactiver open_basedir dans Hestia CP
Comment désactiver la restriction open_basedir pour un site spécifique.
Hestia CP est l'un des panneaux de contrôle d'hébergement les plus populaires et les plus accessibles du marché. Il gère tout : sites web, e-mail, bases de données, certificats SSL, gestion de fichiers et tâches planifiées.
Qu'est-ce qu'open_basedir et pourquoi le désactiver ?
La directive open_basedir restreint les scripts PHP aux fichiers situés dans le répertoire racine de leur propre site. C'est une mesure de sécurité judicieuse qui isole les sites les uns des autres — chacun ne voit que ses propres fichiers et ne peut pas interférer avec le reste du serveur.
Cela dit, elle peut parfois gêner. Certains scripts ont légitimement besoin d'accéder à des fichiers en dehors de la racine du site, et lorsque open_basedir les bloque, une erreur de ce type apparaît dans vos logs ou directement sur la page :
open_basedir restriction in effect
Dans ce cas, vous pouvez désactiver la restriction pour le site concerné sans toucher au reste de votre configuration.
Désactiver open_basedir
Les fichiers de templates PHP-FPM sont stockés ici :
/usr/local/hestia/data/templates/web/php-fpm/
Chaque fichier correspond à une version de PHP spécifique. Pour PHP 8.0, par exemple, le template s'appelle PHP-8_0.tpl.
Fichiers de templates PHP-FPM dans Hestia CP
Ouvrez le template correspondant à votre version de PHP et repérez cette ligne :
php_admin_value[open_basedir] = ...
Commentez-la en ajoutant un point-virgule au début :
;php_admin_value[open_basedir] = ...
Vous pouvez le faire manuellement dans n'importe quel éditeur de texte (nano, vim) — ou exécutez simplement la commande ci-dessous pour que ce soit fait automatiquement.
Pensez à adapter le nom du fichier si vous utilisez une autre version de PHP. L'exemple ci-dessous cible 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
Si vous avez modifié le fichier manuellement, enregistrez-le avec Ctrl + O → Entrée → Ctrl + X.
Appliquer les modifications
Une fois le template mis à jour, vous devez propager les modifications au site et recharger PHP. Exécutez la commande ci-dessous en remplaçant les trois paramètres par vos propres valeurs :
admin— le nom d'utilisateur Hestia CP auquel appartient le siteexample.com— le domaine de votre sitePHP-8_0— le nom du template que vous venez de modifier
v-change-web-domain-backend-tpl admin example.com PHP-8_0
Vérifier le résultat
Vérifiez qu'open_basedir n'est plus actif en générant une page phpinfo() sur votre site.
Voici à quoi ça ressemble lorsque la restriction est activée :
open_basedir activé
Et voici ce que vous devriez voir lorsqu'elle est désactivée :
open_basedir désactivé
Aide
Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !