====== Руководство: Установка и восстановление 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
Следуйте подсказкам установщика. Панель доступна по ''`:8083`''.
====== 2. Создание домена и включение HTTPS в HestiaCP ======
- Войдите в Hestia: ''`: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//web//public_html`.
Через SSH (если удобнее):
cd /home//web//public_html
unzip rukovoditel.zip
Если файлы оказались в подпапке (например `rukovoditel/*`), переместите их в корень `public_html`.
**ВАЖНО:** дамп базы (SQL) нельзя полноценно восстановить через приложение до тех пор, пока само приложение Rukovoditel не установлено и не настроены базовые файлы. Порядок далее - сначала файлы и установка, потом восстановление дампа. См. раздел 5 (восстановление БД).
====== 4. Подготовка и запуск веб-инсталлятора ======
- Откройте ''``'' - должен появиться мастер установки Rukovoditel.
- На этапе установки укажите параметры подключения к базе (имя БД, пользователь, пароль). Поле порта обычно оставляют пустым (по умолчанию).
- См. пункт 6 (настройка прав), без этих прав сайт может ответить ошибкой 500.
- Создайте администратора в мастере установки и завершите процедуру.
Если мастер недоступен или выдаёт ошибку - проверьте права на каталоги (раздел 6), корректность `application/config/database.php` и настройки PHP (раздел 7).
====== 5. Восстановление дампа базы данных ======
Нельзя восстанавливать дамп через интерфейс Rukovoditel до установки приложения — сначала выполните раздел 3-4.
Способы восстановления:
**A) Через интерфейс Rukovoditel (удобно и встроено):**
- Войдите в админку Rukovoditel.
- Инструменты → Резервное копирование базы данных → Нажмите «Восстановить БД из файла».
- Загрузите ваш файл дампа или выберите уже загруженный в папку ''`backups`'' (обычно ''`/home//web//public_html/backups/`'').
- Запустите восстановление.
**B) Через SSH / CLI (рекомендуется для больших дампов):**
mysql -u -p < /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» или «Свойства/Права» (название зависит от версии).
- Установите владельца — пользователя сайта (``), группу — `www-data` (или группу веб-сервера).
- Для директорий выставьте права типа `rwxrwsr-x` (777) или аналогичные — чтобы владелец/группа могли записывать. Для файлов `rw-rw-r--` (664).
- Примените рекурсивно для нужных папок (`cache, uploads, tmp, backups, log`).
Если GUI недоступен - через SSH (альтернатива):
sudo chown -R :www-data /home//web//public_html
sudo find /home//web//public_html/{cache,uploads,tmp,backups,log} -type d -exec chmod 2775 {} \;
sudo find /home//web//public_html/{cache,uploads,tmp,backups,log} -type f -exec chmod 664 {} \;
sudo chmod 600 /home//web//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//web//public_html
unzip rukovoditel.zip
# Импорт дампа (ssh)
mysql -u -p < /path/to/dump.sql
====== 12. Рекомендации по безопасности ======
* Настройте `ufw`/фаервол, открыв только нужные порты (22, 80, 443, 8083 - по необходимости).
* Регулярно обновляйте систему и HestiaCP.