Гайд: Website Tech — развёртывание и обслуживание сайтов
Гайд: Website Tech — развёртывание и обслуживание сайтов
Website Tech — это система для создания, клонирования и диагностики WordPress-сайтов
на нашем HestiaCP-сервере. Через Claude Code или OpenClaw можно быстро поднять dev-копию
сайта, диагностировать проблему или сменить PHP-версию.
Где живут сайты
Dev-сайты размещаются на HestiaCP VPS (hestia.sdlab.ee, IP 65.109.230.169).
- Панель управления:
https://hestia.sdlab.ee:8083(KeePass: Infrastructure → HestiaCP admin) - Стек: nginx (реверс-прокси) + Apache (backend) + PHP 8.3 + MariaDB 11.4
- Структура сайтов:
/home/admin/web/<domain>/ - Поддомены:
*.sdlab.ee→ wildcard A-запись на65.109.230.169
Примеры URL dev-сайтов:
https://auralume.sdlab.eehttps://sitedesign.sdlab.eehttps://staging.myclient.sdlab.ee
Как запросить задачу
Через OpenClaw (быстро, для простых задач):
«Серёга, нужно поднять dev-копию сайта metacoach.lv»
Серёга делегирует задачу Claude Code через delegate-to-claude.sh — ты получишь
уведомление в Telegram когда готово.
Через Claude Code напрямую (для сложных задач):
Открой сессию Claude Code и скажи что нужно. Claude прочитает процедуры,
выполнит шаги с подтверждением на каждом write-действии.
Что умеет Website Tech
Создать новый WordPress-сайт
Процедура: [[procedure-hestia-new-wordpress|Создать WordPress на HestiaCP]]
Что происходит:
1. v-add-domain admin <domain> — домен в HestiaCP
2. v-add-database — база данных и пользователь
3. v-add-letsencrypt-domain — SSL сертификат
4. WP-CLI установка WordPress
Занимает ~5 минут. Получаешь чистый WordPress на https://subdomain.sdlab.ee.
Клонировать сайт из бэкапа (UpdraftPlus/site-connector)
Процедура: [[procedure-hestia-restore-from-backup|Восстановить из бэкапа]]
Типичный флоу с sdlab-site-connector:
1. Открыть плагин SDLab Connector на исходном сайте → экспортировать ZIP
2. Скачать ZIP на HestiaCP-сервер (через curl прямо на сервер — быстрее)
3. Развернуть файлы в /home/admin/web/<domain>/public_html/
4. Импортировать БД (--force чтобы не прерывалось на ошибках)
5. Обновить wp-config.php: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST
6. wp search-replace 'старый-домен.com' 'новый.sdlab.ee' --all-tables
7. wp transient delete --all (критично для WPML-сайтов!)
8. Деактивировать security-плагины (Wordfence, Imunify на dev-копии не нужны)
Важно: при скачивании больших архивов (>500MB) запускай curl прямо на HestiaCP,
а не через ноутбук — иначе proxy timeout оборвёт скачивание.
Диагностировать проблемы сайта
Процедура: [[procedure-wp-diagnostics|Диагностика WordPress]]
Типичные сценарии:
- Белый экран / 500 → смотрим Apache error log, PHP-FPM log, WP debug.log
- 503 → PHP-FPM pool не запустился →
systemctl restart php8.3-fpm - Медленный сайт → профилируем через Query Monitor
Сменить версию PHP
Процедура: [[procedure-wp-change-php|Сменить PHP версию]]
На сервере сейчас одна версия PHP — 8.3. Если понадобится другая — нужно
установить через apt.
Откатить плагин
Процедура: [[procedure-wp-plugin-rollback|Откат плагина]]
WP-CLI установлен (/usr/local/bin/wp). Можно устанавливать конкретные версии:
wp plugin install <slug> --version=<ver> --force
Известные проблемы при работе с WPML-сайтами
WPML-сайты требуют дополнительных проверок после миграции. Краткий список:
- icl_translations повреждения — категории могут «потеряться» или смешаться
- term_relationships отсутствуют для ET/RU — фильтры и бренды не работают
- Elementor-блоки не переведены — нужно добавить тип в
custom_posts_sync_option - Ссылки без языкового префикса — для non-translatable таксономий
- Транзиенты с путями старого сервера →
wp transient delete --all
Полный чеклист: [[procedure-wpml-post-migration-checks|Проверки WPML после миграции]]
Реальные кейсы из работы с auralume:
70-Incidents/cases/— конкретные SQL-решения и причины проблем
Что делать когда что-то пошло не так
Диагностика
# Логи Apache для конкретного домена
tail -50 /home/admin/web/<domain>/log/error.log
# PHP-FPM логи
journalctl -u php8.3-fpm --since "1 hour ago"
# WP debug (если включён в wp-config.php)
tail -100 /home/admin/web/<domain>/public_html/wp-content/debug.log
# WP-CLI — статус сайта
wp --path=/home/admin/web/<domain>/public_html core is-installed
wp --path=... plugin list --status=active
PHP-FPM socket не запустился (503)
v-rebuild-user admin
systemctl restart php8.3-fpm
HestiaCP File Manager 500
Известный баг PHP 8.3 — SessionStorage не реализует migrate(). Фикс применён в /usr/local/hestia/web/fm/backend/Services/Session/Adapters/SessionStorage.php. При обновлении HestiaCP может слететь — проверяй /fm/ после каждого обновления.
Ограничения
- Нет автоматического деплоя на хостинг клиента — перенос готового сайта обратно
к клиенту делается вручную. Процедура: [[procedure-site-deploy-to-client|Деплой на хостинг клиента]].
- Одна версия PHP (8.3) — если сайт клиента требует PHP 7.4, нужна отдельная установка.
Всегда проверяй metadata.json из sdlab-site-connector перед деплоем.
- Ресурсы VPS ограничены — 4 GB RAM, 40 GB NVMe. Не держи много тяжёлых
dev-сайтов одновременно.
История изменений
| Дата | Что изменилось |
|---|---|
| 2026-06-03 | Гайд создан |