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 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 site
  • example.com — le domaine de votre site
  • PHP-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é open_basedir activé

Et voici ce que vous devriez voir lorsqu'elle est désactivée :

open_basedir désactivé 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 !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter