# 🔄 Обновление Celena CMS

Как обновить уже установленный сайт до новой версии. Занимает 5–10 минут.

---

## Как узнать, что вышло обновление

Начиная с версии **3.6** панель сама сообщает о новой версии: в меню «Маркетплейс» появляется бейдж, а на дашборде — плашка «Доступна Celena CMS X.Y» со ссылкой на список изменений. Кнопки «Обновить ядро в один клик» пока нет — она появится в следующих версиях; ядро обновляется вручную по инструкции ниже. **Плагины и темы** из маркетплейса обновляются кнопкой «Обновить» в панели.

Если у вас **3.5** — панель об обновлениях ещё не знает; проверяйте страницу https://celena.io/#products или https://marketplace.celena.io.

---

## Обновление ядра (любая версия → новая)

### 1. Резервная копия — обязательно
- Экспортируйте базу данных (phpMyAdmin → Экспорт, или `mysqldump` / `pg_dump`).
- Скопируйте `.env`, папки `storage/` и `public/uploads/` (там ваши файлы и настройки).

### 2. Скачайте архив новой версии
https://celena.io/downloads/celena-cms-3.6.1.zip

### 3. Залейте файлы поверх
Распакуйте архив во **временную** папку и скопируйте на сервер поверх существующего сайта:

| Копировать (заменить) | НЕ трогать |
|---|---|
| `core/`, `modules/`, `config/`, `bin/`, `docs/`, `public/assets/` | `.env` |
| `plugins/leads`, `plugins/shop`, `plugins/analytics`, `plugins/handbook` (штатные плагины) | `storage/` (кэш, логи, загрузки, бэкапы) |
| `templates/default`, `templates/admin`, `templates/commerce` | `public/uploads/` |
| `index.php`, `admin.php`, `.htaccess`, `README.md`, `CHANGELOG.md`, `УСТАНОВКА.md`, `ОБНОВЛЕНИЕ.md` | свои плагины и темы (`plugins/<ваш>`, `templates/<ваша>`) |
| `AGENTS.md`, `CLAUDE.md`, `.cursor/`, `.github/` (правила для ИИ-ассистентов) | `AGENTS.local.md` (ваши дополнения к правилам для ИИ) |
| | `install.lock` |

`install.php` из архива **не копируйте** — сайт уже установлен.

> Если вы правили штатную тему `default`/`commerce` напрямую — сначала сохраните свои правки; лучше держать свою тему отдельной копией под другим именем.

### 4. Очистите кэш
Удалите содержимое `storage/cache/tpl/` (можно всю папку `storage/cache/*`; она пересоздастся). Через SSH:

```bash
find storage/cache -type f -delete
```

### 5. Откройте сайт и панель
Зайдите на любую страницу сайта и в `/admin`. Миграции базы (ядра и плагинов) применяются **автоматически** при первом запросе — вручную ничего запускать не нужно. Если есть SSH, можно принудительно:

```bash
php bin/celena migrate
```

### 6. Проверьте
- Главная и панель открываются, в шапке панели — новая версия.
- В `storage/logs/` нет новых ошибок.

Готово.

---

## Особенности перехода 3.5 → 3.6

- **Маркетплейс.** В панели появится раздел «Маркетплейс» с реестром `https://marketplace.celena.io` по умолчанию. Чтобы устанавливать пакеты с проверкой подписи, в `.env` должна быть строка (уже есть в `.env.example` новой версии):
  ```
  MARKETPLACE_PUBKEY="6q2vesNDnmG4QuwMh7NUCo+2V8SNYSs2HwcAIbnVnew="
  ```
  Без неё установка работает, но подпись пакетов не проверяется — добавьте.
- **Права `.env`.** Рекомендуем выставить `chmod 600 .env` — новые установки делают это сами.
- **Плагин leads.** Настройки формы по умолчанию (получатели писем, Google Ads) теперь задаются в панели: «Заявки → Формы». Проверьте, что у вашей формы указан адрес для уведомлений.
- **Личные плагины/темы.** Если у вас есть свои пакеты, которые не должны попадать в маркетплейс, положите в их корень пустой файл `.private`.

---

## Если что-то пошло не так
Верните файлы из резервной копии (шаг 1) и восстановите базу. Ядро не удаляет данные при обновлении, поэтому чаще всего достаточно очистить `storage/cache/` ещё раз.

Вопросы: https://t.me/celena_system_group
