Ghost platform blogging modern yang ringan dan fokus pada performa. Jika kzmu ingin memiliki kendali penuh atas blog tanpa bergantung pada platform SaaS, menginstal Ghost di Self-Hosted adalah pilihan tepat.
Berikut panduan lengkap menginstal Ghost CMS di server Ubuntu 24.04, dari persiapan hingga situs bisa diakses publik.
Update dan Upgrade Package
Sebelum menginstal apa pun, selalu bijak memperbarui daftar paket dan sistem operasi.
sudo apt update -y && sudo apt upgrade -y
Menambahkan User Linux Baru
Demi keamanan, jangan pernah menjalankan Ghost sebagai user root. Buat user baru dan berikan hak akses sudo.
sudo adduser ghost sudo usermod -aG sudo ghost su - ghost
Nginx Web Server
Ghost-CLI akan secara otomatis mengonfigurasi Nginx sebagai reverse proxy. Namun, aplikasinya sendiri harus sudah terinstal terlebih dahulu.
sudo apt install nginx
Setelah terinstal, izinkan Nginx melalui firewall dan pastikan servisnya berjalan.
sudo ufw allow 'Nginx Full' sudo systemctl status nginx
Database MySQL
Ghost menggunakan MySQL sebagai basis data untuk menyimpan semua konten dan pengaturan.
sudo apt install mysql-server
Jalankan script security bawaan dan ikuti petunjuknya. Sangat disarankan untuk menjawab “Yes” untuk semua pertanyaan demi pengaturan yang lebih aman.
sudo mysql_secure_installation
Press y|Y for Yes, any other key for No: Y Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2 Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Masuk ke MySQL shell.
sudo mysql
Lalu, jalankan perintah SQL berikut. Ganti ‘PASSWORD_USER‘ dengan password yang kuat dan aman.
CREATE DATABASE ghostdb; CREATE USER 'ghostuser'@'localhost' IDENTIFIED BY 'PASSWORD_USER'; GRANT ALL ON ghostdb.* TO 'ghostuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
Catat baik-baik kredensial seperti nama database, username, dan password. karena akan ditanyakan saat proses instalasi Ghost nanti.
Unduh dan Impor Key GPG Nodesource
Install utility yang dibutuhkan.
sudo apt install -y ca-certificates curl gnupg
Buat direktori keyrings dan file nodesource.gpg .
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 Repository Nodesecure dan Install Node js
Ghost versi terbaru (v6.x) membutuhkan Node.js 22 LTS secara spesifik. Jangan gunakan versi lain karena dapat menyebabkan ketidakcocokan .
Kita akan menambah repositori NodeSource untuk mendapatkan versi yang tepat.
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
Update untuk memperbarui package, lalu install nodejs.
sudo apt update sudo apt install nodejs -y
Install Ghost-CLI
Ghost-CLI, command-line tool resmi yang akan sangat memudahkan kita dalam menginstal, mengonfigurasi, dan mengelola Ghost.
sudo npm install ghost-cli@latest -g
Membuat Direktori dan Setting Hak Akses
Sekarang buat direktori untuk instalasi Ghost.
sudo mkdir -p /var/www/ghost
Atur hak akses direktori ghost.
sudo chown ghost:ghost /var/www/ghost sudo chmod 775 /var/www/ghost
Masuk ke direktori ghost.
cd /var/www/ghost
Install CMS Ghost
Inilah perintah utama yang akan melakukan banyak hal secara otomatis.
ghost install
Selama proses ini install, kamu akan diminta menjawab beberapa pertanyaan.
Downloading and installing Ghost v6.41.1 ✔ Finishing install process ✔ Enter your blog URL: https://geekslabs.net ✔ Enter your MySQL hostname: localhost ✔ Enter your MySQL username: ghostuser ✔ Enter your MySQL password: ✔ Enter your Ghost database name: ghostdb ✔ Configuring Ghost ✔ Setting up instance + sudo chown -R ghost:ghost /var/www/ghost/content ✔ Setting up "ghost" system user ℹ Setting up "ghost" mysql user [skipped] ✔ Do you wish to set up Nginx? Yes + sudo mv /tmp/geekslabs-net/geekslabs.net.conf /etc/nginx/sites-available/geekslabs.net.conf + sudo ln -sf /etc/nginx/sites-available/geekslabs.net.conf /etc/nginx/sites-enabled/geekslabs.net.conf + sudo nginx -s reload ✔ Setting up Nginx ✔ Do you wish to set up SSL? Yes ✔ Enter your email (For SSL Certificate) [email protected] + sudo mkdir -p /etc/letsencrypt + sudo ./acme.sh --install --home /etc/letsencrypt + sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --server letsencrypt --domain geekslabs.net --webroot /var/www/ghost/system/nginx-root --reloadcmd "nginx -s reload" --accountemail [email protected] --keylength 2048 + sudo openssl dhparam -dsaparam -out /etc/nginx/snippets/dhparam.pem 2048 + sudo mv /tmp/ssl-params.conf /etc/nginx/snippets/ssl-params.conf + sudo mv /tmp/geekslabs-net/geekslabs.net-ssl.conf /etc/nginx/sites-available/geekslabs.net-ssl.conf + sudo ln -sf /etc/nginx/sites-available/geekslabs.net-ssl.conf /etc/nginx/sites-enabled/geekslabs.net-ssl.conf + sudo nginx -s reload ✔ Setting up SSL ✔ Do you wish to set up Systemd? Yes + sudo mv /tmp/geekslabs-net/ghost_geekslabs-net.service /lib/systemd/system/ghost_geekslabs-net.service + sudo systemctl daemon-reload ✔ Setting up Systemd + sudo systemctl is-active ghost_geekslabs-net ✔ Do you want to start Ghost? Yes + sudo systemctl start ghost_geekslabs-net + sudo systemctl is-enabled ghost_geekslabs-net + sudo systemctl enable ghost_geekslabs-net --quiet ✔ Starting Ghost Ghost uses direct mail by default. To set up an alternative email method read our docs at https://ghost.org/docs/config/#mail ------------------------------------------------------------------------------ Ghost was installed successfully! To complete setup of your publication, visit: https://geekslabs.net/ghost/
Ghost-CLI akan bekerja dan menyelesaikan instalasi. Jika semua berjalan lancar, kamu akan melihat pesan sukses.
Mengakses Dashborad Admin Ghost
Setelah instalasi selesai, buka browser dan akses panel admin Ghost dengan URL https://geekslabs.net/ghost.
Kamu akan disambut oleh setup wizard. Di sini, kamu bisa membuat akun admin pertama, mengatur judul situs, dan melengkapi informasi dasar lainnya.

Tampilan homepage default ghost, klik Sign in untuk masuk ke dashboard.

Berikut dashboard management cms ghost.

Kesimpulan
Dengan mengikuti panduan langkah demi langkah ini, kamu telah berhasil memasang CMS Ghost di server Ubuntu 24.04. Proses instalasi ini mencakup beberapa komponen penting yang saling terintegrasi, mulai dari:
- Persiapan server dan user khusus untuk alasan keamanan.
- Penggunaan MySQL sebagai basis data yang stabil dan aman.
- Instalasi Node.js 22 LTS sesuai kebutuhan spesifik Ghost versi terbaru.
- Otomatisasi konfigurasi menggunakan Ghost-CLI, termasuk setup Nginx sebagai reverse proxy dan sertifikat SSL gratis dari Let’s Encrypt.
Setelah instalasi berhasil, Ghost siap kamu gunakan untuk membangun platform publikasi yang modern, cepat, dan SEO-friendly.
Selalu memperbarui sistem dan Ghost secara berkala dengan perintah ghost update, serta memonitor performanya melalui perintah ghost status dan ghost log.

