Cara Install Ghost di Ubuntu 26.04

Cara Install Ghost di Ubuntu 26.04

Bitnesia • Software • Aug 14, 2026 182 •EN

Ghost adalah publishing platform yang dirancang khusus untuk menulis, menerbitkan, dan mengelola konten dengan cepat. Berbeda dari WordPress yang fungsinya serba ada, Ghost sengaja dibangun ramping karena fokus tunggalnya adalah professional blogging. Hasilnya, dashboard terasa ringan, editor nyaman dipakai, dan performa halaman jauh lebih kencang di sisi frontend.

Panduan ini dibuat berdasarkan dokumentasi resmi Ghost dan praktik langsung saat memasangnya di production server Ubuntu 26.04. Setiap perintah sudah diuji kok, jadi Anda tinggal mengikuti urutannya saja. Begitu tutorial ini selesai, Anda langsung punya blog Ghost yang berjalan di HTTPS, aktif otomatis saat server restart, dan siap diisi dengan konten pertama Anda.

Apa itu Ghost?

Ghost adalah content management system (CMS) open-source yang berfokus pada publikasi profesional. Platform ini dibuat pada tahun 2013 oleh John O'Nolan melalui kampanye Kickstarter, dengan tujuan awal yang sederhana: menghadirkan pengalaman blogging yang modern dan cepat tanpa beban fitur yang tidak diperlukan.

Beberapa alasan Ghost menjadi populer di kalangan penulis, media independen, dan perusahaan:

  • Cepat: Ghost dibangun di atas Node.js dan berorientasi performa. Halaman blog memuat jauh lebih ringan dibandingkan CMS monolitik.
  • Fokus pada penerbitan: Editor bawaan terasa seperti menulis di aplikasi khusus, lengkap dengan Markdown dan kartu konten dinamis.
  • Ramah SEO: Sitemap, metadata Open Graph, canonical URL, dan struktur halaman sudah dioptimalkan tanpa perlu plugin tambahan.
  • Keanggotaan dan newsletter bawaan: Fitur membership dan email newsletter tersedia langsung tanpa integrasi pihak ketiga.

Prasyarat Sistem

Ghost bisa berjalan lancar di server dengan sumber daya yang cukup sederhana. Ini rekomendasi resminya:

KomponenKebutuhan MinimumRekomendasi
RAM1 GB2 GB atau lebih
CPU1 core2 core
Storage20 GB40 GB SSD (untuk konten dan backup)
Sistem OperasiUbuntu 24.04 LTSUbuntu 26.04 LTS 

Langkah 1: Update Server dan Membuat User Baru

Memperbarui Paket Sistem

Langkah pertama yang selalu wajib dilakukan adalah memperbarui daftar paket dan aplikasi terpasang. Hal ini penting agar server Anda selalu berada di kondisi terbaru dan aman dari celah keamanan.

sudo apt update
sudo apt upgrade -y

Membuat User Non-Root

Ghost-CLI tidak bisa dijalankan menggunakan akses root. Anda wajib membuat user non-root baru yang nantinya bertugas mengelola direktori dan menjalankan proses Ghost. 

# Buat user baru (ikuti petunjuk untuk nama dan password)
sudo adduser ghostuser

# Masukkan user ke grup sudo
sudo usermod -aG sudo ghostuser

# Berpindah ke user baru
su - ghostuser

Poin penting: Jangan pernah menggunakan nama ghost sebagai nama user baru Anda. Nama tersebut pasti memicu konflik dengan sistem internal Ghost-CLI. Anda bisa memilih nama lain yang aman seperti ghostuser, penulis, atau deploy.

Langkah 2: Install Web Server Nginx dan Firewall

Instalasi Nginx

Ghost menggunakan Nginx sebagai reverse proxy yang bertugas melayani permintaan dari internet, lalu meneruskannya ke proses Ghost. 

sudo apt install nginx -y

Mengonfigurasi Firewall UFW

Buka port HTTP (80) dan HTTPS (443) jika firewall UFW di server Anda aktif. Profil Nginx Full sudah mencakup kedua port tersebut sekaligus kok. Pastikan Anda juga membuka akses SSH agar sesi login terminal tidak terputus di tengah jalan.

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Terakhir, periksa kembali aturan firewall yang sudah diterapkan menggunakan perintah berikut:

sudo ufw status

Langkah 3: Install MySQL Database

Instalasi MySQL Server

Ghost menyimpan seluruh konten, akun user, dan konfigurasi sistem di database MySQL. Silakan pasang MySQL server versi 8.4 yang sudah tersedia langsung di repositori resmi Ubuntu 26.04.

sudo apt install mysql-server -y

Mengamankan Instalasi Database

Jalankan skrip bawaan ini untuk memperketat keamanan database Anda. Langkah ini berguna untuk menghapus akun user anonim sekaligus membersihkan database test bawaan.

sudo mysql_secure_installation

Mengatur Password Root MySQL

Sistem Ubuntu secara otomatis mengatur user root MySQL agar memakai autentikasi berbasis socket (auth_socket). Ghost belum mendukung metode tersebut, sehingga root MySQL perlu diubah agar memakai password biasa. Silakan masuk ke konsol MySQL lalu perbarui metode autentikasinya.

# Masuk ke konsol MySQL
sudo mysql

# Ubah autentikasi root menjadi password
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'caching_sha2_password' BY 'password-root-anda';

# Muat ulang privilege
FLUSH PRIVILEGES;

# Keluar dari konsol MySQL
exit

Membuat Database dan User Khusus Ghost

Ghost-CLI sebenarnya bisa membuat database secara otomatis kalau Anda memasukkan akun user root MySQL saat instalasi nanti. Langkah yang jauh lebih aman adalah menyiapkan database dan user khusus terlebih dahulu agar Ghost tidak perlu memegang kredensial utama milik root.

sudo mysql
CREATE DATABASE ghost_prod;
CREATE USER 'ghostdbuser'@'localhost' IDENTIFIED BY 'password-ghost-anda';
GRANT ALL PRIVILEGES ON ghost_prod.* TO 'ghostdbuser'@'localhost';
FLUSH PRIVILEGES;
exit

Langkah 4: Install Node.js dan npm

Ghost adalah aplikasi yang berjalan di atas Node.js, sehingga memakai versi Node yang tepat menjadi prasyarat mutlak. Repositori bawaan Ubuntu kerap kali tertinggal dari versi yang didukung oleh Ghost. Langkah paling aman adalah menambahkan repositori resmi dari NodeSource dan memasang versi LTS yang didukung, yaitu Node.js 22.

Menambahkan Repositori NodeSource

# Siapkan dependensi dan keyring
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

# Tambahkan repositori Node.js 22
NODE_MAJOR=22
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

# Perbarui daftar paket dan instal Node.js
sudo apt update
sudo apt install nodejs -y

Verifikasi Versi

Pastikan Node.js dan npm sudah terpasang dengan versi yang benar lewat perintah berikut:

node --version
# Output: v22.x.x

npm --version
# Output: 10.x.x atau lebih baru

Langkah 5: Install Ghost-CLI

Ghost-CLI adalah alat command-line resmi untuk memasang, mengonfigurasi, dan memelihara Ghost. Alat ini mengotomatisasi pekerjaan yang biasanya panjang seperti membuat konfigurasi Nginx, mengajukan sertifikat SSL, membuat unit systemd, hingga memperbarui versi Ghost. Sebagian besar tugas administrasi Ghost cukup dikerjakan lewat perintah ghost.

Pasang Ghost-CLI secara global agar dapat dipanggil dari direktori mana pun di server Anda:

sudo npm install ghost-cli@latest -g

Silakan verifikasi hasil instalasinya lewat perintah ini:

ghost --version

Perintah ghost help akan menampilkan daftar lengkap perintah yang tersedia. Anda bisa menemukan opsi mulai dari ghost install, ghost update, ghost backup, hingga ghost doctor untuk memeriksa kesehatan instalasi Ghost.

Langkah 6: Proses Instalasi Ghost

Membuat Direktori Instalasi

Ghost wajib dipasang di direktori sendiri dengan pemilik dan izin akses yang benar. Silakan buat direktorinya, ubah kepemilikannya ke user non-root yang sudah dibuat pada Langkah 1, lalu masuk ke direktori tersebut.

# Buat direktori instalasi
sudo mkdir -p /var/www/ghost

# Ubah kepemilikan ke user non-root Anda
sudo chown ghostuser:ghostuser /var/www/ghost

# Atur izin akses
sudo chmod 775 /var/www/ghost

# Masuk ke direktori
cd /var/www/ghost

Menjalankan ghost install

Pastikan Anda sudah login sebagai user non-root (bukan root), lalu jalankan perintah instalasi dari dalam direktori /var/www/ghost.

ghost install

Mengisi Konfigurasi Interaktif

Ghost-CLI akan menanyakan serangkaian konfigurasi secara interaktif. Silakan isi sesuai kebutuhan dengan panduan berikut:

PertanyaanIsi Jawaban
Blog URLhttps://domainanda.com
MySQL hostnamelocalhost (tekan Enter untuk default)
MySQL usernameroot atau ghostdbuser jika memakai user khusus
MySQL passwordPassword user MySQL yang dipakai
Ghost database nameghost_prod
Set up a ghost MySQL user?Yes (jika memakai root)
Set up NGINX?Yes
Set up SSL?Yes
Enter your email (SSL)[email protected]
Set up systemd?Yes
Start Ghost?Yes

Ini penjelasan singkat untuk setiap pilihan di atas:

  • Blog URL: Alamat publik blog Anda lengkap dengan protokolnya. Gunakan https:// agar Ghost-CLI otomatis menawarkan pengaturan SSL.
  • MySQL hostname: Nilai localhost sudah tepat karena database MySQL berada di server yang sama.
  • Set up a ghost MySQL user: Ghost-CLI akan membuat user MySQL terpisah yang hanya bisa mengakses database Ghost. Langkah ini menjaga kredensial root agar tidak tersimpan di konfigurasi aplikasi.
  • Set up NGINX: Ghost-CLI otomatis membuat dan mengaktifkan server block Nginx untuk Anda.
  • Set up SSL: Ghost-CLI mendaftarkan sertifikat gratis dari Let's Encrypt sekaligus menyiapkan perpanjangan otomatisnya.
  • Set up systemd: Ghost akan didaftarkan sebagai service agar bisa berjalan otomatis saat server di-restart.

Peringatan penting: Proses pembuatan SSL hanya akan berhasil jika A Record domain Anda sudah tepat menunjuk ke IP server. Jika proses ini gagal, Anda bisa menjalankan ulang setup SSL setelah DNS selesai propagasi melalui perintah ghost setup ssl.

Jika instalasi berhasil, akan ditampilkan pesan:

Ghost was installed successfully! To complete setup of your publication, visit: 

    https://domainanda.com/ghost/

Begitu seluruh proses selesai, silakan verifikasi status Ghost Anda untuk memastikan layanannya sudah berjalan normal:

ghost ls
sudo systemctl status ghost_domainanda-com

Langkah 7: Setup Akun Admin Ghost

Mengakses Halaman Setup

Silakan buka browser kesayangan Anda dan akses halaman admin Ghost melalui URL berikut (jangan lupa ganti bagian domain dengan milik Anda sendiri):

https://domainanda.com/ghost

Halaman pertama yang akan Anda lihat adalah formulir pembuatan akun administrator. Anda cukup mengisi empat kolom utama yang tersedia:

  • Site title: Judul publikasi yang akan tampil di halaman depan blog Anda.
  • Full name: Nama lengkap Anda selaku pemilik situs.
  • Email address: Alamat email aktif yang akan digunakan untuk login dan menerima notifikasi penting.
  • Password: Kata sandi yang kuat minimal 10 karakter, gunakan kombinasi huruf besar, huruf kecil, angka, dan simbo.

Setelah Anda klik tombol Create account & start publishing, sistem akan langsung mengarahkan Anda masuk ke dalam dashboard admin Ghost.

Tur Singkat Dasbor Admin

Berikut adalah beberapa area penting di dalam dashboard Ghost yang perlu Anda kenali:

  • Posts: Tempat utama untuk menulis dan mengelola artikel, termasuk mengatur draf dan jadwal tayang konten.
  • Pages: Menu untuk membuat halaman statis seperti halaman About, Contact, atau Privacy Policy.
  • Tags: Fitur kategori untuk mengelompokkan konten-konten blog Anda agar lebih rapi.
  • Members: Area khusus untuk mengelola anggota dan newsletter jika Anda mengaktifkan fitur membership.
  • Settings: Pusat konfigurasi situs, pengaturan tema, integrasi aplikasi pihak ketiga, hingga optimasi metadata SEO.

Tips keamanan: Segera aktifkan fitur two-factor authentication (2FA) melalui menu profil Anda setelah berhasil login untuk pertama kali. Dashboard admin adalah pintu masuk utama situs Anda, sehingga lapisan keamanan tambahan ini sangat disarankan.

Kesimpulan

Selamat, Ghost CMS sekarang sudah berjalan lancar di server Ubuntu 26.04 milik Anda! Kalau dirangkum kembali, Anda sudah berhasil menyelesaikan beberapa hal penting yang luar biasa, mulai dari membuat user non-root yang aman, memasang Nginx dan MySQL, menyiapkan Node.js dengan versi yang tepat, menginstal Ghost lewat Ghost-CLI, sampai mengamankan situs menggunakan SSL Let's Encrypt dan systemd.

Tugas Anda untuk pemeliharaan ke depannya akan jauh lebih mudah berkat Ghost-CLI. Anda cukup menggunakan perintah ghost update untuk memperbarui versi aplikasi, ghost backup untuk mencadangkan seluruh konten, serta ghost doctor jika ingin memeriksa kesehatan sistem instalasi. Sekarang saatnya Anda mulai menulis artikel pertama dari menu Posts dan membagikannya kepada para pembaca setia Anda!.

Suka dengan konten panduan teknis kami? Jadilah bagian dari pendukung ekosistem open source di Bitnesia.

Donasi Sekarang

Related Posts