Як оновити блог Ghost
Дізнайтеся, як безпечно оновити блог на платформі Ghost до новішої версії. У статті описано процес підготовки, бекап, перевірку версій, оновлення npm та Ghost CLI, а також додаткову перевірку після оновлення для впевненості, що все працює належним чином.
Вступ
У житті кожного блоггера, який хостить свій блог власноруч настає момент коли бажання отримати оновлення переважає острах наглухо покласти свій блог. Сьогодні я наважився оновити Ghost до новішої версії
Ця стаття буде корисна як тим, хто має подібний стек технологій, а саме Proxmox VE + Ubutnu LXC контейнер + Cloudflare, та і для всіх інших, бо набір основних команд не відрізняється геть зовсім.
Оновлення
Ціллю оновлення звісно буде отримати нову функціональність платформи Ghost. Але перед початком давайте потрібно чітко спланувати дії:
- Зробити резервну копію (бекап)
- Оновити npm
- Оновити Ghost CLI
- Оновити Ghost
- Впевнитись що все працює
- Зробити додаткові перевірки
- Залишити резервну копію мінімум на місяць, щоб можна було відновити все.
Звучить як гарний план? Давай спробуємо.
А перед початком варто буде зазначити, що існує офіційна інструкція від Ghost, яка як на мене більше заплутує особливо новачків.
Бекап перед початком
Якщо ви маєте подібніий стек до мого з Proxmox VE, то ви вже знаєте, що це найлегша частина. Для тих кому цікаво як саме я налаштував блог можете почитати наступні публікації
Або переглянути зібрання з багатьма іншими дописами про блог Ghost
Якщо ви маєте інші технології, то зробіть резервну копію будь-яким доступним для вас способом. Це дуже важливо
А ми в один клік робимо резервну копію всього вашого LXC контейнера з Ghost.
Лише впевнившись, що маємо бекап, ми можемо розпочинати виконувати команди по оновленню.
У разі будь-яких проблем під час оновлень, особливо критичних, коли блог Ghost перестає працювати, все що нам буде необхідно це відновити стан нашого контейнер з бекапа до стану перед початком оновлення.
І поступово розбираючись з проблемами ви можете пробувати раз за разом просуватись далі і відновлюватись у зереженій точнці безкінечну кількість разів у разі невдач.
Надалі всі команди ми будемо виконувати у консолі LXC контейнера з Ghost
Перевірка поточних версій
Щоб побачити прогрес фіксуємо поточні версії
Для початку виконайте наступну команду
ghost status
Результатом виконання буде інформація про запущений блог з його розташуванням, версією, портом і так далі.
А також нам потрібні версії npm та Ghost CLI
npm -v
ghost -v
По ітогу маємо наступні версії:
- npm v10.3.0
- Ghost CLI v1.25.3
- Ghost v5.80.2
Оновлення npm
Це стандартна процедура майже з будь-яким додатком написаним на node.js
Найпростіше це виконати цю команду
sudo npm update
Або якщо ви знаєете до якої версії бажаєте оновити то можна і так
sudo npm install -g [email protected]
Тепер npm має версію 10.9.0
Оновлення Ghost CLI
Для оновлення клієнта Ghost виконайте цю команду
sudo npm install -g ghost-cli@latest
Перевіряємо версію знову ghost -v
і отримуємо Ghost-CLI version: 1.26.1.
Оновлення Ghost
І ми дійшли до найважливішої частини. На цьому етапі можуть виникнути помилки і як я бачу на форму Ghost (https://forum.ghost.org/) вони бувають дуже різні і цікаві. Звертайтесь до спільноти Ghost за порадами і допомогою.
Для оновлення самого Ghost потрібно перейти у каталог зі встановленим блогом Ghost. Ось команди:
cd /var/www/ghost
ghost update
Почнеться тривалий процеес оновлення як на цьому зображенні.
Готово, тепер мій блог оновлено до версії 5.99.0
В мене це заняло близько 5-7 хвилин з яких приблизно 1-2 хвилини сайт був недоступний для читання. Проти всі користувачі могли бачити ось таке повідомлення
В моєму випадку все пройшло швидко та гладенько. Але бекап всеодно надає впевненості, тож не нехтуйте ним.
Впевніться, що все працює
Це дуже важливий крок. Вам необхідно перевірити чи ви можете відкрити свій блог як користувач, а також як автор, який пише статті. Рекомендую спробувати відредагувати чернетку, або зробити незначні правки у опублікованих статтях. Приділіть якомога більше уваги цьому.
Навіть коли все працює так, як ви очікували я вкрай не рекомендую видалята резервну копію. Потримайте її близько місяця, якщо це можливо, і лише потім видаліть. Місяця вам буде достатньо, щоб зрозуміти чи все добре.
Не забувайте, що кожна вага інтеграція потребує додаткової перевірки, не зайвим буде прогнати тестування на швидкість по типу PageSpeed Insights, про який я писав тут: Оптимізація швидкості сторінки - PageSpeed Insights
Додаткова перевірка Ghost Doctor
Я колись був здивованим, але у Ghost є власний лікар. Це одна з команд, яка може допомогти у визначенні проблем та навіть порекомендувати варіанти рішення.
У тому ж каталозі з блогом виконайте наступне
ghost doctor
Ця команда запустить серію перевірок різних систем і налаштувань вашого блогу. Якщо десь будуть проблеми, то ви про це дізнаєтесь, а у моєму випадку все більш-менш непогано.
Підсумки та роздуми
Якщо ви регулярно робити оновлення, а особливо в тих випадках, коли ви також самостійно налаштовували свій сервер, то кількіть проблем буде зведена до мінімума.
Проте у будь-якому випадку необхідно робити резервні копії та вміти відновлювати свій сервер до стабільної версії, це може знадобитись навіть при незначних змінах чи оновленнях. Наполегливо рекомендую - це збереже цінні години вашого життя та нервів.
Саме ж оновленя блогу Ghost зводиться до виконання декількох команд у консолі і ретельної перевірки опісля. В звичайному режими всі кроки можуть займати до 10 хв - що є дуже добре.
Особисто я не оновлю свій блог кожен раз, коли виходить нова версія, або ж кожен місяць. Я дивлюсь більше по необхідності.
Ghost має свій Changelog (https://ghost.org/changelog), де ви можете роздивитись те, що ваша поточна версія ще не має і оновитись лише коли буде щось цікаве.
Детальний опис змін кожної версії можна подивитись в GitHub: https://github.com/TryGhost/Ghost/releases
Я саме так і зробив, бо хотів отримати наступні оновлення:
Я вже вспів перевірити ці оновлення і радий, що все пройшло без ускладнень.
Бажаю вам надійних бекапів, цікавих і легких оновлень та мирного неба!