Tạo Website bằng Ghost CMS

Ghost CMS là công cụ quản lý nội dung website mã nguồn mở, được viết dựa trên NodeJS và các công nghệ liên quan.

Trang blog cá nhân của tác gỉa được triển khai dựa trên Ghost CMS. Sau đây là các bước để triển khai một website trên Cloud server.

  • Dịch vụ Cloud Server: DigitalOcean.
  • OS: Ubuntu 20.04
  • NodeJS: 16.18.1
  • Web Server: NGINX: 1.14.0

Đầu tiên, để có thể triển khai cài đặt Ghost, cần đảm bảo Cloud Server với ít nhất 1GB RAM, và một tên miền đã được đăng ký cho webiste (vd: nguyendinhthanh.net).

Bước 1: cài đặt công cụ Ghost-CLI - công cụ dòng lệnh dùng để cài đặt và cấu hình một cách dễ dàng.

sudo npm install ghost-cli@latest -g

Bước 2: Tạo thư mục và thiết lập chủ quyền của thư mục cho một user (trong ví dụ này chúng ta dùng user hiện tại đang đăng nhập vào Ubuntu Server)

# tạo thư mục: thay đổi `nguyendinhthanh.net` to tên miền đã đăng ký

sudo mkdir -p /var/www/nguyendinhthanh.net

# Thiết lập chủ thể cho cho thư mục vừa tạo
sudo chown $USER:$USER /var/www/nguyendinhthanh.net

# Thiết lập quyền cho thư mục vừa tạo
sudo chmod 775 /var/www/nguyendinhthanh.net

# chuyển tới thư mục `nguyendinhthanh.net`
cd /var/www/nguyendinhthanh.net

Bước 3: Cài đặt Ghost bằng câu lệnh sau:

ghost install --db sqlite3

Ở đây do website là blog cá nhân, nên tác gỉa sử dụng sqlite3. Nếu muốn xây dựng webiste với lượng người dùng lớn, high traffic thì sử dụng lệnh sau: ghost install Câu lệnh này đòi hỏi bạn phải cài MySQL

Trong qúa trình cài đặt, Ghost-CLI sẽ hỏi một số câu hỏi sau nhằm mục đích cấu hình site; qua đó giúp người dùng dễ dàng xuất bản website.

  • Blog URL: nhập chính xác tên miền webiste đã đăng ký, bao gồm cả giao thức htpp hoặc https; vd: https://nguyendinhthanh.net. Trong trường hợp sử dụng HTTPS, Ghost sẽ giúp bạn cấu hình SSL
  • Set up NGINX?: Chọn Yes, Ghost sẽ hỗ trợ cấu hình để site có thể xuất bản bên ngoài
  • Set up SSL?: Chọn Yes, nhập email của bạn, Ghost sẽ cấu hình SSL giúp bạn
  • Set up systemd?: Chọn Yes, systemd (công cụ quản lý process Unix/Linux) được chọn để quản lý Ghost chạy mượt (khi server khởi động thì ghost tự động được khởi động thông qua systemd)
  • Start Ghost?: Chọn Yes, Ghost sẽ khởi động, và webiste sẽ được xuất bản, triển khai. Enjoy it!
https://yoursite: được xuất bản
https://yoursite/ghost: quản lý nội dung webiste, tài khoản admin đăng nhập để quản lý.