Cách cài Ghost CMS trên Shared Host tại Việt Nam

Tổng quan nội dung:

Tại sao lại có bài viết này

Cá nhân mình muốn có một trang Web để chia sẻ kiến thức (chính là MakeXYZFun) với Ghost. Tại sao với Ghost mà không phải Wordpress cho nhanh thì trong bài chia sẻ khác mình sẽ nói rõ hơn. Mình hiểu trong giai đoạn đầu cũng chưa có nhiều lượt truy cập vào trang nên muốn tìm các giải pháp để tiết kiệm chi phí nhất có thể. Mình đã thử deploy lên Heroku. Giải pháp này hoàn toàn miễn phí cho tới khi JawsDB MySQL hết bộ nhớ miễn phí (chỉ 5MB) và gây ra tình trạng mình viết bài nhưng không thể lưu được mà phải chờ, rất khó chịu. Để giải quyết vấn đề này, mình đã tìm qua việc cài đặt Ghost trên khá nhiều nền tảng quốc tế và nói chung, với mình thì giá chát như nhau:

  1. Ghost Pro: 9 USD/tháng (chạy ngay và khỏi cần quan tâm tới hệ thống)
  2. BlueOceanHost: 5 USD/tháng (với cấu hình tối thiểu, cài đặt trong 1 nốt nhạc)
  3. Heroku với JawsDB Kitefin: 10 USD/tháng (phải có kiến thức về Heroku, NodeJs)
  4. Google Compute Engine / Google Cloud Run với Cloud SQL: ~9.4 USD/tháng (cấu hình tối thiểu, phải có kiến thức về Google Cloud)

Mình bắt đầu tìm hiểu về việc cài Ghost trên Shared Host trong nước khi tìm thấy một clip hướng dẫn về cài Ghost trên Cpanel. Lý do mình không tìm ra clip này trước đây vì mình biết Backend của Ghost chạy trên NodeJs mà shared host chạy lại chạy PHP và chính điều này ảnh hưởng đến khả năng định hướng tìm kiếm giải pháp của mình. Theo mình tìm hiểu thì hiện tại, hầu như shared host nào cũng trang bị CPanel phiên bản mới để người dùng tự quản lý host của mình nên có thể nói đến 98-99% là Ghost có thể chạy trên bất kỳ share host nào.

Giải pháp cài Ghost trên shared host tiết kiệm cho mình chi phí đáng kể. Tại thời điểm mình mua host, mình chỉ phải trả 323.000VND/24 tháng (đã gồm VAT, lúc mình mua thì host đang giảm giá 50%). Như vậy, tính ra mỗi tháng mình sẽ chỉ cần phải trả tầm 14.000VND, tầm 0.6USD gì đấy. Nó quá rẻ so với việc mua host trên DigitalOcean (5USD/tháng). Tất nhiên, nói đi thì cũng phải nói lại, cấu hình host trên DigitalOcean cao hơn kha khá với host mình mua. Mình sẽ cho các bạn thông tin luôn để tiện so sánh:

  1. DigitalOcean (câu hình tối thiểu):
  • Giá: 5 USD/tháng
  • RAM: 1GB
  • CPU: 1 nhân
  • Disk: 25GB SSD
  1. Vietnix (cấu hình ECO2):
  • Giá: 26.000 VND/tháng ~ 1.1 USD/tháng (chưa giảm giá)
  • RAM: 1GB
  • CPU: 1 nhân
  • Disk: 1GB SSD

Rất có thể, sau này khi nội dung trên trang đã nhiều hơn, mình sẽ cân nhắc lại DigitalOcean vì cơ bản là Ghost ăn dung lượng nhiều hơn Wordpress, chưa tính đến việc nó phải chạy Node App ảo mất thêm tầm 90MB và chỗ chứa các module của NPM tốn tầm 300MB

Các thông số cần check trước khi cài

  1. Cpanel phải có hỗ trợ Setup Node.js App
    Bạn có thể kiểm nhanh phần này bằng cách Login vào CPanel của bạn và gõ "Node" vào ô tìm kiếm hoặc tìm trong phân mục "Software".

  1. Node.js Version phải từ 12 trở lên
    Bạn có thể tìm được thông tin này bằng cách "Create Application" trong phần "Setup Node.js App" mà bạn tìm được ở mục 1 và chọn "Node.js version" trong quá trình tạo.

  1. Giới hạn số lượng file được mở cùng lúc của hệ thống phải lớn hơn 1000
    Bạn có thể tìm thông tin này bằng trong quá trình cài đặt được hướng dẫn ở phần kế tiếp với lệnh ulimit -n. Nếu hệ thống của bạn giới hạn số lượng file mở cùng lúc nhỏ (tầm 100 trong trường hợp của mình) thì khi cài, bạn sẽ thất bại. Để chỉnh được con số này, bạn buộc phải liên hệ cho nhà cung cấp share host của bạn. Chỉ có họ mới điều chỉnh được.

Các bước cài đặt

Chi tiết các bước cài đặt được giới thiệu trong clip bên dưới. Có thời gian thì mình sẽ làm thêm clip hướng dẫn tiếng Việt cho các bạn. Bạn làm chính xác theo những gì bạn thấy trong clip. Nhớ là cần chọn Node Js Version khi "Create Application" từ 12 trở lên. Nếu bạn làm đúng tất cả nhưng khi cài bị lỗi chứ không ra được kết quả tại thời điểm 06:33 của clip thì rất có thể hệ thống của bạn bị giới hạn số lượng file được mở cùng lúc như mình có nói ở bước trước.

Mình hy vọng qua tất cả các thông tin được chia sẻ bên trên, bạn có thể tự tay cài đặt được Ghost trên shared host của mình. Nếu có thắc mắc gì, đừng ngại comment bên dưới!

Bạn cũng có thể Subscribe trang để luôn được cập nhật những bài viết mới nhất! Nếu bạn thấy bài viết này chứa thông tin hữu ích, đừng quên like, share giúp chúng mình bạn nhé...