Tutorial ini akan menunjukkan cara menginstal platform blogging Ghost di server Ubuntu. Ghost adalah perangkat lunak blogging sumber terbuka yang dikodekan dalam Node.js, memungkinkan Anda membuat blog modern dan indah. Dibandingkan dengan WordPress, Ghost lebih ringan dan lebih cepat karena dibuat khusus untuk blogging dan bukan sistem manajemen konten yang komprehensif seperti WordPress.
Fitur Hantu
Pada saat penulisan, Ghost versi terbaru adalah v3.2.0, rilis pada 23 Desember 2019. Fitur Ghost adalah sebagai berikut:
- Editor berbasis penurunan harga yang memungkinkan Anda menulis postingan dengan cepat.
- Pengelolaan konten sederhana.
- Pengeditan kolaboratif dengan tim Anda.
- Penerbitan terjadwal
- Analisis bawaan
- SEO yang tepat dibangun secara langsung, dengan markup semantik, tautan permanen, peta situs XML, tag kanonik, dan data meta otomatis dengan penggantian manual.
- Dukungan AMP (Halaman Seluler yang Dipercepat) Terintegrasi
- Umpan RSS lengkap, formulir pengambilan langganan email, dan integrasi webhook Slack
- Ratusan tema gratis dan premium yang indah tersedia dari pasar Ghost
- Tema default Capser yang tampak bagus dengan dukungan mode gelap.
- Aplikasi desktop lintas platform yang tersedia untuk Linux, Mac, dan Windows.
- Plugin WordPress Ghost Migrator resmi memungkinkan Anda bermigrasi dengan mudah dari WordPress ke Ghost.
Yayasan Ghost menawarkan hosting terkelola, tetapi di sini kita akan melihat cara membuat blog Ghost yang dihosting sendiri di server Ubuntu.
Prasyarat Instalasi Ghost di Server Ubuntu
Untuk menjalankan blog Ghost, Anda memerlukan server dengan RAM minimal 1GB. Anda dapat mengklik tautan khusus ini untuk mendapatkan kredit gratis $50 di DigitalOcean. (Hanya untuk pengguna baru). Jika Anda sudah menjadi pengguna DigitalOcean, Anda dapat mengklik tautan khusus ini untuk mendapatkan kredit gratis senilai $50 di Vultr (hanya untuk pengguna baru). Setelah Anda memiliki akun di DigitalOcean atau Vultr, instal Ubuntu di server Anda dan ikuti petunjuk di bawah ini. Untuk kompatibilitas terbaik, gunakan Ubuntu versi LTS seperti Ubuntu 18.04 atau 16.04.
Anda juga harus memiliki nama domain. Saya mendaftarkan nama domain saya dari NameCheap karena harganya murah dan mereka memberikan perlindungan privasi whois gratis seumur hidup.
Catatan :Saya menginstal Ghost dengan pengguna Sudo di Ubuntu. Untuk hasil terbaik, Anda juga harus mengikuti tutorial ini dengan pengguna sudo, bukan root. Untuk menambahkan pengguna sudo, cukup jalankan
sudo adduser username sudo adduser username sudo
Kemudian beralih ke pengguna baru.
su - username
Langkah 1:Perbarui Ubuntu
Jika server Anda belum diperbarui selama beberapa waktu, jalankan perintah berikut untuk memperbarui paket perangkat lunak yang ada.
sudo apt update;sudo apt upgrade
Langkah 2:Instal Node.js di Ubuntu
Ghost mengharuskan Anda untuk menginstal versi LTS dari Node.js dan tidak mendukung versi non-LTS. Versi LTS terbaru dari Node.js adalah v12.x, tetapi saat ini Ghost lebih kompatibel dengan Node.js v10.x. Tambahkan repositori NodeSource menggunakan perintah di bawah ini.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Kemudian instal Node.js.
sudo apt install nodejs
Periksa versi Node.
node -v
Contoh keluaran:
v10.18.1
Centang npm
versi:
npm -v
Contoh keluaran:
6.13.4
Langkah 3:Instal Server Database MariaDB
mendukung MySQL dan MariaDB. MariaDB adalah pengganti drop-in untuk MySQL. Ini dikembangkan oleh mantan anggota tim MySQL yang khawatir bahwa Oracle mungkin mengubah MySQL menjadi produk sumber tertutup. Jadi mari kita instal server database MariaDB.
Masukkan perintah berikut untuk menginstalnya di Ubuntu 18.04/20.04.
sudo apt install mariadb-server mariadb-client
Setelah terinstal, server MariaDB akan otomatis menatap. Gunakan systemctl untuk memeriksa statusnya.
systemctl status mariadb
Contoh keluaran:
● mariadb.service - MariaDB 10.1.34 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-09-08 11:13:27 UTC; 21s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 3473 (mysqld) Status: "Taking your SQL requests now..." Tasks: 27 (limit: 505) CGroup: /system.slice/mariadb.service └─3473 /usr/sbin/mysqld
Jika tidak berjalan, mulai dengan perintah ini:
sudo systemctl start mariadb
Untuk mengaktifkan MariaDB agar secara otomatis memulai pada waktu boot sistem, jalankan
sudo systemctl enable mariadb
Sekarang jalankan skrip keamanan pasca instalasi.
sudo mysql_secure_installation
Saat diminta untuk memasukkan kata sandi root MariaDB, tekan tombol Enter karena kata sandi root belum disetel. Kemudian masukkan y
untuk mengatur kata sandi root untuk server MariaDB.
Selanjutnya, Anda dapat menekan Enter untuk menjawab semua pertanyaan yang tersisa, yang akan menghapus pengguna anonim, menonaktifkan login root jarak jauh, dan menghapus database pengujian. Langkah ini merupakan persyaratan dasar untuk keamanan database MariaDB. (Perhatikan bahwa huruf Y
dikapitalisasi, yang berarti itu adalah jawaban default.)
Periksa informasi versi server MariaDB.
mariadb --version
Keluaran:
mariadb Ver 15.1 Distrib 10.1.34-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Langkah 4:Buat Database dan Pengguna untuk Ghost
Sekarang kita perlu masuk ke konsol MariaDB dan membuat database dan pengguna untuk Ghost . Secara default, paket MaraiDB di Ubuntu menggunakan unix_socket untuk mengautentikasi login pengguna, yang pada dasarnya berarti Anda dapat menggunakan nama pengguna dan kata sandi OS untuk masuk ke konsol MariaDB. Jadi Anda dapat menjalankan perintah berikut untuk login tanpa memberikan kata sandi root MariaDB.
sudo mariadb -u root
Buat database untuk Ghost menggunakan perintah berikut. Saya menamakannya ghost
, tetapi Anda dapat menggunakan nama apa pun yang Anda suka. (Jangan tinggalkan titik koma.)
create database ghost;
Kemudian masukkan perintah di bawah ini untuk membuat pengguna basis data untuk Ghost dan berikan semua hak istimewa basis data hantu kepada pengguna tersebut.
grant all privileges on ghost.* to ghost@localhost identified by 'ghost_password';
Bersihkan tabel hak istimewa agar perubahan diterapkan, lalu keluar dari konsol MariaDB.
flush privileges; exit;
Langkah 5:Instal Server Web Nginx
Ghost akan menggunakan server web Nginx, jadi jalankan perintah berikut untuk menginstalnya dari repositori default Ubuntu.
sudo apt install nginx
Jika Anda menggunakan firewall UFW, maka Anda juga perlu membuka port 80 dan 443.
sudo ufw allow 80/tcp sudo ufw allow 443/tcp
Langkah 6:Buat Catatan Untuk Nama Domain Blog Anda
Sebelum menginstal Ghost, Anda disarankan untuk membuat DNS A record untuk nama domain blog Anda. Catatan A menunjukkan nama domain Anda ke alamat IP server Ubuntu Anda.
Langkah 7:Instal Ghost
Instal Ghost-CLI.
sudo npm install [email protected] -g
Kemudian buat direktori (/var/www/ghost/
) untuk Hantu.
sudo mkdir -p /var/www/ghost/
Berikan izin ke akun pengguna Anda. Ganti username
dengan nama pengguna asli Anda.
sudo apt install acl sudo setfacl -R -m u:username:rwx /var/www/ghost/ sudo chmod 775 /var/www/ghost
Sekarang ubah direktori kerja menjadi /var/www/ghost/
dan instal Ghost.
cd /var/www/ghost/ ghost install
Instalasi mungkin memakan waktu cukup lama. Selama instalasi Anda akan diminta untuk memasukkan URL blog Anda. Masukkan sesuatu seperti https://yourdomain.com
. Dan Anda harus memasukkan nama database MariaDB, kredensial pengguna yang Anda buat di langkah 4.
? Enter your blog URL: https://yourdomain.com ? Enter your MySQL hostname: localhost ? Enter your MySQL username: ghost ? Enter your MySQL password: ghost_password ? Enter your Ghost database name: ghost
Jika Anda menggunakan Ubuntu 20.04 dan melihat pesan berikut, Anda dapat mengabaikannya dan melanjutkan penginstalan.
System checks failed with message: 'Linux version is not Ubuntu 16 or 18' Some features of Ghost-CLI may not work without additional configuration. For local installs we recommend using `ghost install local` instead.
ghost
pengguna sistem akan dibuat secara otomatis. Anda disarankan untuk menyetujui pengaturan Nginx dan SSL, sehingga blog Anda akan tersedia melalui protokol HTTPS yang aman. Juga, setujui untuk menyiapkan layanan Systemd sehingga Anda dapat memulai, menghentikan, atau memulai ulang Ghost dengan mudah.
Setelah Ghost berhasil diinstal, buka https://yourdomain.com/ghost
untuk menyelesaikan pengaturan. Pertama, Anda perlu membuat akun.
Kemudian Anda dapat mengundang beberapa pengguna staf ke blog Ghost Anda, atau Anda dapat melakukannya nanti.
Langkah 8:Edit File Konfigurasi Nginx
Secara default, file konfigurasi Nginx untuk Ghost berisi satu nama domain. Jika Anda ingin Nginx melayani domain www dan domain non-www, edit file konfigurasi.
sudo nano /etc/nginx/sites-enabled/yourdomain.com.conf
Temukan baris berikut
server_name yourdomain.com;
Tambahkan domain www.
server_name yourdomain.com www.yourdomain.com;
Simpan dan tutup file. Kemudian hapus /etc/nginx/sites-enabled/yourdomain.com-ssl.conf
berkas.
sudo rm /etc/nginx/sites-enabled/yourdomain.com-ssl.conf
Kemudian instal klien Certbot Let's Encrypt
sudo apt install certbot python3-certbot-nginx
Dapatkan sertifikat SSL untuk domain www dan domain non-www.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d yourdomain.com,www.yourdomain.com
Mulai ulang Nginx dan selesai.
sudo systemctl restart nginx
Langkah 9:Siapkan Notifikasi Email
Untuk mengirim email dari blog Ghost Anda (untuk mengatur ulang kata sandi, mengundang pengguna staf, mendaftar anggota, dll), Anda perlu mengonfigurasi pengaturan SMTP. Jika Anda ingin menggunakan server email Anda sendiri, silakan baca tutorial berikut untuk mengatur server email Anda sendiri dengan mudah.
- Cara Mudah Mengatur Server Email Anda Sendiri di Ubuntu 18.04 dengan iRedMail
Setelah Anda memiliki server email sendiri, edit file konfigurasi Ghost.
sudo nano /var/www/ghost/config.production.json
Secara default, pengaturan email adalah sebagai berikut:
"mail": { "transport": "Direct" },
Ubah untuk menggunakan SMTP.
"mail": { "transport": "SMTP", "from": "[email protected]", "options": { "service": "yourdomain.com", "host": "mail.yourdomain.com", "port": 465, "secureConnection": true, "auth": { "user": "[email protected]", "pass": "the_email_account_password" } } },
Perhatikan bahwa Ghost tidak mendukung port 587 untuk SMTP. Simpan dan tutup file. Kemudian restart Ghost melalui layanan systemd.
sudo systemctl restart ghost_yourdomain-com.service
Sekarang blog Ghost Anda seharusnya dapat mengirim email.