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.
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?
- Được viết hoàn toàn bằng Javascript nên chạy rất nhanh, nhẹ, ổn định và phổ biến.
- Không cần sử dụng CSDL.
- Có rất nhiều nhà cung cấp dịch vụ Hosting Ghost.
- Tùy chỉnh giao diện đơn giản
- 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?
- 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,…
- Dựa trên NodeJS, nhiều người mới bắt đầu sẽ gặp khó khăn.
- 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: root và mậ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.
- Apply – Next – Apply – 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.nguyenvinh.net
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.
- Synology NAS – Xây dựng Web Server
- Synology NAS – Thiết lập Web Server dễ dàng với Web Station
- Synology NAS – Hướng dẫn sử dụng MariaBD và phpMyAdmin
- Synology NAS – Cấu hình DDNS tên miền bất kỳ
- Synology NAS – Tạo chứng chỉ SSL cho Domain miễn phí
- Synology NAS – Cách cấu hình Reverse Proxy (Update DSM 7)
- Synology NAS – Hướng dẫn cài đặt Ghost Blog (Đang xem)
- Synology NAS – Hướng dẫn cài đặt Wordpress (Phần 1)
- Synology NAS – Hướng dẫn cài đặt WordPress (Phần 2)
- Synology NAS – Chia sẻ kinh nghiệm build Server tại nhà
- Synology NAS – Hướng dẫn truy cập phpMyAdmin bằng tên miền (Update DSM 7)
- Synology NAS – Một số thay đổi Web Station trên DSM 7.0 Beta
- Synology NAS – Hướng dẫn dùng DNS động (DDNS) của Google Domain
- Synology NAS – Cấu hình PHP tối ưu cho Wordpress
- Synology NAS – Chia sẻ cách tăng tốc Wordpress
Bác test chạy trên mysáo chưa ạ. Em settings mãi chạy mysql lỗi.
Đang xài tạm SQLite.
Bác rãnh test thử xem được không nhé!
Cám ơn bác!
Tuyệt…😊. Mình cũng đang viết 1 bài về Ghost nhưng chưa xong vì chưa có thời gian… Ghost nó quá là ngon luôn, nếu bạn làm theo hướng dẫn của mình thì lưu ý phần mount (gắn) thư mục content để dễ dàng tùy biến nhé. Mình mới sửa lại…
Làm theo hướng dẫn của mình chạy full nhé bạn, MySQL, cấu hình để gửi mail..
Demo: https://ghost.vinhnguyen.cloud/
Bác vào phpmyadmin kiểm tra db có dữ liệu chưa
Có chứ bạn 😀
Không biết mình xài chỗ nào. Để check lại. Cám ơn anh!
Bạn chú ý phần cổng của MariaDB nhé. Mặc định nó là 3306, ở bài viết này mình sửa cấu hình nó thành 3307 để nó giống cổng của MySQL.
Được rồi anh ạ,
Mà cái ghost blog này viết post trên mobile device chán quá, không hỗ trợ trên mobile device tốt, cả iOS lẫn Android.
Thôi nghịch thời gian nữa xem như nào, được cái web nó nhẹ load vèo vèo thít ghê ;))
Có hướng dẫn ghost blog ssl https không a
Tại bước 4, khi cấu hình Reverse Proxy.
Phần Source.
Protocol: https
Port: 443
Ngon rồi anh ạ 😆
https://hm.mixstudio.vn