Руководство: Установка и восстановление Rukovoditel на HestiaCP
Краткое описание
Структурированный инструктаж по развёртыванию Rukovoditel на сервере с панелью HestiaCP: добавление домена, включение SSL, загрузка и распаковка приложения, установка через веб-мастер, восстановление/импорт дампа базы данных (после установки приложения), настройка прав (через интерфейс Hestia проще), базовая отладка и рекомендации по безопасности.
Требования
Сервер на Debian/Ubuntu (root или sudo).
HestiaCP (если нет - установить).
Домен с A/AAAA записью на IP сервера.
Архив Rukovoditel (rukovoditel.zip) и/или SQL-дамп БД.
1. Установка HestiaCP (если нужно)
Если Hestia уже установлен - пропустите.
Пример установки (под root):
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
bash hst-install.sh
Следуйте подсказкам установщика. Панель доступна по `<IP_или_домен>:8083`.
2. Создание домена и включение HTTPS в HestiaCP
Войдите в Hestia: `<IP_или_домен>:8083`.
Web → Add Web Domain, добавьте домен (пример: `example.ru`).
Web → Edit domain → Enable SSL → Use Let's Encrypt, включите сертификат и перенаправление на HTTPS.
3. Загрузка и распаковка Rukovoditel
Варианты загрузки:
Через SSH (если удобнее):
cd /home/<user>/web/<domain>/public_html
unzip rukovoditel.zip
Если файлы оказались в подпапке (например `rukovoditel/*`), переместите их в корень `public_html`.
ВАЖНО: дамп базы (SQL) нельзя полноценно восстановить через приложение до тех пор, пока само приложение Rukovoditel не установлено и не настроены базовые файлы. Порядок далее - сначала файлы и установка, потом восстановление дампа. См. раздел 5 (восстановление БД).
4. Подготовка и запуск веб-инсталлятора
Откройте `<domain>` - должен появиться мастер установки Rukovoditel.
На этапе установки укажите параметры подключения к базе (имя БД, пользователь, пароль). Поле порта обычно оставляют пустым (по умолчанию).
См. пункт 6 (настройка прав), без этих прав сайт может ответить ошибкой 500.
Создайте администратора в мастере установки и завершите процедуру.
Если мастер недоступен или выдаёт ошибку - проверьте права на каталоги (раздел 6), корректность `application/config/database.php` и настройки PHP (раздел 7).
5. Восстановление дампа базы данных
Нельзя восстанавливать дамп через интерфейс Rukovoditel до установки приложения — сначала выполните раздел 3-4.
Способы восстановления:
A) Через интерфейс Rukovoditel (удобно и встроено):
Войдите в админку Rukovoditel.
Инструменты → Резервное копирование базы данных → Нажмите «Восстановить БД из файла».
Загрузите ваш файл дампа или выберите уже загруженный в папку `backups` (обычно `/home/<user>/web/<domain>/public_html/backups/`).
Запустите восстановление.
B) Через SSH / CLI (рекомендуется для больших дампов):
mysql -u <db_user> -p <db_name> < /path/to/dump.sql
Если дамп в другой кодировке — создайте БД с `utf8mb4` и при необходимости выполните `SET NAMES utf8mb4` перед импортом.
6. Права доступа и владелец файлов (лучше через Hestia)
Rukovoditel требует записи в каталоги `cache`, `uploads`, `tmp`, `backups`, `log`. Самый простой и безопасный способ настроить владельца и права через файловый менеджер Hestia:
Через Hestia File Manager:
Web → File Manager → откройте папку `public_html`.
Выделите нужную папку (например `cache`) → опция «Permissions» или «Свойства/Права» (название зависит от версии).
Установите владельца — пользователя сайта (`<user>`), группу — `www-data` (или группу веб-сервера).
Для директорий выставьте права типа `rwxrwsr-x` (777) или аналогичные — чтобы владелец/группа могли записывать. Для файлов `rw-rw-r–` (664).
Примените рекурсивно для нужных папок (`cache, uploads, tmp, backups, log`).
Если GUI недоступен - через SSH (альтернатива):
sudo chown -R <user>:www-data /home/<user>/web/<domain>/public_html
sudo find /home/<user>/web/<domain>/public_html/{cache,uploads,tmp,backups,log} -type d -exec chmod 2775 {} \;
sudo find /home/<user>/web/<domain>/public_html/{cache,uploads,tmp,backups,log} -type f -exec chmod 664 {} \;
sudo chmod 600 /home/<user>/web/<domain>/public_html/application/config/database.php
7. Настройка PHP и производительности
Web → Edit Domain → PHP version / PHP-FPM settings в Hestia. При проблемах увеличьте:
memory_limit
max_execution_time
upload_max_filesize
8. Логи и отладка
Hestia: Web → выберите домен → Access / Error log.
PHP-FPM логи: `journalctl -u php*-fpm` или соответствующие файлы в `/var/log/`.
Частые причины ошибок при установке: неверные права доступа, неправильный `application/config/database.php`, несоответствие версии PHP, недостаточно памяти.
9. Резервное копирование
Рекомендуется регулярный экспорт дампов (`mysqldump`) и копирование файлов сайта.
В Rukovoditel: Инструменты → Резервное копирование базы данных — можно создавать бэкапы и впоследствии восстанавливать их из папки `backups`.
В Hestia — также доступны механизмы бэкапа (зависит от конфигурации панели).
10. Чек-лист перед запуском
[ ]
DNS A-запись домена указывает на сервер.
[ ] Домен добавлен в Hestia и SSL (Let's Encrypt) включён.
[ ] Файлы Rukovoditel загружены и распакованы в `public_html`.
[ ] Права на каталоги `cache, uploads, tmp, backups, log` настроены (лучше через Hestia File Manager).
[ ] Веб-инсталлятор Rukovoditel пройден и создан администратор.
[ ] Дамп БД восстановлен (через админку Rukovoditel или CLI) - только после установки приложения.
[ ] Настроены бэкапы и базовая безопасность.
11. Шпаргалка команд
# Распаковка
cd /home/<user>/web/<domain>/public_html
unzip rukovoditel.zip
# Импорт дампа (ssh)
mysql -u <db_user> -p <db_name> < /path/to/dump.sql
12. Рекомендации по безопасности
Настройте `ufw`/фаервол, открыв только нужные порты (22, 80, 443, 8083 - по необходимости).
Регулярно обновляйте систему и HestiaCP.