Hestia - относительно свежая серверная панель, появилась в 2019 году, за основу была взята другая, популярная бесплатная панель - Vesta. Hestia и Vesta имеют много общего, что сложно не заметить, при этом Hestia предоставляет больше возможностей по управлению сервером, как минимум есть файловый менеджер и выбор версии PHP из коробки, есть доступ по API, а главное - панель обновляется и развивается.
Когда наткнулся на эту панель, сразу решил установить, тем более есть VPS с Vesta, с ошибками, до которого уже почти год руки не доходили переустановить.. вот и повод нашелся.
Установка
Идем на сайт панели - hestiacp.com, где сразу же на главной странице видим список поддерживаемых ОС (на сейчас это Debian 9, 10 и Ubuntu 18.04 LTS, 20.04 LTS, только x64) и краткую инструкцию для установки. Для стандартной установки достаточно выполнить:
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
bash hst-install.sh
Как и у Vesta, можно использовать разные параметры для установочного скрипта, на странице можно найти пример использования и ссылку на документацию, в которой есть все возможные параметры.
Для себя использую вариант с запуском стандартной установки на Debian 10. Поскольку рекомендуется устанавливать на чистую систему, предварительно запустил переустановку. Перед установкой панели не помешает обновиться:
ssh root@xxx.xxx.xxx.xxx
apt update
apt upgrade
Скачиваем скрипт:
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
Запускаем
bash hst-install.sh
Дальше установщик покажет что планируется установить:
Дальше устанощик попросит ввести email админа и хост (какой-нибудь домен). Вводим и ждем.
По завершению установки покажет данные для входа (порт, кстати, тот же что и для Vesta - 8083) и попросит перезагрузить, нажав любую кнопку. После перезагрузки переходим по адресу в браузере, вводим логин и пароль, попадаем в панель. Кстати, приятный сюрприз - если переходить в панель использя домен, а не IP, то безопасное соединение работает без каких-либо предупреждений от браузера, сертификат от Lets Encrypt сразу правильно установлен.
Интерфейс, возможности
После входа в панель можно сразу сменить язык по-умолчанию на русский, для этого переходим в: Server->Configure->Basic Options->Default Language. Где найти и общий вид:
Далее стоит пройтись по основным вкладкам - USER, WEB, DNS и т.д.:
- USER - здесь управление пользователями, их можно добавлять сколько угодно. Для назначения прав, лимитов есть пакеты.
- WEB - Управление сайтами: добавление, редактирование, просмотр логов, установка сертификатов, статистика. Для каждого сайта можно указать свою версию PHP. Что бы иметь возможность выбрать версию, ее нужно установить в настройках.
- DNS, WEB, DB - ничего интересного, все понятно
- CRON - управление задачами по расписанию, удобное.
- BACKUP - бэкапы. Создаются автоматом, время создания прописано в cron, количество указывается в пакетах. Можно создать вручную, в этой вкладке
Что касается других возможностей, не все буду описывать, но на чем то остановлюсь подробно.
Файловый менеджер - открывает папку Home текущего пользователя. Даже для админа (хотя это пользователь с особыми правами, но корневой каталог ему недоступен). Выглядит так:
Есть редактор файлов.
Настройки сервера. Сюда я уже заглядывал, когда менял язык, теперь подробнее.
- Основные. Выбор языка, часового пояса, смена имени хоста, а еще здесь можно выбрать тему оформления.
- Web Server - настройка веб-сервера (Proxy Server, Web Server, Backend Server) и установка версий PHP
- Резервные копии - можно настроить сжатие, удаленный FTP, отключить локальный бэкап (и использовать только удаленный). При настройке удаленного бэкапа необходимо указывать порт, даже если это стандартный 21.
- Безопасность. Здесь можно включить/выключить доступ по API, изменить права пользователей.
Это не все настройки, только самые на мой взгляд интересные. Еще в настройках можно управлять IP сервера, кнопка не самая заметная, между "Назад" и "Файервол".
Бэкапы. Восстановление
Учитывая, что ранее на сервере, где сейчас установил Hestia была установлена панель Vesta, мне было очень интересно, сможет ли нормально восстановиться бэкап из той панели. Посмотрел команды на создание/восстановление бэкапа и оптимизма прибавилось - те же самые, что и у Vesta. Создание:
sudo /usr/local/hestia/bin/v-backup-users
Восстановление (для конкретного пользователя, например admin):
v-restore-user admin admin.2021-08-07_21-53-39.tar
Попробую. Подключился по FTP как root, в корне есть каталог backup, загрузил туда архив с бэкапом, правда не для админа а для другого пользователя (admin решил вообще не восстанавливать, раскидать сайты по другим пользователям), ввел команду на восстановление и процесс пошел, восстановление прошло без ошибок и сюрпризов, все работает.
Важное по настройкам
Здесь буду постепенно добавлять некоторые важные моменты.
Политики. Владение доменом. Если есть некий домен, на котором создаются поддомены у разных пользователей, необходимо зайти в: настройки -> безопасность -> политики -> домены - "Владеть включая поддомены" и здесь выставить "Нет". В моем случае важный пункт, т.к. при разработке сайтов, все что в работе временно размещается на поддоменах, при этом в некоторых случаях для сайта создается отдельный пользователь и если не изменить эту настройку, создать поддомен вида newsite1111.webrazrab.ru будет нельзя.
Несколько версий PHP и php.ini. При использовании нескольких версий PHP, нужно проявлять осторожность при изменении php.ini. Т.к. в php.ini кроме параметров, которые можно выставлять одинаковые для всех версий, могут быть и специфические для каждой версии, крайне не рекомендую делать изменения через настройки в панели. Меняет php.ini для всех версий, просто сохраняет одну копию. Это так же касается: Настройки Сервера: PHP. Лучше воспользоваться FTP. php.ini можно найти в:
/etc/php/X.X/cli/php.ini
/etc/php/X.X/fpm/php.ini
Спасибо за статью.
Интересно, а при переносе пользователей с Весты, что будет с путями, где ранее было /vesta/, а стало /hestia/, например в задачах крона disk.yandex.ru/i/Fs2ZzLEjzy9zuw? Наверное есть еще такие пути…
Здесь не подскажу, т.к. такие задачи только у admin, а его не переносил… сайтов не держу на этом пользователе. Остальные импортируются без проблем, совместимость хорошая.
ps. стандартные задачи там все аналогичные, только «hestia» вместо «vesta» в пути.
А как быть с IP адресом от старого сервака, который фигурирует в конфигах к каждому проекту /home/user_dir/conf/web?
Все записи в DNS переносятся при импорте. Что касается общих настроек, как по мне лучше заново сделать, это не долго. Т.е. сначала в настройки->IP добавить все дополнительные IP, а при импорте пользователей они должны подхватиться, но лучше пройти и проверить, назначенные IP, версию PHP
Спасибо
Еще вопросы назрели)
На старом серваке у меня Centos 7.7 и Nginx+Apache. Hestia с Центосом не работает… тут либо Дебиан, либо Убунта. И как я понял там Nginx+phpfm.
1. Какую ОС посоветуете для Хестии?
2. Не будет ли проблем при переезде с Apache на phpfm?
А то наткнулся на один материал geek-speak.ru/forums/topic/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC-web-server-%D0%BD%D0%B0-hestiacp-%D0%B8-%D0%BF%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81-%D1%81%D0%B0%D0%B9%D1%82%D0%B0/ там в самом низу про 500 ошибку.
Использую Debian 9 и 10, никаких проблем. Ошибки были, но на сколько помню, из-за перехода на php 7.4.
Исключать в любом случае нельзя появления ошибок, что при смене панели, что при смене хостинга… самое главное в той же статье:
Кстати, apache никуда не делся