N1 Nex1on

Оновлення рушія Nex1on і відкат: як оновитися спокійно

Що рушій робить під час оновлення, як підготуватися, навіщо ключ повернення і що робити, якщо сайт після оновлення не відповідає: повернення файлів і копія бази.

Оновлення рушія — це дві дії одразу: замінюються файли й приводиться до ладу база. Страшно воно лише тоді, коли немає шляху назад. У Nex1on шлях назад є завжди: рушій сам робить копію бази й точку повернення файлів, нічого не ставиться без вашого слова, а якщо після оновлення сайт не відповідає, попередню версію можна повернути одним натисканням. Нижче — як оновитися спокійно і що робити, якщо щось пішло не так.

Як ви дізнаєтеся, що вийшла нова версія #

Якщо перевірку оновлень увімкнено, рушій раз на тиждень питає nex1on.com, чи не вийшла нова версія (йдуть лише домен, версія рушія й версія PHP). Якщо вийшла, прийде лист «Вийшла версія Nex1on …» (по одному листу на версію), а на сторінці «Система → Оновлення» з'явиться напис «Вийшла версія …. Подивіться, що змінилося, і вирішіть самі». Нічого не ставиться само: лист лише повідомляє, що є що читати. Перевірку можна вимкнути: у «Налаштування → Загальні» оберіть «Перевіряти оновлення: не перевіряти».

Що робить рушій під час оновлення #

Сторінка оновлення йде за кроками, і ви бачите кожен із них:
  1. Перевіряє вимоги: чи достатньо свіжий PHP, чи вистачає вільного місця, чи можна писати у файли рушія.
  2. Завантажує архів і перевіряє його підпис: архів, що не збігся з підписаним хешем, не ставиться.
  3. Робить копію бази й точку повернення файлів (копія знімається й перед застосуванням змін бази). Якщо копію створити не вдасться, оновлення не почнеться.
  4. Замінює файли рушія. Поки вони змінюються, відвідувачі бачать сторінку «обслуговування». Теки config і storage не чіпаються, налаштування, завантаження й дані лишаються як були, старі файли йдуть у копію.
  5. Застосовує зміни бази (міграції) й перевіряє, що сайт відповідає.

Крок 1. Підготуйтеся #

Відкрийте «Система → Оновлення». Перш ніж натискати «Оновити», зробіть три речі.
  1. Прочитайте, що змінилося. Сторінка «Перед оновленням до версії …» показує опис версії. Повний журнал змін лежить у файлі CHANGELOG у теці рушія.
  2. Перевірте вимоги. Рушій покаже, який PHP у вас і який потрібен, скільки вільного місця й чи можна писати у файли рушія. Якщо щось не виконано, кнопка «Оновити» неактивна, і сказано, що виправити.
  3. Подивіться, чи немає ваших правок у файлах рушія. Якщо ви змінювали файли рушія, оновлення замінить їх файлами випуску, і ваші правки зникнуть. Сторінка скаже, скільки таких файлів, і запропонує «Зберегти мої зміни архівом». Краще переносити правки у свою тему або свій модуль: оновлення їх не зачіпає.
Зробіть і власну копію бази («Система → Копії та перенесення → Копії бази»): оновлення зніме свою, але звичка робити копію перед будь-яким ризикованим кроком окупається один раз.

Крок 2. Оновіться #

Натисніть «Оновити». Сторінка йде за кроками, і їй краще не заважати: закрили вкладку — поверніться на ту саму сторінку, оновлення продовжиться з того самого місця. Коли все пройшло, рушій пише: «Рушій оновлено до версії …, базу приведено до ладу, сайт відповідає», а копія бази лишається на сторінці «Оновлення». Якщо частина модулів не оновилася, про це буде сказано окремо, з назвою копії.

Крок 3. Якщо щось пішло не так #

Рушій сам перевіряє, чи відповідає сайт після заміни файлів. Якщо відповідь неправильна, він повертає попередню версію без вашої участі: «Сайт відповідає неправильно. Повертаю попередню версію…», а потім «Попередню версію повернуто». Вам прийде лист «Оновлення до … скасовано». Якщо автоматично повернути не вийшло, відкрийте сторінку повернення (її адресу показано на сторінці оновлення), введіть ключ і натисніть «Повернути попередню версію зараз». Файли попередньої версії лежать також архівом у storage/recovery/files.zip. Причину, через яку оновлення не пройшло, названо прямо:
  • Новій версії потрібен свіжіший PHP. Оновіть PHP у хостингу або зачекайте.
  • Архів не збігся з підписаним хешем. Завантаження пошкодилося: повторіть.
  • Архів більший за обіцяний або бракує місця. Звільніть місце на диску.
  • Сервер оновлень не відповів або обірвав завантаження. Повторіть пізніше.
  • Зміни бази не застосувалися. Подробиці в журналі помилок; копія перед запуском збережена.
  • Поки ви натискали, на сервері вийшла інша версія. Відкрийте сторінку оновлення заново.

Оновлення вручну #

Якщо серверові не можна писати у файли рушія або ви хочете оновитися самі, оновіться вручну: завантажте архів нової версії на сторінці випусків, розпакуйте й завантажте поверх файлів рушія, не чіпаючи config і storage. Потім відкрийте розділ «Оновлення» й натисніть «Застосувати»: зміни бази самі не застосовуються. Паролі від FTP у панель вводити не треба: вони тут не приймаються й не зберігаються.

Що перевірити #

  • Ви прочитали опис версії та перелік вимог.
  • Власних правок у файлах рушія немає, а якщо є, вони збережені архівом.
  • Свіжа копія бази є, і ви знаєте, де вона лежить.
  • У config/local.php задано ключ сайту (app.key не коротший за 32 знаки): без нього повернення недоступне.
  • Ключ повернення збережено, доки оновлення не підтверджено.
  • Після оновлення ви відкрили головну, кілька внутрішніх сторінок і панель, а в «Стані системи» немає червоного.

Якщо щось пішло не так #

  • Кнопка «Оновити» неактивна. Виконайте вимоги, перелічені на сторінці: версія PHP, вільне місце, право запису у файли.
  • «Повернення недоступне: задайте ключ сайту». Впишіть app.key (не коротший за 32 знаки) у config/local.php; без нього квиток повернення нічим підписати.
  • Повернення недоступне: у теки storage/recovery і public не вдалося записати, або немає розширення ZIP. Дайте серверові право запису в ці теки й увімкніть ZIP у хостингу.
  • Оновлення урвалося на півдорозі. Сайт може бути у змішаному стані: натисніть «Повернути попередню версію зараз» або скористайтеся ключем повернення.
  • Нові можливості не з'явилися. На сторінці оновлення сказано, скільки змін бази чекає застосування: поки вони не застосовані, сайт працює на старих таблицях.

Що далі #

Оновлюйтеся не за звичкою, а за описом: прочитайте, що змінилося, і вирішіть, чи це вам потрібно зараз. І зробіть так, щоб повернення було перевіреним, а не припущеним: одного спокійного дня відкрийте сторінку повернення й переконайтеся, що ключ сайту на місці.
Поделиться: Telegram WhatsApp

Читайте также

Обсуждение

Комментарии

Обсуждение ещё не началось

Пока никто не высказался. Будьте первым.

Пожаловаться на запись