Hestia CP - это одна из самых популярных, простых и удобных панелей для управления сайтами, с ее помощью можно добавлять новые сайты, работать с почтой и базами данных, Cron, обновления, файловый менеджер, возможность добавить SSL .

file

В случае возникновения на сайте проблемы с загрузкой страниц связанных с функцией open_basedir, о чем свидетельствует ошибка open_basedir restriction in effect можно отключить данную функцию для конкретного сайта.

На сайте могут возникнуть проблемы с загрузкой страниц связанные с функцией open_basedir, о чем свидетельствует ошибка open_basedir restriction in effect, при необходимости можно отключить данную функцию для конкретного сайта.

Функция open_basedir ограничивает доступ из php скриптов сайта к другим скриптам и каталогам, которые расположены за пределами сайта.
Основное ее назначение изолировать сайты друг от друга, чтобы каждый сайт "видел" только файлы/каталоги своей корневой директории, и не вмешивался в работу других сайтов/каталогов.

Для отключения данной функции, необходимо перейти в конфигурационный файл templates и закомментировать строку, которая имеет отношение к этой функции.
Templates файлы располагаются по пути:

/usr/local/hestia/data/templates/web/php-fpm/ 

Они имеют имена схожие с версиями PHP, для которых надо отключить open_basedir.
Например, темплейт для версии PHP 8.0 называется PHP-8_0.tpl.

file

В данном файле есть строка:

php_admin_value[open_basedir] = ...  

Ее необходимо закомментировать, добавив символ ; в начало строки, чтобы получилось:

;php_admin_value[open_basedir] = ...

Для этого можете воспользоваться любым редактором файлов, как nano или vim, или выполните следующую команду, она найдет нужную строку и закомментирует ее.

Обратите внимание на имя файла в команде, если у Вас другая версия PHP, то не забудьте изменить имя файла поскольку следующий пример предназначен для 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  

Осталось записать изменения из templates в основной конфигурационный файл сайта и перезагрузить службу PHP 8.0, все это сделать можно как вручную через панель управления и файлы панели, так можно выполнить команду.

Обратите внимание, в команде есть 3 переменные:

  • имя пользователя (admin) панели управления где размещается сайт.
  • домен сайта (example.com).
  • название темплейта (PHP-8_0), который мы редактировали выше.

Как и в случае выше, измените эти данные в соответствии со своими, прежде чем запускать команду.

v-change-web-domain-backend-tpl admin example.com PHP-8_0  

На этом настройка завершена.
Теперь можно проверить отключена ли функция с помощью проверочного php скрипта phpinfo.

Вот как выглядит включенная функция open_basedir.

file

И когда она выключена.

file

Важно! Перед началом работ, пожалуйста убедитесь, что Вы сделали бэкап сервера.


Если у Вас возникли трудности с настройкой или появились дополнительные вопросы, вы всегда можете обращаться в нашу службу поддержки через систему тикетов.

Обновлено 30 ноября 2022 г.