7 min read

Synology NAS – Hướng dẫn cài đặt Ghost Blog

Synology NAS – Hướng dẫn cài đặt Ghost Blog

Mình đã từng thử qua rất nhiều các mã nguồn để xây dựng một trang Blog… Mình thấy có 2 mã nguồn theo mình là đơn giản dễ dùng là WordPress và Ghost Blog. Note này sẽ là cài đặt và cấu hình để Ghost chạy ngon trên các Synology NAS hoặc thiết bị chạy XPEnology.

Cập nhật ngày 08/02/2021 – Mình đã giải thích một số bước và hướng dẫn cách chạy nhiều container Ghost.

Xem chi tiết tại: Synology NAS - Hướng dẫn cài đặt Ghost Blog - Vinh Nguyễn (nguyenvinh.net)

Ghost là gì?

Ghost là một nền tảng blog mã nguồn mở được viết hoàn toàn dựa trên Javascript. Ghost được ra đời đầu tiên vào tháng 12-2013 bởi người phát triển là John O’Nolan. Hiện tại, Ghost được duy trì và phát triển bởi Ghost Foundation.
Trang chủ: https://ghost.org/

Ưu điểm của Ghost?

  1. Được viết hoàn toàn bằng Javascript nên chạy rất nhanh, nhẹ, ổn định và phổ biến.
  2. Không cần sử dụng CSDL.
  3. Có rất nhiều nhà cung cấp dịch vụ Hosting Ghost.
  4. Tùy chỉnh giao diện đơn giản
  5. Giao diện và cách tùy chỉnh bài viết rất đơn giản, dễ sử dụng.

Nhược điểm của Ghost?

  1. Là nền tảng mới, chưa được phát triển hoàn thiện, còn thiếu nhiều chức năng như: Comment, Plugin,…
  2. Dựa trên NodeJS, nhiều người mới bắt đầu sẽ gặp khó khăn.
  3. Cộng đồng sử dụng còn chưa nhiều.

Có nên sử dụng Ghost?

Như đã nói, Ghost là một nền tảng mới, nếu bạn là người có am hiểu về lập trình thì nên sử dụng nó. Những người mới làm quen cũng có thể sử dụng nhưng sẽ có nhiều bất tiện hơn so với WordPress. Mình thì mình chọn WordPress ở thời điểm này nhưng vẫn sẽ hướng dẫn cho anh em nào cần.

Cài đặt Ghost trên Synology NAS.

Mình có tìm hiểu cách cài đặt thì nó có zăm ba cách gì đấy. Note này mình sẽ hướng dẫn cách theo mình là dễ nhất là cài đặt qua Docker.

Bước 1: Chuẩn bị.

Cài đặt các gói sau đây thông qua Packcage Center.

  • Cài gói Docker
  • Cài gói MariaDB 10 (Nếu bạn để cho Ghost chạy SQLite thì bỏ qua bước này, coi như xong phần chuẩn bị)
  • Cài gói phpMyAdmin.

Coi như xong bước chuẩn bị.

Bước 2: Tải Ghost và tạo CSDL.

  • Bạn vào ứng dụng Docker vừa tải về. Vào thẻ Registry tìm với từ khóa Ghost và tải Ghost về (kết quả đầu tiên). Đến đây coi như xong bước 2 nếu bạn cho Ghost chạy SQLite. Đợi tải về trong thẻ Image (tầm hơn 400MB).
  • Tạo CSDL cho Ghost với MariaBD 10 và phpMyAdmin.
  • Bạn vào ứng dụng MariaBD 10 vừa mới tải về và thiết lập mật khẩu tài khoản root của CSDL.
  • Bạn vào ứng dụng phpMyAdmin mới tải về đăng nhập với TK: rootmật khẩu bạn vừa tạo ở trên. Tạo một CSDL mới, ở đây mình lấy tên là ghostblog.

Vậy là xong bước này.

Bước 3: Cài đặt và cấu hình trên Docker.

  • Trong Docker bạn vào tab Image khi đã tải xong Ghost. Bạn chạy Ghost vừa mới tải về (Launch).
  • Và làm các bước như hình ảnh dưới đây.
  • Advanced Settings
  • Volume Settings – Tạo thư mục như sau docker/blog-ghost gắn /var/lib/ghost/content.

Cái này rất quan trọng… để bạn có thể gắn thư mục content của Ghost vào quản lý file của NAS, sau này dễ dàng cho việc tùy biến và quản lý…

  • Netword Settings

Bạn tick vào Use the same network as Docker Host nếu bạn muốn cho Ghost chạy CSDL là Maridb mình nói ở trên. (Khuyên dùng)

  • Port Setting

Trong trường hợp bạn không tick vào Use the same network as Docker Host như bước ở trên. Thì tại bước này bạn có thể tùy biến số cổng để truy cập vào Ghost tại ô Local Port.

  • Environment Settings
  • Bạn thêm các trường như sau:
  • Variable = Value
  • url = địa chỉ, tên miền trang Web của bạn
    Thêm trong trường hợp bạn có tên miền. Nếu bạn lập để chạy trong mạng Lan thì không thêm trường này.
  • server__port = số cổng để truy cập Ghost
    Trong trưởng hợp bạn Use the same network as Docker Host và muốn thay đổi số cổng mặc định (2368) để truy cập Ghost. Có thể để áp dụng để chạy nhiều container Ghost khi bạn có nhu cầu :mrgreen:

Coi như xong nếu bạn dùng CSDL là SQLite.

  • Tiếp nếu bạn dùng CSDL là MariaBD10.
  • database__client = mysql
  • database__connection__host = localhost
  • database__connection__port = 3307
  • database__connection__database = ghostblog
  • database__connection__user = root
  • database__connection__password = mật khẩu bạn đã đặt ở bước trên
  • Tiếp nếu bạn cần cấu hình gửi email thông báo. Cấu hình SMTP. Ở đây mình sẽ hướng dẫn cấu hình Gmail.
  • mail__transport = SMTP
  • mail__from = Tên bạn <Địa chỉ Gmail của bạn>
  • mail__options__service = Gmail
  • mail__options__host = smtp.gmail.com
  • mail__options__secure = true
  • mail__options__port = 465 (hoặc 587)
  • mail__options__auth__user = địa chỉ Gmail của bạn
  • mail__options__auth__pass = mật khẩu Gmail của bạn*

* Đối với mật khẩu Gmail thì bạn phải tạo Mật khẩu ứng dụng để sử dụng khi tài khoản của bạn bật Xác minh 2 lớp.

  • ApplyNextApply – Oke xong (Đợi tầm 1 – 2 phút). Giờ bạn có thể truy cập vào Ghost thông qua địa chỉ sau: http://<ip-nas>:2368

Bước 4: Cấu hình Reverse Proxy cho tên miền.

  • Để truy cập vào Ghost bằng tên miền như cấu hình ở trên thì bạn làm như sau. Vào Control Panel và làm như hình ở dưới.

Oke !!! Giờ bạn có thể truy cập vào Ghost thông qua tên miền.

Demo: https://ghost.vinhnguyen.cloud

Bước 5: Cài đặt Ghost.

  • Bạn truy cập vào địa chỉ sau để cài đặt tài khoản quản trị, cấu hình Ghost…: http://tenmien.acb/ghost

Tới đây là xong. Việc còn lại là của bạn 😀

Các bạn vào đây để biết thêm cách dùng Docker và cách cập nhật khi có phiên bản mới.

Chúc các bạn thành công.

Enjoying these posts? Subscribe for more