Обновление CMS
Панель сама сообщает о новой версии: бейдж в меню «Маркетплейс», плашка на дашборде и на вкладке Маркетплейс → Обновления. Плагины и темы обновляются кнопкой «Обновить» там же.
Ядро — кнопкой (с версии 3.7)
Маркетплейс → Обновления → «Обновить ядро до X.Y.Z». Сайт сам:
- скачивает дистрибутив и проверяет контрольную сумму и цифровую подпись — подменённый архив не установится;
- кладёт резервную копию заменяемых файлов в
storage/backups/(хранятся три последние, рядом с ними кнопка «Откатить»); - заменяет
core/,modules/,config/,bin/,docs/,public/assets/,index.php,admin.phpи*.md; - чистит кэш шаблонов и opcache; миграции базы применяются при следующем запросе.
Не трогаются: .env, storage/ (кроме бэкапов), public/uploads/, ваши плагины и темы.
Если вместо кнопки показан список причин — обновление из панели невозможно на этом хостинге: чаще всего у веб-сервера нет прав на запись в core/, реже — нет расширения zip, слишком старый PHP или мало места. Тогда обновляйте вручную.
Ядро — вручную (и для перехода на 3.7 с более старых версий)
- Резервная копия: экспорт базы данных, копия
.env,storage/,public/uploads/. - Скачайте архив новой версии: https://celena.io/downloads/celena-cms-3.7.0.zip
- Залейте файлы поверх сайта:
core/,modules/,config/,bin/,docs/,public/assets/,index.php,admin.php,.htaccess,*.md. Не трогайте.env,storage/,public/uploads/,install.lockи свои плагины/темы.install.phpне копируйте. - Очистите кэш: удалите файлы в
storage/cache/(find storage/cache -type f -delete). - Откройте сайт и панель — миграции базы применятся автоматически (или
php bin/celena migrate).
После разового ручного обновления до 3.7 дальнейшие версии ставятся кнопкой.
Переход 3.5 → 3.6 и выше
- В
.envдобавьте публичный ключ маркетплейса (есть в новом.env.example):MARKETPLACE_PUBKEY="6q2vesNDnmG4QuwMh7NUCo+2V8SNYSs2HwcAIbnVnew="— без него подпись пакетов не проверяется. - Выставьте
chmod 600 .env. - Проверьте получателей писем у формы заявок: «Заявки → Формы».
- Свои пакеты, которые не должны попадать в маркетплейс, пометьте файлом
.privateв корне.
Полный список изменений — в файле CHANGELOG.md в корне сайта.