Перейти к содержимому
TubePress — бесплатный, самостоятельный & активно поддерживаемый
Начало работы

Обновление TubePress

Обновление в один клик, ручное обновление, подписанные релизы и контроль версии PHP.

TubePress обновляется так же, как WordPress: один клик в панели администратора загружает подписанный релиз, проверяет его, создаёт резервную копию, заменяет ядро и выполняет все миграции базы данных. Ваши темы, плагины, медиафайлы и настройки остаются нетронутыми.

На этой странице подробно объясняется, что меняет обновление, как его применить и как оставаться в безопасности.

Как работают обновления

Релизы распространяются в виде подписанных пакетов с tubepress.io. Прежде чем TubePress изменит хотя бы один файл, каждый пакет проходит двойную проверку:

  • контрольная сумма SHA-256 — при несоответствии обновление прерывается; и
  • подпись Ed25519 — ядро отказывается устанавливаться без действительной подписи, поэтому подделанный или неподписанный пакет ядра отклоняется немедленно.

Обновление заменяет только фиксированное ядро. Конкретно:

Заменяется
src/, sql/, templates/admin/, templates/install/ и config/app.php.
Никогда не затрагивается
Ваши themes/, plugins/, загруженные медиафайлы в public/uploads/, содержимое базы данных и ваши настройки (включая config/database.php).

Непосредственно перед заменой файлов TubePress копирует текущее ядро в storage/backups/ и создаёт резервную копию базы данных. Если создать резервную копию не удаётся, обновление ядра прерывается, чтобы не подвергать данные риску. Затем файлы заменяются атомарно, новые пронумерованные миграции в sql/ запускаются автоматически, а результат записывается в журнал обновлений, из которого можно выполнить откат.

Обновление одним кликом

Перейдите в Администратор → Обновления по адресу /admin/updates (требуется доступ администратора). На экране отображается текущая версия и доступные обновления для ядра, плагинов и тем. Проверить обновления повторно запрашивает tubepress.io по требованию.

Нажмите, чтобы применить обновление — TubePress загрузит, проверит, создаст резервную копию, заменит файлы и выполнит миграцию, затем запишет результат. Если что-то пойдёт не так, можно выполнить откат к только что созданной резервной копии.

Автоматические обновления

Предпочитаете не вмешиваться? Включите настройку auto_update_enabled (по умолчанию она отключена). При включении фоновая задача pseudo-cron периодически проверяет и применяет ожидающие обновления не чаще одного раза в день. В целях безопасности поведение намеренно консервативное:

  • ядро и бесплатные плагины обновляются автоматически;
  • темы всегда оставляются для ручного обновления, чтобы ваши настройки никогда не перезаписывались без вашего ведома; и
  • платные элементы пропускаются — для них требуется покупка на торговой площадке.

Планировщик использует тот же встроенный pseudo-cron — см. раздел Обслуживание.

Ручное обновление

Обновление одним кликом является рекомендуемым способом, поскольку только оно проверяет подписи, создаёт резервные копии и выполняет миграции базы данных. Если панель действительно не может подключиться к tubepress.io (хост за брандмауэром или изолированный хост), можно выполнить обновление вручную:

  1. Сначала создайте резервную копию. Выполните полное резервное копирование файлов и базы данных — см. Резервные копии.
  2. Получите официальный релиз. Скачайте подписанный ZIP со страницы загрузки или из вашей учётной записи.
  3. Замените только ядро. Перезапишите src/, sql/, templates/admin/, templates/install/ и config/app.php из нового релиза. Оставьте themes/, plugins/, public/uploads/ и config/database.php на месте.
  4. Примените новые миграции. Примените все новые пронумерованные файлы в sql/ к вашей базе данных — этот шаг обычно выполняется встроенным средством обновления автоматически.
Используйте панель, когда это возможно. Ручные обновления пропускают автоматическую проверку подписей и миграции, поэтому используйте их только тогда, когда встроенное средство обновления недоступно.

Защита версии PHP

TubePress поставляется с небольшим, безопасным для синтаксического анализа шлюзом (config/php-guard.php), который запускается в каждой точке входа до загрузки приложения. Он написан намеренно в старом стиле PHP, чтобы корректно разбираться на любой версии — это означает, что если сайт перемещён на PHP версии ниже требуемой 8.2 или понижен до неё, посетители увидят чистую страницу «Требуется обновление PHP» вместо необработанной фатальной ошибки.

Это важно при обновлениях: новые релизы могут использовать новый синтаксис PHP, поэтому убедитесь, что ваш хост работает на PHP 8.2 или новее (рекомендуется 8.4) до и после обновления. Подробнее в разделе Обслуживание.

Перед обновлением

Обновления разработаны с учётом безопасности и обратимости, но резервная копия всё равно остаётся вашим ремнём безопасности:

  • Создайте резервные копии файлов и базы данных — средство обновления создаёт собственную копию, но храните и свою. См. Резервные копии.
  • Проверьте PHP — убедитесь, что используется версия 8.2+ (в идеале 8.4).
  • Запомните свои настройки — изменения тем и плагинов сохраняются, но быстрая инвентаризация никогда не помешает.
  • Обновляйте в тихое время — замена происходит почти мгновенно, но выбирайте период низкого трафика на всякий случай.
Никогда не редактируйте ядро. Изменения в src/ или templates/admin/ будут заменены при следующем обновлении. Создавайте с помощью тем и плагинов — обновления никогда их не затрагивают.

Следующие шаги

Остались вопросы?

Откройте заявку в панели управления, и наша команда поможет.

Попробовать демо → Скачать TubePress →