Обновление CMS

Панель сама сообщает о новой версии: бейдж в меню «Маркетплейс», плашка на дашборде и на вкладке Маркетплейс → Обновления. Плагины и темы обновляются кнопкой «Обновить» там же.

Ядро — кнопкой (с версии 3.7)

Маркетплейс → Обновления → «Обновить ядро до X.Y.Z». Сайт сам:

  1. скачивает дистрибутив и проверяет контрольную сумму и цифровую подпись — подменённый архив не установится;
  2. кладёт резервную копию заменяемых файлов в storage/backups/ (хранятся три последние, рядом с ними кнопка «Откатить»);
  3. заменяет core/, modules/, config/, bin/, docs/, public/assets/, index.php, admin.php и *.md;
  4. чистит кэш шаблонов и opcache; миграции базы применяются при следующем запросе.

Не трогаются: .env, storage/ (кроме бэкапов), public/uploads/, ваши плагины и темы.

Если вместо кнопки показан список причин — обновление из панели невозможно на этом хостинге: чаще всего у веб-сервера нет прав на запись в core/, реже — нет расширения zip, слишком старый PHP или мало места. Тогда обновляйте вручную.

Ядро — вручную (и для перехода на 3.7 с более старых версий)

  1. Резервная копия: экспорт базы данных, копия .env, storage/, public/uploads/.
  2. Скачайте архив новой версии: https://celena.io/downloads/celena-cms-3.7.0.zip
  3. Залейте файлы поверх сайта: core/, modules/, config/, bin/, docs/, public/assets/, index.php, admin.php, .htaccess, *.md. Не трогайте .env, storage/, public/uploads/, install.lock и свои плагины/темы. install.php не копируйте.
  4. Очистите кэш: удалите файлы в storage/cache/ (find storage/cache -type f -delete).
  5. Откройте сайт и панель — миграции базы применятся автоматически (или php bin/celena migrate).

После разового ручного обновления до 3.7 дальнейшие версии ставятся кнопкой.

Переход 3.5 → 3.6 и выше

  • В .env добавьте публичный ключ маркетплейса (есть в новом .env.example): MARKETPLACE_PUBKEY="6q2vesNDnmG4QuwMh7NUCo+2V8SNYSs2HwcAIbnVnew=" — без него подпись пакетов не проверяется.
  • Выставьте chmod 600 .env.
  • Проверьте получателей писем у формы заявок: «Заявки → Формы».
  • Свои пакеты, которые не должны попадать в маркетплейс, пометьте файлом .private в корне.

Полный список изменений — в файле CHANGELOG.md в корне сайта.