Table of Contents
Руководство: Установка и восстановление 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
Варианты загрузки:
- Через файловый менеджер Hestia (Web → File Manager).
- Через SFTP / SCP в `/home/<user>/web/<domain>/public_html`.
Через 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.
