Gambar hero untuk Cara instalasi Ghost di CloudPanel
Ghost Series: Belajar Ghost

Cara instalasi Ghost di CloudPanel

Dipublikasikan : 26 Mei 2023
Oleh:

Ghost merupakan CMS berbasis Node.js yang cukup mudah digunakan, ada dua pilihan menggunakan CMS ini, yaitu berlangganan Ghost(Pro) atau memasang sendiri di server kita (self-hosted).

Pada tutorial kali ini, saya akan menggunakan metode kedua yaitu menggunakan self-host. Langkah-langkahnya seperti berikut:

Siapkan VPS

Buat satu instance VPS, bisa menggunakan shared atau dedicated (harga dan spesifikasi tergantung penyedia layanan yang digunakan). Untuk penyedia cloud,

Anda dapat menggunakan AWS, GCP, Vultr atau penyedia lainnya.

cloudpanel ubuntu

Catatan: Jangan ikut ketik tanda backtick   di awal dan akhir kode/perintah, itu cuma penanda blok kode untuk memudahkan penulisan.

Region yang saya gunakan adalah region Singapore (ap-southeast-1), karena dekat dengan wilayah Indonesia sehingga latensinya akan cukup rendah dan diakses dengan cepat oleh pengguna.

Baca juga: Solusi Email Marketing terbaik untuk WordPress (WPForms + Mailchimp)

Untuk spesifikasi server, saya menggunakan instance t3.small dengan 2 vCPU dan  2 GB RAM, penyimpanan tipe gp3 dengan kapasitas 10 GB.

Pastikan semua opsi di bagian Firewall (security groups) dicentang agar port 80 (HTTP) dan 443 (HTTPS) terbuka secara default. Untuk port lainnya dapat dilakukan setelah instalasi selesai.

aws ec2 securitygroup

Konfigurasi

Elastic IP

Setelah instalasi selesai, saya menyarankan Anda menggunakan Elastic IP untuk menghindari alamat IP yang berubah-ubah jika server di reboot. Elastic IP merupakan IP statis yang tidak akan berubah kecuali kita ganti secara manual.

Untuk membuat Elastic IP, skrol kebawah dan berhenti di bagian Network & Security > Elastic IPs, klik menu Allocate Elastic IP Address.

aws ec2 elastic ip

Klik tombol Action dan pilih menu Associate Elastic IP address untuk menyelesaikan pembuatan Elastic IP.

ec2 elasticip allocatedip

Baca juga: Catatan Penting Perjalanan Ekosistem Startup Digital Tanah Air Tahun 2022

Pilih Instance yang diinginkan, centang kolom Allow this Elastic to be reassociated agar IP dapat digunakan di kemudian hari.

elastic ip allocate

Elastic IP sukses diterapkan ke Instance.

ec2 public IP

Security Group/Firewall

Konfigurasi port agar dasbor CloudPanel dapat diakses melalui port 8443. Caranya klik Network & Security, cari security group yang sesuai kemudian klik nama tersebut dan klik tombol Edit inbound rules.

Iklan

securitygroup allow 8443 1

Klik Save rules untuk menyimpan perubahan.

Akses CloudPanel

Setelah menambahkan port 8443, kita dapat langsung masuk ke dasbor CloudPanel dengan mengakses alamat https://ElasticIP:8443 (ubah dengan alamat IP Anda).

Abaikan peringatan sertifikat yang ditandatangani sendiri untuk masuk ke CloudPanel. Klik Accept the Risk and Continue untuk melanjutkan.

self ssl error cloudpanel

Buat nama pengguna, alamat email dan kata sandi untuk pengguna Admin, lakukan dengan segera untuk menghindari hal-hal yang tidak diinginkan.

cloudpanel admin registration

Setelah selesai registrasi, langkah selanjutnya adalah masukkan nama pengguna dan kata sandi yang telah dibuat sebelumnya.

cloudpanel login 1

Setelah login berhasil, layar akan menampilkan halaman dasbor CloudPanel.

cloudpanel dashboard

Klik tombol +ADD SITE untuk menambahkan situs baru. kemudian pilih Node.js.

cloudpanel nodejs

cloudpanel nodejs createsite

Isi kolom pada tampilan diatas dengan konfigurasi sebagai berikut:

Domain Name (nama domain)nama domain, misal ghost.maucariapa.com
Node.js Version (versi yang akan digunakan)16.0
App Port (port yang akan digunakan)2368
Site User (buat nama pengguna)misalnya maucariapa-ghost
Site Password (buat kata sandi)kata sandi yang kuat, misal BKQPrbo5Wa2ptb8

Klik tombol Create untuk menyelesaikan langkah ini. Nama pengguna dan kata sandi yang dibuat tersebut akan digunakan untuk login SSH.

Gambar dibawah ini menunjukkan bahwa situs Node.js telah berhasil dibuat.

Iklan

cloudpanel site created

Langkah selanjutnya klik Manage untuk membuat database yang akan digunakan pada instalasi Ghost nanti.

cloudpanel manage database

Klik menu Add Database, isi kolom nama database, nama pengguna dan kata sandi sesuai keinginan, harap diingat kredensial tersebut karena nantinya akan digunakan untuk instalasi.

Setelah sukses dibuat, database tersebut akan tampil pada tab Database di dasbor CloudPanel.

cloudpanel successed database

Info

Jangan lupa menautkan alamat IP dengan nama domain yang telah dibuat sebelumnya di pengelola domain atau DNS Anda, seperti CloudFlare atau GoDaddy.

Setelah alamat IP dan nama domain terhubung, selanjutnya kita mulai instalasi Ghost di SSH. Gunakan nama pengguna dan kata sandi yang telah dibuat pada langkah sebelumnya, Untuk login SSH kita dapat menggunakan aplikasi Termius.

termius ss login

Setelah berhasil login, masuk ke direktori ~/htdocs/<nama_situs> dan lakukan instalasi Ghost menggunakan perintah npm install ghost-cli@latest -g.

Eksekusi perintah dibawah ini untuk membuat situs Ghost:

bash
ghost install --db mysql --port 2368 --dbhost 127.0.0.1 --dbuser $DATABASE_USER_NAME --dbpass $DATABASE_USER_PASSWORD --dbname $DATABASE_NAME --process local --no-setup-linux-user --no-setup-ssl --no-setup-nginx --dir /home/$SITE_USER/htdocs/$DOMAIN/

Info

Ubah DATABASE_USERNAME, DATABASE_USER_PASSWORD, DATABASE_NAME, SITE_USER, dan DOMAIN dengan kredensial database dan domain Anda.

Tunggu sampai proses instalasi selesai.

ghost installation

Jika tidak ada kendala, instalasi akan berjalan dengan baik seperti pada gambar dibawah ini.

Iklan

ghost sucessed install

Setelah selesai buka situs Ghost Anda untuk menyelesaikan instalasi, misalnya https://ghost.maucariapa.com/ghost. Klik Create account & start publishing untuk menyelesaikan langkah ini.

ghost last setup

Kita telah berhasil melakukan instalasi Ghost. Pada dasbor Ghost, kita dapat membuat postingan atau mengganti tema dan pekerjaan lainnya.

ghost dasboard

Karena service Ghost tidak akan berjalan otomatis ketika server di restart, kita harus membuat skrip bash agar service Ghost dapat berjalan otomatis ketika server di restart. Gunakan skrip berikut:

bash
#!/bin/bashexport NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvmghost start --dir $HOME/htdocs/ghost.site/ --no-setup-linux-user > $HOME/logs/ghost.log &

Simpan file dengan nama ghost-start.sh. Jangan lupa mengubah direktori $HOME/htdocs/ghost.site/ dengan direktori milik Anda.

Atur permission menggunakan perintah chmod 700 ghost=-start.sh. Jalankan perintah crontab -e, masukkan baris perintah @reboot /home/$SITE_USER/scripts/ghost-start.sh &> /dev/null. Jangan lupa mengubah $SITE_USER menjadi user yang Anda gunakan.

Restart server dan uji coba apakah service Ghost berjalan secara otomatis atau tidak.

Kesimpulan

Ghost merupakan CMS yang modern, mendukung SEO dan format gambar terbaru seperti .avif dan .avif tanpa memerlukan plugin tambahan. Satu-satunya hal yang perlu Anda perhatikan adalah beradaptasi dengan beberapa baris perintah dan antarmuka terminal.

Mencari hosting terutama shared-hosting untuk menggunakan Ghost saya rasa bukan pekerjaan mudah, pastikan layanan hosting Anda mendukung aplikasi Node.js agar dapat menggunakan CMS ini. Tanyakan kepada CS pihak hosting apakah mereka menyediakan dukungan Node.js atau tidak, sebelum Anda memesan hosting mereka.

Pada artikel lainnya saya akan menjelaskan beberapa perintah yang biasa digunakan pada Ghost-CLI, cara menggunakan format gambar avif dan webp, dan lain-lain.

Topik dalam Artikel Ini

Bagian dari Series: Belajar Ghost

Artikel ini adalah bagian dari series pembelajaran yang komprehensif.

Lihat Series Lengkap

Memuat kontributor…

Dan para kontributor lainnya yang mendukung MauCariApa.com.

Dukung Kami
seedbacklink logo

seedbacklink

Marketplace backlink terbesar dan terpercaya di Indonesia

Diskusi & Komentar

Panduan Komentar
  • • Gunakan bahasa yang sopan dan konstruktif
  • • Hindari spam, promosi, atau link yang tidak relevan
  • • Komentar akan terus dipantau secara berkala

Tentang Penulis

MauCariApa.com

MauCariApa.com

MauCariApa.com hadir sebagai wadah bagi para pencinta teknologi untuk saling belajar dan berkembang

Lanjut Membaca