Ghost adalah CMS yang dibangun diatas teknologi web modern Node.js, tidak seperti WordPress yang menggunakan PHP, Ghost menggunakan pustaka Javascript seperti Handlebars.js
, dan Ember.js
. Selain itu, untuk instalasi, Ghost menggunakan npm
sebagai paket manajer.
Arsitektur Ghost
Ghost memuat banyak pustaka dan komponen open source, namun setidaknya ada empat komponen penting yang menjadikan Ghost sangat solid dan dapat di kustomisasi sesuai keinginan.
- API JSON inti yang kuat
- Aplikasi klien admin yang intuitif
- Lapisan tema front-end yang sederhana dan kuat
- Modul yang dapat disesuaikan dengan kebutuhan
Keempat komponen tersebut saling berhubungan satu sama lain, seperti gambar dibawah ini:
Secara fisik, Ghost terdiri dari dua direktori yaitu:
core
– Berisi file inti dari Ghost yang membuat CMS ini berjalan“content
– Berisi file yang dapat ditambahkan atau diubah oleh pengguna seperti tema dan gambar.
Ghost Core
Inti dari Ghost sebenarnya adalah API (Application Programming Interface); tepatnya RESTful JSON API – yang didesain untuk membuat, mengelola, dan mempublikasikan konten dengan mudah.
Ada beberapa bagian dari Ghost Core yaitu:
- Admin API – Digunakan untuk mengelola konten, oleh staf yang memiliki akses baca dan tulis di halaman Admin.
- Content API – Mendistribusikan konten yang dibuat di halaman Admin ke halaman depan dan dapat diakses oleh pembaca/pengunjung.
- JavaScript SDK – Memudahkan pengembang untuk memperluas jangkauan Ghost, misalnya menjadikan Ghost sebagai headless CMS (Ghost sebagai backend, Gatsby/Next.js sebagai frontend).
- Webhooks – Digunakan untuk mengirimkan notifikasi ke layanan eksternal, misalnya ke Zapier atau Pipedream.
- Versioning – Pengelompokan pembaruan versi yang dirilis Ghost. Untuk pembaruan major misalnya, pembaruan dirilis sekitar 8-12 bulan. Hal ini memudahkan pengembang untuk tidak buru-buru memperbarui rilis proyek mereka; misalnya pembaruan tema.
- Data & Storage – Ghost menyertakan layer Bookshelf.js ORM secara default, memungkinkan berbagai database untuk digunakan.
Struktur File
Berikut ini adalah struktur file dari Ghost yang digunakan oleh server produksi, untuk server pengembangan, beberapa file dan direktori akan berbeda.
Fleksibilitas
Ghost sangat fleksible, dapat dijadikan Headless CMS maupun Traditional CMS. Ini karena Ghost dibangun diatas fondasi Node.js yang kuat, sehingga Framework Jamstack seperti Gatsby atau Next.js mudah dikembangkan di platform ini.
Ghost juga kompatible dengan berbagai platform database. Saat ini setidaknya ada dua database yang didukung secara resmi oleh Ghost, SQLite3 untuk pengembangan dan MySQL untuk produksi.
Selain itu, meskipun Ghost menggunakan penyimpanan file lokal secara default, Anda juga dapat menggunakan adapter penyimpanan khusus untuk membuat sistem file Anda sepenuhnya eksternal. Ada cukup banyak adapter penyimpanan siap pakai untuk Ghost yang sudah tersedia untuk digunakan, misalnya adapter untuk Cloudinary dan AWS S3.
Instalasi
Untuk melakukan instalasi Ghost, ada beberapa metode yang dapat digunakan, yaitu melalui panel dan non-panel. Untuk mengetahui tutorial lengkap instalasi Ghost, silakan pelajari artikel ini.
Ghost-CLI
Ghost-CLI merupakan aplikasi yang berjalan di terminal dan digunakan untuk tugas-tugas yang berhubungan dengan masalah teknis, misalnya menyalakan dan menghentikan server Ghost.
Berikut ini perintah-perintah dasar yang ada di Ghost-CLI.
Backup & Restore
ghost backup
– Untuk melakukan pencadangan total pada server Ghost saat inighost export file
– Untuk mengekspor konten dari server Ghost ke file.ghost import [namafile]
– Untuk mengimpor konten dari file backup ke Ghost
Pembaruan Versi
ghost check-update
– Untuk memeriksa apakah ada pembaruan atau tidakghost update
– Untuk memperbarui Ghost ke versi terbarughost force-update
– Untuk memperbarui Ghost (walaupun versi terbaru sudah terpasang)ghost version
– Menampilkan versi Ghost saat ini dan juga versi dari Ghost-CLI
Diagnosis
ghost doctor
– Untuk memeriksa apakah terjadi error atau tidak, salah satu fungsinya yaitu memeriksa konfigurasi, mirip dengannginx -t
danapachectl
.ghost ls
– Untuk melihat server yang sedang berjalan dan port yang digunakanghost log [namafile]
– Untuk melihat log dari file, jika menggunakan perintahghost log
, maka yang tampil adalah log terbaru/paling akhir dari serverghost run
– Digunakan untuk melakukan debugging, atau jika Ghost mengalami error
Manajemen Server
ghost start
– Perintah untuk menghidupkan server Ghost, tambahkan nama server menggunakan opsiname
jika memiliki lebih dari satu server. Misalghost start maucariapacom
ghost stop
– Untuk menghentikan server Ghost, tambahkan nama server menggunakan opsiname
jika memiliki lebih dari satu server. Misalghost stop maucariapacom
ghost restart
– Untuk memulai ulang server Ghostghost uninstall
– Untuk menghapus server Ghostghost migrate
– Untuk melakukan migrasi antar server
Kesimpulan
Menggunakan Ghost-CLI bisa dibilang gampang-gampang susah, namun ada baiknya Anda belajar atau menguasai dasar-dasar terminal Linux seperti perintah mkdir
, rm
, ls
, sudo
, dan lainnya sehingga tidak mengalami kesulitan ketika menggunakan Ghost-CLI.
Jika mengalami kesulitan dalam menggunakan atau instalasi Ghost, hubungi saya melalui formulir kontak atau melalui email.
Artikel Terkait
Cara Instalasi Sistem Komentar Utterances Di Ghost
September 1, 2023
Cara konfigurasi remote database Ghost CMS
December 6, 2023
Cara Menambahkan Ads.txt Di Ghost
August 13, 2023
Cara instalasi Ghost CMS di Ubuntu 20.04/22.04 LTS
August 26, 2023
Saran artikel ini dibuat oleh Kudatuli Project
InstaWP adalah alat pengembangan web yang memungkinkan pengguna untuk membuat dan meluncurkan situs WordPress dengan cepat