Table of Contents

Руководство: Установка и восстановление Rukovoditel на HestiaCP

Краткое описание

Структурированный инструктаж по развёртыванию Rukovoditel на сервере с панелью HestiaCP: добавление домена, включение SSL, загрузка и распаковка приложения, установка через веб-мастер, восстановление/импорт дампа базы данных (после установки приложения), настройка прав (через интерфейс Hestia проще), базовая отладка и рекомендации по безопасности.

Требования

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

  1. Войдите в Hestia: `<IP_или_домен>:8083`.
  2. Web → Add Web Domain, добавьте домен (пример: `example.ru`).
  3. 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. Подготовка и запуск веб-инсталлятора

  1. Откройте `<domain>` - должен появиться мастер установки Rukovoditel.
  2. На этапе установки укажите параметры подключения к базе (имя БД, пользователь, пароль). Поле порта обычно оставляют пустым (по умолчанию).
  3. См. пункт 6 (настройка прав), без этих прав сайт может ответить ошибкой 500.
  4. Создайте администратора в мастере установки и завершите процедуру.

Если мастер недоступен или выдаёт ошибку - проверьте права на каталоги (раздел 6), корректность `application/config/database.php` и настройки PHP (раздел 7).

5. Восстановление дампа базы данных

Нельзя восстанавливать дамп через интерфейс Rukovoditel до установки приложения — сначала выполните раздел 3-4.

Способы восстановления:

A) Через интерфейс Rukovoditel (удобно и встроено):

  1. Войдите в админку Rukovoditel.
  2. Инструменты → Резервное копирование базы данных → Нажмите «Восстановить БД из файла».
  3. Загрузите ваш файл дампа или выберите уже загруженный в папку `backups` (обычно `/home/<user>/web/<domain>/public_html/backups/`).
  4. Запустите восстановление.

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:

  1. Web → File Manager → откройте папку `public_html`.
  2. Выделите нужную папку (например `cache`) → опция «Permissions» или «Свойства/Права» (название зависит от версии).
  3. Установите владельца — пользователя сайта (`<user>`), группу — `www-data` (или группу веб-сервера).
  4. Для директорий выставьте права типа `rwxrwsr-x` (777) или аналогичные — чтобы владелец/группа могли записывать. Для файлов `rw-rw-r–` (664).
  5. Примените рекурсивно для нужных папок (`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. При проблемах увеличьте:

8. Логи и отладка

9. Резервное копирование

10. Чек-лист перед запуском

11. Шпаргалка команд

# Распаковка
cd /home/<user>/web/<domain>/public_html
unzip rukovoditel.zip

# Импорт дампа (ssh)
mysql -u <db_user> -p <db_name> < /path/to/dump.sql

12. Рекомендации по безопасности