Cara Install Ghost di Ubuntu 20.04

Pada artikel sebelumnya kita sudah membahas tentang Ghost yang merupakan sebuah perangkat lunak open source publishing platform atau content management system dengan fitur tersedianya premium content. Nah, kali ini kita akan belajar bagaimana cara install Ghost di server milik sendiri. Jadi, kita bisa memakai Ghost tanpa harus berlangganan atau memakai premium hosting dari Ghost.

*0.Prasyarat*

Instalasi Ghost di server produksi yang direkomendasikan secara resmi memerlukan tech stack sebagai berikut:

· Ubuntu 16.04, 18.04, atau 20.04 · Nginx · Node.js yang masih disupport · MySQL 5.7 atau 8.0 · Systemd · Minimum RAM 1GB · Nama domain

-Tutorial Environment-

Untuk tutorial ini menggunakan environment:

· VPS Ubuntu 20.04 · Nginx 1.18.0 · Node.js 14.16.1 LTS · MySQL 8.0 · Domain musaamin.my.id · Ghost 4.2.2

*1.Membuat User*

Login SSH ke server dan buat user baru jika tidak ada user lain selain root.

[INPUT]

1 2 adduser musaamin usermod -aG sudo musaamin

Login sebagai user yang baru dibuat.

[INPUT]

1 su – musaamin

*2.Update Packages*

Sebelum instalasi, update packages terlebih dahulu.

[INPUT]

1 2 sudo apt update sudo apt upgrade -y

*3.Install Nginx*

Install Nginx.

[INPUT]

1 sudo apt install nginx -y

*4.Install MySQL*

Install MySQL database.

[INPUT]

1 sudo apt install mysql-server -y

Login ke MySQL.

[INPUT]

1 sudo mysql

Update password untuk user root.

[INPUT]

1 ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘rahasia’;

Keluar dari MySQL.

[INPUT]

1 exit

*5.Install Node.js*

Tambahkan repository Node.js versi LTS.

[INPUT]

1 curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash –

Install Node.js.

[INPUT]

1 sudo apt install nodejs -y

*6.Install Ghost-CLI*

Ghost-CLI adalah sebuah command line tool untuk membantu kita dalam instalasi dan konfigurasi Ghost secara cepat dan mudah.

[INPUT]

1 sudo npm install ghost-cli@latest -g

*7.Install Ghost*

Membuat direktori untuk Ghost.

[INPUT]

1 2 3 4 sudo mkdir -p /var/www/musaamin.my.id sudo chown $USER:$USER /var/www/musaamin.my.id sudo chmod 775 /var/www/musaamin.my.id cd /var/www/musaamin.my.id

Jalankan perintah install Ghost.

[INPUT]

1 ghost install

Hasilnya.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 “œ” Checking system Node.js version “œ” Checking logged in user “œ” Checking current folder permissions “œ” Checking system compatibility “œ” Checking for a MySQL installation “œ” Checking memory availability “œ” Checking free space “œ” Checking for latest Ghost version “œ” Setting up install directory “œ” Downloading and installing Ghost v4.2.2 “œ” Finishing install process

Masukkan URL dan akses MySQL.

[INPUT]

1 2 3 4 5 ? Enter your blog URL: https://musaamin.my.id ? Enter your MySQL hostname: localhost ? Enter your MySQL username: root ? Enter your MySQL password: [input is hidden] ? Enter your Ghost database name: musaaminmyid

Hasilnya.

[INPUT]

1 2 3 4 5 “œ” Configuring Ghost “œ” Setting up instance + sudo useradd –system –user-group ghost + sudo chown -R ghost:ghost /var/www/musaamin.my.id/content “œ” Setting up “ghost” system user

Jawab y, untuk membuat “ghost” mysql user.

[INPUT]

1 2 3 ? Do you wish to set up “ghost” mysql user? (Y/n) y   “œ” Setting up “ghost” mysql user

Jawab y, untuk set up Nginx.

[INPUT]

1 2 3 4 5 6 ? Do you wish to set up Nginx? (Y/n) y   + sudo mv /tmp/musaamin-my-id/musaamin.my.id.conf /etc/nginx/sites-available/musaamin.my.id.conf + sudo ln -sf /etc/nginx/sites-available/musaamin.my.id.conf /etc/nginx/sites-enabled/musaamin.my.id.conf + sudo nginx -s reload “œ” Setting up Nginx

Jawab y, untuk set up SSL.

[INPUT]

1 ? Do you wish to set up SSL? (Y/n) y

Masukkan alamat email untuk sertifikat SSL.

[INPUT]

1 2 3 4 5 6 7 8 9 10 11 ? Enter your email (For SSL Certificate) trial@musaamin.web.id   + sudo mkdir -p /etc/letsencrypt + sudo ./acme.sh –install –home /etc/letsencrypt + sudo /etc/letsencrypt/acme.sh –issue –home /etc/letsencrypt –domain musaamin.my.id –webroot /var/www/musaamin.my.id/system/nginx-root –reloadcmd “nginx -s reload” –accountemail trial@musaamin.web.id + 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/musaamin-my-id/musaamin.my.id-ssl.conf /etc/nginx/sites-available/musaamin.my.id-ssl.conf + sudo ln -sf /etc/nginx/sites-available/musaamin.my.id-ssl.conf /etc/nginx/sites-enabled/musaamin.my.id-ssl.conf + sudo nginx -s reload “œ” Setting up SSL

Jawab y, untuk set up Systemd.

[INPUT]

1 2 3 4 5 6 ? Do you wish to set up Systemd? (Y/n) y   + sudo mv /tmp/musaamin-my-id/ghost_musaamin-my-id.service /lib/systemd/system/ghost_musaamin-my-id.service + sudo systemctl daemon-reload “œ” Setting up Systemd + sudo systemctl is-active ghost_musaamin-my-id

Jawab y, untuk menjalankan Ghost.

[INPUT]

1 2 3 4 5 6 ? Do you want to start Ghost? (Y/n) y   + sudo systemctl start ghost_musaamin-my-id + sudo systemctl is-enabled ghost_musaamin-my-id + sudo systemctl enable ghost_musaamin-my-id –quiet “œ” Starting Ghost

Jika sukses, pesan yang ditampilkan.

[INPUT]

1 2 3 4 5 6 7 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://musaamin.my.id/ghost/

Ghost install

Tapi jika instalasi terjadi kegagalan atau kesalahan, jalankan perintah uninstall dan coba lagi.

[INPUT]

1 ghost uninstall

Jika instalasi terputus misalnya karena koneksi internet, jalankan perintah setup untuk memulai kembali proses konfigurasi.

[INPUT]

1 ghost setup

*8.Membuat Akun Admin*

Browse *https://namadomain.com/ghost* untuk menyelesaikan instalasi. Klik *Create your account*.

Ghost setup

Masukkan judul website, nama lengkap, email, dan password. Lalu klik *Last step: Invite staff users*.

Create account

Untuk tahapan invite user kita skip karena harus konfigurasi SMTP server. Klik *I’ll do this later, take me to my site!*.

Invite staff users

Setelah semuanya selesai, akan masuk ke dashboard.

Ghost dashboard

Ghost site

Selamat mencoba 🙂

*Gratis saldo $100 untuk pendaftaran akun baru di Vultr. Daftar sekarang juga.*

Leave a Reply

Your email address will not be published.