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

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


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