Permulaan Blog dengan Ghost: Panduan Mudah untuk Pemula
Adakah anda berminat untuk memulakan blog tetapi tidak pasti platform mana yang sesuai? Ghost mungkin menjadi pilihan terbaik untuk anda! Dalam artikel ini, kami akan membimbing anda tentang cara memulakan blog dengan Ghost, platform yang ringkas, pantas, dan mesra pengguna.
Ghost ialah platform penerbitan sumber terbuka yang direka khusus untuk penulis dan penerbit kandungan. Berbanding dengan platform lain seperti WordPress, Ghost menawarkan antara muka yang lebih bersih dan fokus pada pengalaman menulis yang lancar. Ia juga dilengkapi dengan ciri-ciri SEO yang mantap, menjadikannya pilihan yang baik untuk mereka yang ingin meningkatkan penglihatan blog mereka.
Kebaikan dan Kelebihan Ghost
- Mudah Digunakan: Antara muka yang intuitif menjadikan proses menulis dan menerbitkan kandungan lebih mudah.
- Pantas: Ghost dibangunkan dengan teknologi moden yang menjamin kelajuan laman web yang tinggi.
- SEO Terbaik: Platform ini dilengkapi dengan alat SEO terbina dalam untuk membantu kandungan anda mendapat kedudukan yang lebih baik dalam enjin pencarian.
- Boleh Disesuaikan: Walaupun ia lebih ringkas daripada WordPress, Ghost masih menawarkan banyak pilihan penyesuaian untuk memenuhi keperluan anda.
Langkah Permulaan
- Pilih Pelan Hosting: Ghost boleh dihoskan sendiri atau menggunakan perkhidmatan hos seperti Ghost(Pro). Pilih pelan yang sesuai dengan bajet dan keperluan anda.
- Pasang Ghost: Jika anda memilih hos sendiri, ikuti panduan pemasangan rasmi Ghost. Untuk Ghost(Pro), prosesnya lebih mudah kerana ia sudah dihoskan untuk anda.
- Pilih Tema: Ghost menawarkan pelbagai tema percuma dan berbayar. Pilih tema yang sesuai dengan gaya blog anda.
- Mulakan Menulis: Gunakan editor Ghost yang ringkas untuk mencipta kandungan pertama anda.
- Terbitkan dan Kongsi: Setelah siap, terbitkan blog anda dan kongsi dengan dunia!
Tutorial Ringkas
Sekiranya menggunakan VPS dan ingin self-hosted. Tambah docker container ghost template dalam docker-compose.yml.
services:
ghost:
image: ghost:latest
container_name: ghost
restart: unless-stopped
environment:
database__client: mysql
database__connection__host: mysql
database__connection__user: ghost_user
database__connection__password: ghost_pass
database__connection__database: ghost_db
url: https://sub.domain.com
mail__transport: SMTP
mail__options__service: Mailgun
mail__options__host: smtp.mailgun.org
mail__options__port: 587
mail__options__secureConnection: false
mail__options__auth__user: [email protected]
mail__options__auth__pass: ghostauthpass
NODE_ENV: production
volumes:
- ghost:/var/lib/ghost/content
depends_on:
- mysql
mysql:
image: mysql:8
container_name: mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: mysqlrootpass
MYSQL_DATABASE: ghost_db
MYSQL_USER: ghost_user
MYSQL_PASSWORD: ghost_pass
volumes:
- mysql_data:/var/lib/mysql
ports:
- "3306:3306"
nginx:
image: nginx:latest
container_name: nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- /root/nginx/conf.d:/etc/nginx/conf.d
- /etc/letsencrypt:/etc/letsencrypt
depends_on:
- ghost
volumes:
mysql_data:
ghost:
Bina nginx ghost configuration files.
server {
listen 80;
server_name sub.domain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name sub.domain.com;
ssl_certificate /etc/letsencrypt/live/sub.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sub.domain.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_pass http://ghost:2368;
}
}
Update DNS dekat service provider atau cloudflare dan bina ssl dengan letsencrypt.
certbot certonly --nginx -d sub.domain.com
docker restart nginx
Tabah crontab untuk auto renew domain ssl certificate
crontab -e
0 3 * * * certbot renew --quiet --deploy-hook "docker restart nginx"