Cài Ghost cho Ubuntu

Ghost là nền tảng blog tuy ra đời sau này nhưng rất được ưa chuộng bởi sự đơn giản của nó. Bài này sẽ hướng dẫn bạn cài Ghost bản mới nhất.

Chuẩn bị

Đầu tiên, ta cập nhật package mới cho Ubuntu.

sudo apt update
sudo apt upgrade -y

Cài NGINX

NGINX là web server Ghost dùng làm reverse proxy.

sudo apt install nginx

Nếu tường lửa đang bật, ta thêm NGINX vào whitelist.

sudo ufw allow 'Nginx Full'

Cài MySQL

Tiếp theo, ta sẽ cài MySQL. Ghost dùng database này để lưu dữ liệu. Bạn có thể dùng MariaDB nếu muốn.

sudo apt install mysql-server

Để tăng cường bảo mật cho MySQL, ta chạy đoạn script sau và trả lời các câu hỏi của nó để cấu hình thông số bảo mật.

sudo mysql_secure_installation

Nếu đang dùng Ubuntu 18.04, Ghost-CLI sẽ không thể kết nối MySQL. Ta phải làm thêm một bước thiết lập password cho tài khoản root.

sudo mysql

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

quit

Nhớ thay password bằng mật khẩu của bạn.

Cài Node

Thêm package repository và sau đó cài Node.

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash
sudo apt install nodejs -y

Cài Ghost-CLI

Ghost-CLI là ứng dụng dòng lệnh giúp ta quản lý Ghost. Ta cài nó bằng npm.

sudo npm install ghost-cli@latest -g

Cài Ghost

Trước khi cài Ghost, ta chuẩn bị thư mục để chứa nó.

sudo mkdir -p /var/www/ghost
sudo chown hieu:hieu /var/www/ghost
sudo chmod 775 /var/www/ghost
cd /var/www/ghost

Nhớ thay tên user cho phù hợp.

Cuối cùng, ta dùng Ghost-CLI để cài Ghost.

ghost install

Ghost-CLI sẽ đưa ra một loạt câu hỏi để cấu hình Ghost. Nếu quá trình này bị chết yểu, bạn chạy ghost setup để cấu hình lại hoặc chạy ghost uninstall để xóa toàn bộ và làm lại từ đầu.

Sau khi cài xong, bạn tạo tài khoản admin cho Ghost bằng URL http://domain.com/ghost.


Dùng Docker

Công nghệ container cho phép ta deploy ứng dụng nhanh như chớp mà không phải cấu hình rườm rà. Nếu dùng Docker để cài Ghost, ta chỉ cần chạy một dòng lệnh sau:

docker run -d --name blog -p 80:2368 -e url=http://domain.com ghost

Bạn nhớ thay http://domain.com bằng IP hoặc tên miền của bạn và thay port 80 bằng port bạn muốn.

Chỉ với một dòng lệnh, Ghost đã chạy ngay lập tức mà không cần cấu hình rườm rà. Đây là sức mạnh của công nghệ container.


Vấn đề thường gặp

Khì dùng VPS rẻ tiền, RAM ít, Ghost có thể ngủm giữa đường do không đủ bộ nhớ. VPS với 512MB RAM chắc chắn không đủ. Do đó, ta nên cấu hình swap memory để khi không đủ RAM, Ubuntu sẽ dùng tạm ổ cứng. Với ổ HDD thì có thể ảnh hưởng performance, nhưng hầu hết dịch vụ VPS đều dùng SSD nên ta không phải lo.

Ta chạy lệnh sau để cấu hình swap file.

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Sau đó, thêm dòng sau vào file /etc/fstab để swap không bị mất khi khởi động lại máy.

/swapfile               none    swap    sw              0 0