Hestia — бесплатная панель управления сервером. В ее состав входит ПО, нужное для работы сайтов и почты, вам не понадобится устанавливать его вручную. Ещё с Hestia удобно управлять сайтами на боксах, устанавливать сертификаты, редактировать файлы прямо из веб-интерфейса.
Установка
Создать бокс с предустановленной панелью Hestia на базе ОС Ubuntu или Debian можно из Панели управления в пару кликов. Стандартные компоненты панели достаточно требовательны к ресурсам — стоит выбрать бокс с как минимум 1 Гб оперативной памяти.
Для созданных ранее боксов и при использовании другой ОС установка Hestia заключается в скачивании скрипта с сайта разработчика и его выполнении. Чтобы ее начать, подключитесь к боксу по SSH.
- Скачайте скрипт установки командой
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
- Запустите скрипт. Можно сразу добавить к нему ключ -l, чтобы панель установилась на русском языке, и ключ -о, чтобы установить несколько версий PHP сразу:
bash hst-install.sh -l ru -o yes
- Если при запуске видите ошибку с текстом «Error: group admin exists», повторите запуск с ключом --force:
bash hst-install.sh -l ru -o yes --force
- Ответьте на предварительные вопросы установщика
Начать ли установку:Would you like to continue with the installation? [Y/N]: Y
Введите адрес администратора. На него придут данные для доступа в панель, когда установка завершится.Please enter admin email address: your@email.com
Введите hostname бокса (например, домен, который планируете разместить):Please enter FQDN hostname [box-101187]: yourdomain.ru
После завершения установки ПУ покажет данные для входа:Admin URL: https://IP_БОКСА:8083 Username: admin Password: wMDfGxVC45wIjB6hb
- И предложит перезапустить бокс, сделайте это:
Do you want to reboot now? [Y/N] Y
Если вдруг не запишете или забудете пароль — его всегда можно будет задать заново командой v-change-user-password:
v-change-user-password admin новыйпароль
Базовые операции
Интерфейс панели делится на 4 основные части:
- небольшая строка заголовка с информацией о панели, ее настройках, ссылки на документацию;
- меню для перехода в разделы управления сайтами, почтой, базами данных;
- строка операций — в ней показываются кнопки действий (добавить что-то, сохранить изменения) и возврата в предыдущее меню;
- основная рабочая зона.
Панель частично поддерживает русский язык: интерфейс переведен не полностью, но того, что есть, хватает для удобной работы с панелью. Если вы не указали ключ -l при установке, язык можно поменять в настройках панели. Нажмите на иконку редактирования профиля (в левом верхнем углу), пролистайте до выпадающего меню «Language» и выберите в нем русский язык. Сохраните изменения кнопкой «Save» в правой части строки операций.
Работа с файлами
Панель предлагает свой файловый менеджер, переход в него — по кнопке «Файлы» в верхнем меню. С его помощью можно загружать, редактировать, перемещать, удалять файлы, распаковывать и создавать архивы. Корневая директория для каждого сайта размещена по пути ~/web/имя_домена/public_html
Работа с базами данных
Управлять базами данных можно в одноименном разделе — DВ.
Для создания базы данных нажмите «Добавить БД». Панель предложит заполнить поля:
- База данных — имя базы данных. К введенному значению автоматически добавится префикс admin_
- Аккаунт
- Пароль — можно ввести вручную или сгенерировать
- Остальное можно не трогать
Сохраните изменения кнопкой в правой части строки операций.
Работать с содержимым базы можно в phpMyAdmin, кнопка для входа в этом же разделе, также доступен по прямой ссылке — http://IP_БОКСА/phpmyadmin/ Если ссылка с IP-адресом не работает — используйте вместо него первый добавленный в панели домен.
Для входа нужны будут имя пользователя базы и его пароль.
Если вы хотите подключаться к базе данных удаленно, например, со своего компьютера, разрешите соединения на 3306 порт в файрволе панели и отредактируйте файл /etc/mysql/mariadb.conf.d/50-server.cnf, заменив значение в строке bind-address на 0.0.0.0.
Установка CMS
Панель предлагает возможность установить несколько CMS на сайт в пару кликов:
- WordPress
- Opencart
- PrestaShop
- Laravel
- Symfony
Для установки перейдите в раздел «Web», кликните на имя домена, нажмите «Установить приложение» в правой колонке. Под именем нужной CMS нажмите «Настроить».
Если в директории сайта есть другие файлы — их нужно удалить: панель не очищает корневую директорию сама.
Для установки нужно будет заполнить ряд полей (на примере WordPress):
- придумать имя и описание сайта
- будущие логин, e-mail и пароль администратора сайта
- данные для подключения к базе данных (можно отметить чекбокс «Database Create», и панель сама создаст базу данных)
Заполнив все поля, нажмите кнопку «Установить» в правой колонке.
Работа с почтой
По умолчанию панель не добавляет домен для почты, поэтому сначала надо его создать, нажав «Добавить домен». Введите имя домена, отметьте или уберите отметки с пунктов «Антиспам», «Антивирус», DKIM.
Чтобы создать ящики, перейдите к домену и нажмите «Добавить аккаунт». Заполните поля:
- Аккаунт — имя ящика
- Пароль
Можно сохранить аккаунт уже сейчас, а можно развернуть дополнительные опции:
- Квота — если ее превысить, новые письма перестанут поступать
- Алиасы — имена, которые привяжутся к этому же ящику
- Пересылка — можно настроить, на какой ящик перенаправлять письма
Подключиться к ящику можно с помощью любого почтового клиента:
- В качестве имени сервера указывайте ваш домен
- Порты стандартные — 110 для POP3, 143 для IMAP, 25 для SMTP
- Именем пользователя будет само имя ящика, без домена (info, а не info@domain.ru)
Можно пользоваться и веб-интерфейсом по адресу webmail.domain.ru, заменив domain.ru на ваш домен. Для этого нужно добавить A-запись для поддомена webmail на тех NS-серверах, куда делегирован домен, и подождать обновления кеша DNS.
SSL-cертификаты
SSL-сертификат на сайт можно установить в разделе WEB. Доступны к установке сертификаты Let’s Encrypt и собственные, самоподписной сертификат установить нельзя.
Перейдите к имени домена, отметьте чекбокс «Поддержка SSL».
Для установки сертификата Let’s Encrypt отметьте чекбокс «Поддержка Lets Encrypt» и сохраните изменения.
Чтобы установить свой сертификат, вам потребуются его ключ и сам сертификат — запросите их у эмитента и вставьте содержимое файлов в соответствующие поля.
В меню доступны дополнительные опции:
- Принудительный редирект HTTP-на-HTTPS
- Включить HTTP Strict Transport Security (HSTS)
Обе позволят сделать так, чтобы сайт открывался только по протоколу HTTPS, с одним отличием: первая будет перенаправлять все запросы на HTTPS, вторая же — отклонять соединения по HTTP, сообщая браузеру, что обращаться к сайту нужно сразу по HTTPS.
FTP-аккаунты
По FTP можно подключаться как с данными основного пользователя панели (admin), так и создать нового пользователя. Добавляются аккаунты из меню домена: WEB → ваш домен → Дополнительный FTP аккаунт. Поля к заполнению:
- Аккаунт — имя пользователя, которое нужно придумать. К нему панель автоматически добавит префикс admin_
- Пароль
- Путь — определяет, какая наивысшая директория будет доступна пользователю. Можно оставить стандартным, можно поменять
Cron
Заданиями можно управлять в разделе CRON.
Чтобы создать новое — нажмите «Добавить задание». На открывшейся странице введите само задание и укажите время выполнения. Можно задать интервал классически — указав значения в формате crontab, а можно выбрать нужное время запуска с помощью окна справа.
Бекапы
По умолчанию Hestia дает создавать один бекап — следующий заменит при создании уже существующий. В бекапе хранятся:
- настройки доменов
- файлы и базы данных
- почта
- задания Cron
Настроить количество бекапов можно в разделе «User», нажав «Пакеты» в строке состояния. Перейдите к самому пакету — default, пролистайте вниз до поля «Резервные копии», укажите в нем нужное количество бекапов, сохраните изменения.
Путь хранения бекапа можно изменить, например, сделав так, чтобы бекап сохранялся на отдельном диске Ice Storage. Для этого перейдите в настройки сервисов (шестеренка в верхнем меню), нажмите «Настроить» в строке операций, перейдите к строке «Резервные копии».
Также бекапы создаются автоматически. В отличие от бекапов машины, которые делаем мы, автоматические бекапы панели Hestia не отличаются от ручных ничем: под них не выделяется отдельного слота, и автоматический бекап может заменить ручной. По умолчанию создаются в 05:10, время можно изменить, отредактировав задание sudo /usr/local/hestia/bin/v-backup-users в настройках Cron.
Настройки сервисов
Для их редактирования нажмите на шестеренку в верхнем меню или перейдите по ссылке https://IP_БОКСА:8083/list/server/
Здесь доступны:
- настройки виртуальной машины и панели в целом, кнопка «Настроить» в строке операций
- настройки отдельных сервисов — открываются по нажатию на название сервиса
- файрвол — одноименная кнопка в строке операций
Настройки сервисов панель предлагает редактировать в двух режимах:
- Базовый. Предлагает несколько настроек в виде форм, в которые можно вносить значения — панель сама преобразует их в нужный для конфигурационного файла вид
- Расширенный. Можно редактировать конфигурационный файл сервиса напрямую. Перед сохранением панель проверит, допущены ли синтаксические ошибки и не даст сохранить файл при их наличии.
Несколько версий PHP
Чтобы установить несколько версий PHP, перейдите в настройки сервисов (шестеренка в верхнем меню), нажмите «Настроить» в строке операций, разверните строку Web Server. Отметьте галочками нужные версии, сохраните изменения.
Выбранные версии будут установлены на сервер — дождитесь завершения установки и не перезагружайте страницу.
Дальше нужно выбрать версию PHP для домена. Перейдите в меню WEB, нажмите на домен, в выпадающем списке «Шаблон Backend» выберите нужную версию, сохраните изменения.
Изменение параметров PHP
Настройки PHP меняются сразу для всех версий. Перейдите в настройки сервисов (шестеренка в верхнем меню), нажмите на название службы (php-fpm). Можно изменить как базовые настройки, отредактировав значения в формах, так и перейти к правке конфигурационного файла. Панель проверит введенные значения и не даст сохранить изменения, если допущены синтаксические ошибки.
Файрвол
Для фильтрации запросов к боксу можно воспользоваться файрволом в панели управления боксами: он работает снаружи виртуальной машины и не тратит ее ресурсы для работы.
Можно настроить файрвол и внутри бокса. Перейдите в настройки сервисов (шестеренка в верхнем меню), далее в раздел «Файрвол» в строке операций. Или по прямой ссылке https://IP_БОКСА:8083/list/firewall/
В разделе можно редактировать, добавлять и удалять правила для входящих соединений.
У формы создания и редактирования правила есть пять полей:
- Действие: можно выбрать DROP (запретить соединение) или ACCEPT (разрешить).
- Протокол: TCP или UDP.
- Порт: можно указать один, перечислить несколько или задать диапазон.
- IP-адрес: можно задать маской. Чтобы указать все возможные адреса — внесите в поле значение 0.0.0.0/0
- Комментарий: необязательное поле, пригодится, чтобы легко выделить правило среди других.