# Пакет миграции сервера мирткани.рф: CentOS 7 → CentOS Stream 9

Самодостаточный комплект, чтобы после переустановки ОС развернуть боевой сайт
**мирткани.рф** 1-в-1 по архитектуре. Рассчитан на запуск ИИ-агентом (Claude Code).

## ⚠️ Это секретный пакет — обращаться бережно
Внутри: дамп/файлы сайта (содержат `dbconn.php` с паролем БД), приватные TLS-ключи
(`configs/letsencrypt/`), **живой API-токен Cloudflare** (`configs/cloudflare/cloudflare.ini`,
`.env.cloudflare` — Zone:DNS:Edit на зону), пароли пулов. **Не выкладывать в открытый доступ.**
После успешной миграции — удалить лишние копии (особенно скачанную локально) и желательно
перевыпустить/сузить токен Cloudflare.

## Сценарий использования
1. **Сейчас (старый сервер):** этот пакет собран в `/opt/migration-backup-server/`.
2. **Скачай его себе локально** (целиком), напр.:
   `rsync -avz -e ssh root@188.120.234.251:/opt/migration-backup-server ./`
   (или `scp -r`). Дамп БД добавится отдельно в момент переезда — скачай его тоже в `backups/`.
3. **Переустанови ОС** на сервере → CentOS Stream 9.
4. **Залей пакет обратно** в ту же `/opt/migration-backup-server/`.
5. Установи Claude Code, запусти в `/opt/migration-backup-server/`, дай ему `ONBOARDING.md`.
6. Агент проходит `RUNBOOK.md` по шагам.

## Что внутри
```
ONBOARDING.md     ← промпт-задача для ИИ-агента (вставить первым сообщением)
RUNBOOK.md        ← пошаговый разворот с гейтами (главный документ)
ARCHITECTURE.md   ← снятая архитектура: схема, пути, конфиги, нюансы el9
CHECKLIST.md      ← критерии приёмки
README.md         ← вы здесь
.claude/          ← settings.json (права) + команды /deploy-step, /verify-deploy
backups/
  files-*.tar.gz  ← файлы сайта (без кэшей/логов/1С-обмена)
  db-*.sql.gz     ← дамп БД (добавляется на этапе переноса данных)
configs/          ← verbatim-копии всех конфигов сервера
  nginx/ httpd/ php82/ php-base/ mariadb/ letsencrypt/ cron/ firewalld/ system/
  cloudflare/     ← cloudflare.ini (токен для certbot DNS-01) — СЕКРЕТ, chmod 600
manifests/        ← versions, packages, php-modules, ssl-domains, sha256
restore/          ← скрипты 00..99 + env.sh (запуск по номерам)
```

## Целевой стек (на Stream 9)
nginx (офиц. el9, TLS) → Apache httpd 2.4 (:8888) → php-fpm **8.2** (remi, :9082) →
**MariaDB 10.11 LTS**. Только PHP 8.2 (откатные 7.4/8.0 убраны). SSL — **wildcard Let's Encrypt
через Cloudflare DNS-01** (`*.xn--80apbgijsq.xn--p1ai`, покрывает все региональные поддомены).
Подробности — `ARCHITECTURE.md`.

## Быстрый старт (на новой ОС)
```bash
cd /opt/migration-backup-server/restore
sudo bash 00-preflight.sh      # затем 10,20,30,40 → (данные) 50 → 60,70,80,90,99
```
БД (`50-database.sh`) — отдельно, когда `db-*.sql.gz` будет на месте.
