Hestia CP - это одна из самых популярных, простых и удобных панелей для управления сайтами, с ее помощью можно добавлять новые сайты, работать с почтой и базами данных, Cron, обновления, файловый менеджер, возможность добавить SSL.
В случае возникновения на сайте проблемы с загрузкой страниц связанных с функцией 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.
В данном файле есть строка:
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.
И когда она выключена.
Важно! Перед началом работ, пожалуйста убедитесь, что Вы сделали бэкап сервера.
Если у Вас возникли трудности с настройкой или появились дополнительные вопросы, вы всегда можете обращаться в нашу службу поддержки через систему тикетов.