Instalasi Ghost CMS di cPanel (Shared Hosting)

cPanel, Ghost, NodeJS 27 April 2021

Ghost adalah platform blogging open source yang ditulis dalam JavaScript dan didistribusikan di bawah Lisensi MIT, yang dirancang untuk menyederhanakan proses penerbitan online untuk blogger individu serta publikasi online.

Sebelum instalasi Ghost, pastikan terlebih dahulu hosting yang kita pakai mendukung NodeJS dan terminal/SSH. Yang akan kita gunakan kali ini adalah Ghost versi terbaru (versi 4).

Buat Aplikasi NodeJs

Pertama kita klik Setup Node.js AppCreate Application

Setup Node.js App → Create Application

Lalu pilih versi NodeJS yang recomended. Application mode pilih Production. Untuk isian Application root, kita buat folder baru, contoh node.alifblog.xyz. Application URL pilih dengan domain mana yang akan kita instalasi Ghost. Application startup file isi dengan current/index.js. Lalu klik Create.

Create Application NodeJS

Install Ghost-CLI

Jika telah Create, maka akan muncul notif seperti ini, kita klik untuk menyalinnya.

Copy virtual environment

Lalu kita buka terminal/SSH, tempel, lalu enter.

Terminal → Virtual environment

Instalasi Ghost CLI dengan mengetikkan:

npm install ghost-cli@latest -g

Install Ghost CMS

Untuk instalasi Ghost kita membutuhkan folder kosong, kita hapus semua file di dalam folder Ghost dengan perintah:

rm -rf *

Lalu kita mulai instalasi Ghost

ghost install local

Selesai instalasi ghost local

Kita buat config.production.json dengan cara menyalin dari config.developement.json

cp config.development.json config.production.json

File Manager

Edit config.production.json di file manager, lalu ubah domain url:

"url": "https://node.alifblog.xyz",
  "server": {
    "port": 2368,
    "host": "127.0.0.1"
  },

lalu save dan kita restart NodeJS.

Tunggu beberapa menit, hingga NodeJS selesai restart.

Selesai instalasi Ghost

Setup admin panel Ghost

Untuk membuka admin panel, hanya perlu akses /ghost di akhir url, contoh:

https://node.alifblog.xyz/ghost/

Klik Create your account

Create Account

Isi formnya, lalu klik tombol Last Step: Invite staff users

Create Account 2

Kita lewati bagian ini, klik I'll do this later, take me to my site!

Create Account 3

Selesai

Admin dashboard

Setup Email SMTP

Ada banyak layanan email SMTP, diantaranya Mailgun, Sendgrid, Mailjet. Kali ini kita akan menggunakan email SMTP yang gratis dengan Gmail dan Yandex Mail.

Untuk menggunakannya kita terlebih dahulu menonaktifkan two-factor authentication.

Jika menggunakan Gmail, kita aktifkan dahulu Less secure app access dengan cara:

  1. Akses https://myaccount.google.com/
  2. Klik Security
  3. Lalu aktifkan Less secure app access

Turn on less secure app access

Lalu kita atur environment variables di Node JS.

Untuk konfigurasi Gmail:

Name Value
mail__transport SMTP
mail__from Alif <alifblog@gmail.com>
mail__options__service SMTP
mail__options__host smtp.gmail.com
mail__options__port 465
mail__options__auth__user alifblog@gmail.com
mail__options__auth__pass password

Untuk konfigurasi Yandex Mail:

Name Value
mail__transport SMTP
mail__from Alif <admin@alifblog.xyz>
mail__options__service SMTP
mail__options__host smtp.yandex.com
mail__options__port 587
mail__options__auth__user admin@alifblog.xyz
mail__options__auth__pass password

Environment variables

Klik Save, lalu restart.

Kita coba pengetesan dengan lupa password. Logout dari panel admin lalu isikan email, klik Forgot.

Sign in page

Lalu kita cek email, jika berhasil maka akan ada email masuk

Email inbox

Membuat website selalu aktif

Jika website tidak ada yang akses dalam beberapa waktu, website tersebut akan sleep, dan jika diakses kembali akan muncul seperti berikut

Untuk mengatasi hal tersebut, kita akan menggunakan UptimeRobot.

Monitor Type pilih HTTP(s)

Friendly Name tulis Ghost CMS

URL (or IP) isikan dengan URL, contoh https://node.alifblog.xyz/

UptimeRobot


Donasi