====== Руководство: Установка и восстановление 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.