Cara Backup dan Update Ghost CMS 3.0.2 ke 3.1.1 [Manual]
Jika saat ini anda pengguna Ghost CMS, tentu anda tahu bahwa update rilis terbaru dari versi Ghost CMS sangat cepat, dalam satu bulan saja sudah ada beberapa versi yang dirilis dari repository githubnya. Tidak ada salahnya jika tetap menggunakan versi Ghost CMS yang sudah stabil terinstall di server kita, namun ada banyak kelebihan lainnya jika kita menggunakan Ghost CMS yang terbaru. seperti penambahan fitur baru, fix bug, update security dan lain sebagainya.
Berikut list update Ghost CMS ke 3.1.1
sparkles Added support for secondary navigation (#11409) - Hannah Wolfe
sparkles Improved adding first members on no-members screen (#1416) - Naz Gargol
sparkles Added member "add" screen (#1411) - Naz Gargol
sparkles Added Secondary Navigation (#1410) - Hannah Wolfe
art Fixed test newsletter email subject - Peter Zimon
art Scaled email mobile preview - Peter Zimon
art Added Gravatars for member avatars (#1417) - Naz Gargol
bug Fixed 500 errors for incorrect Origin headers (#11433) - Fabien O'Carroll
bug Fixed email preview header position - Peter Zimon
Casper (the default theme) has been upgraded to 3.0.5:
sparkles Added secondary navigation (#664) - Peter Zimon
Pada tutorial sebelumnya, saya sudah membahas cara update Ghost CMS dengan menggunakan Ghost CLI, bisa dibaca disini, jika anda tidak melakukan installasi pada sistem operasi yang didukung secara official Ghost, maka anda harus update secara manual. Seperti pada tutorial saya sebelumnya tentang cara install manual Ghost CMS disini. pada tutorial kali ini, adalah cara update Ghost CMS secara manual tanpa Ghost CLI, disarankan anda update dan install menggunakan Ghost CLI jika server anda support Ghost CLI.
Pada proses installasi manual ini, anda harus cek terlebih dahulu versi Ghost CMS terbaru yang sudah rilis, klik pada user profil dan klik menu About Ghost. terlihat disini Ghost CMS yang terinstall adalah versi 3.0.2 dan rilis terbaru Ghost CMS versi 3.1.1

Backup Ghost CMS
Sebelum update, backup terlebih dahulu Ghost CMS anda, login via SSH dan lakukan backup dengan copy root folder Ghost CMS dengan nama baru, sebagai contoh, folder Ghost CMS yang lama adalah ghost
dan copy dengan nama cloudborneo.com
, berikut perintahnya :
cp -r ghost cloudborneo.com
Lakukan di server yang anda gunakan

kemudian download Ghost CMS versi terbaru di website Ghost dengan wget, berikut perintah untuk download Ghost CMS dengan Wget :
wget https://ghost.org/zip/ghost-latest.zip
berikut output proses download Ghost CMS terbaru :

Setelah download selesai, unzip ghost cms dengan folder baru, misal ghost-new
agar folder ghost
sebelumnya tidak tertimpa, unzip dengan perintah berikut :
unzip ghost-latest.zip -d ghost-new
Berikut output unzip Ghost CMS yang telah didownload :

Ghost CMS terbaru selesai di extract, namun data-datanya masih seperti installasi baru, saatnya kita lakukan pemindahan data content
Ghost CMS sebelumnya ke Ghost CMS yang baru kita download dengan perintah cd ghost-new
berikut outputnya :

pada saat menjalankan perintah dibawah ini, harap hati-hati, backup terlebih dahulu Ghost CMS anda, segala kerusakan akibat tutorial ini bukan tanggung jawab kami
Upgrade Ghost CMS Manual
saat ini anda berada di root folder Ghost CMS terbaru, namun Ghost CMS terbaru ini masih menggunakan file content
default, kemudian file config
juga masih default, agar proses upgrade sempurna, folder content
dan settingan config
kita ambil dari Ghost CMS yang lama, jadi terlebih dahulu hapus file - file berikut di Ghost CMS yang baru :
rm -rf content
rm core/server/config/defaults.json
rm core/server/config/env/config.*
kemudian copy folder content
pada Ghost CMS lama ke Ghost CMS baru, copy juga file config
pada Ghost CMS lama ke Ghost CMS baru, pindah ke direktori luar dengan perintah cd ../
dan copy folder content
pada folder ghost
(folder ghost ini adalah root folder Ghost CMS sebelumnya)
cd ../
cp -rf ghost/content ghost-new/content
cp ghost/core/server/config/defaults.json ghost-new/core/server/config/defaults.json
cp ghost/core/server/config/env/config.* ghost-new/core/server/config/env/
cd ghost-new
npm install --production
setelah proses migrasi selesai, saatnya kita stop proses Ghost CMS lama, dan running Ghost CMS baru, untuk memudahkan manajemen prosesnya saya menggunakan Proses Manager PM2 yang saya install pada sistem operasi server, untuk cara installasinya dapat dibaca disini. untuk melihat semua proses yang dimanajemen PM2 gunakan perintah pm2 ls
, berikut outputnya :

perhatikan pada bagian name
dari output list PM2, nama Ghost CMS yang akan saya stop adalah Ghost cloudborneo.com
, stop proses tersebut dengan perintah pm2 stop Ghost\ cloudborneo.com
, tambahkan backslash \
pada karakter khusus, seperti dalam kasus saya ini menggunakan spasi pada name
dari Ghost CMS. berikut output setelah stop proses Ghost CMS dengan PM2 :

saat ini website dengan Ghost CMS anda sedang stop (tidak bisa diakses), segera start Ghost CMS baru anda, pindah ke direktori Ghost CMS baru anda dengan perintah cd ghost-new
, kemudian jalankan perintah berikut :
NODE_ENV=production pm2 start index.js --name "Ghost Cloudborneo.com"
pada perintah tersebut saya menjalankan lagi Ghost CMS terbaru dengan PM2, dan namanya hanya saya bedakan dari huruf besar pada Cloudborneo, pada nama NODE_ENV
bersifat case sensitive, jadi tetap dianggap nama yang berbeda, berikut output setelah start Ghost CMS baru dengan PM2 :

dari list dapat kita lihat proses baru dengan status online, dan versinya adalah versi terbaru saat ini, 3.1.1, untuk memastikan, akses kembali website anda, dan cek pada menu About Ghost, jika versi sudah sama, maka proses upgrade anda telah selesai seperti berikut ini :

Coba cek kembali semua post dan settingan plugin dan lain sebagainya, pastikan semua sudah sukses, jika ada kegagalan, stop terlebih dahulu Ghost CMS baru dengan perintah pm2 stop Ghost\ Cloudborneo.com
perhatikan dan ulangi langkah-langkah sebelumnya jika ada kesalahan, jika anda ingin kembali ke versi sebelumnya start kembali Ghost CMS lama dengan perintah pm2 start Ghost\ cloudborneo.com
untuk delete list dari PM2 gunakan perintah pm2 delete Ghost\ cloudborneo.com
. sekian tutorial kali ini, semoga sukses.