DEV Community

Cover image for Tutorial install Ghost CMS di VPS Ubuntu
superXdev
superXdev Subscriber

Posted on

Tutorial install Ghost CMS di VPS Ubuntu

Ghost CMS adalah platform Content Management System (CMS) open-source yang dirancang khusus untuk penulisan dan penerbitan konten seperti blog, artikel, dan newsletter. Berbeda dari CMS lain seperti WordPress yang lebih serbaguna, Ghost berfokus pada pengalaman menulis yang bersih, cepat, dan minim gangguan dengan UI yang minimalis.

Ghost dibangun menggunakan Node.js, sehingga memiliki performa yang tinggi dan efisien dibanding CMS yang berbasis PHP. Platform ini banyak digunakan oleh blogger, jurnalis, dan penerbit digital karena kemudahan integrasi, kecepatan loading, dan fitur modern seperti editor Markdown, real-time preview, dan dukungan berbagai media (gambar, video, embed). Ghost juga bisa berfungsi sebagai headless CMS yang fleksibel untuk kebutuhan pengembangan web lebih lanjut.

Secara garis besar, Ghost cocok untuk mereka yang ingin membuat blog atau portal konten yang ringan, cepat, dan mudah dikelola tanpa fitur kompleks yang tidak diperlukan. Ghost adalah proyek open-source sehingga dapat dihosting sendiri secara gratis, atau menggunakan layanan hosting resmi berbayar di https://ghost.org

Berikut tutorial lengkap dan terstruktur untuk install Ghost CMS di VPS Ubuntu:

1. Persiapan Awal

  • Pastikan kamu memiliki VPS dengan sistem operasi Ubuntu (disarankan versi 20.04 atau 22.04 LTS).
  • Pastikan sudah memiliki akses root atau user dengan hak sudo.
  • Domain sudah diarahkan ke IP VPS (jika ingin menggunakan domain).
  • Perbarui sistem VPS:
  sudo apt update && sudo apt upgrade -y
Enter fullscreen mode Exit fullscreen mode

2. Instalasi Prasyarat

A. Install Nginx (web server)

sudo apt install nginx -y
sudo ufw allow 'Nginx Full'
Enter fullscreen mode Exit fullscreen mode

B. Install dan Konfigurasi MySQL

sudo apt install mysql-server -y
sudo mysql_secure_installation
Enter fullscreen mode Exit fullscreen mode

Setelah itu login ke MySQL dan buat database untuk Ghost:

sudo mysql -u root -p
CREATE DATABASE ghost_db;
CREATE USER 'ghost_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON ghost_db.* TO 'ghost_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Enter fullscreen mode Exit fullscreen mode

3. Install Node.js LTS dan npm

Ghost CMS berjalan menggunakan Node.js, jadi pasang Node.js versi terbaru (LTS):

# Download and import the Nodesource GPG key
sudo apt-get update
sudo apt-get 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

# Create deb repository
NODE_MAJOR=22 # Use a supported version
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

# Run update and install
sudo apt-get update
sudo apt-get install nodejs -y
Enter fullscreen mode Exit fullscreen mode

4. Install Ghost-CLI secara global

Ghost-CLI memudahkan instalasi dan setup Ghost CMS.

sudo npm install -g ghost-cli
Enter fullscreen mode Exit fullscreen mode

5. Buat Direktori untuk Ghost dan Atur Permission

Misal menggunakan domain domainkamu.com:

sudo mkdir -p /var/www/domainkamu.com
sudo chown $USER:$USER /var/www/domainkamu.com
sudo chmod 775 /var/www/domainkamu.com
cd /var/www/domainkamu.com
Enter fullscreen mode Exit fullscreen mode

6. Instalasi Ghost CMS di Direktori

Jalankan perintah instalasi Ghost dengan CLI:

ghost install
Enter fullscreen mode Exit fullscreen mode

Selama proses instalasi, kamu akan diminta memasukkan beberapa konfigurasi penting:

  • URL Blog (misal: https://domainkamu.com)
  • MySQL Hostname (biasanya localhost)
  • MySQL Username (contoh: ghost_user)
  • MySQL Password (password untuk user database MySQL)
  • Nama Database (contoh: ghost_db)
  • Pilih untuk mengaktifkan konfigurasi Nginx (Yes)
  • Pilih untuk mengatur SSL otomatis dengan Let’s Encrypt (Yes)
  • Pilih mengaktifkan Systemd untuk manajemen service (Yes)
  • Pilih untuk memulai Ghost setelah instalasi selesai (Yes)

7. Konfigurasi Nginx dan SSL

Ghost-CLI biasanya akan mengkonfigurasi Nginx dan SSL otomatis menggunakan Let's Encrypt jika kamu memilih opsi tersebut saat instalasi. Jika tidak, kamu dapat membuat konfigurasi Nginx manual seperti ini:

server {
    listen 80;
    server_name domainkamu.com www.domainkamu.com;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:2368;
    }
}
Enter fullscreen mode Exit fullscreen mode

Aktifkan konfigurasi dan restart Nginx:

sudo ln -s /etc/nginx/sites-available/domainkamu.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Enter fullscreen mode Exit fullscreen mode

Untuk SSL, jika belum otomatis, gunakan Certbot:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d domainkamu.com -d www.domainkamu.com
Enter fullscreen mode Exit fullscreen mode

8. Mengakses Ghost CMS

  • Buka browser ke alamat https://domainkamu.com untuk melihat blog Ghost.
  • Untuk mengakses panel admin, buka https://domainkamu.com/ghost.

9. Manajemen Layanan Ghost

Beberapa perintah dasar pengelolaan Ghost menggunakan CLI:

  • Restart Ghost:
  ghost restart
Enter fullscreen mode Exit fullscreen mode
  • Stop Ghost:
  ghost stop
Enter fullscreen mode Exit fullscreen mode
  • Start Ghost:
  ghost start
Enter fullscreen mode Exit fullscreen mode

Top comments (0)