Discourse là một ứng dụng mã nguồn mở phổ biến để xây dựng diễn đàn thảo luận trực tuyến. Thiết lập vào 2013, Discourse được viết bằng ngôn ngữ lập trình Ruby và JavaScript.

Hướng dẫn cài đặt Discourse

Các tính năng nổi bật của Discourse:

  • Hỗ trợ trên 25 ngôn ngữ, trong đó có Việt Nam.
  • Thiết kế tối ưu SEO cho Google tìm kiếm, hỗ trợ CDN.
  • Thiết kế 100% hỗ trợ điện thoại, giao diện hiển thị và tương thích với mọi trình duyệt/thiết bị. Ứng dụng hỗ trợ Discourse trên cả iOS và Android.
  • Cho phép đăng nhập qua mạng xã hội Facebook, Twitter, Google, Yahoo, GitHub… và trả lời, đăng bài qua email.
  • Thảo luận liên tục, không có phân trang, tất cả chỉ có cuộn lện và cuộn xuống. Đảm bảo không ngắt quãng cuộc thảo luận của bạn.
  • Trust System và chống spam: hạn chế quyền hạn thành viên mới (số hình ảnh/link có thể đăng…) và bỏ dần theo thời gian (độ tin cậy gia tăng). Mọi hoạt động spam được phát hiện chính xác và loại bỏ tự động.
  • Backup tự động theo ngày. Nâng cấp dễ dàng qua Docker và Github.
  • Và còn nhiều tính năng khác nữa, bạn có thể tham khảo đầy đủ tại trang Discourse Features.

Cho đến nay, Discourse đã được sử dụng rộng rãi bởi rất nhiều tổ chức lớn, như Codeacademy, Udacity, Twitter Developers, Docker Community, Let’s Encrypt Community, Envato Community…

Để bắt đầu, hãy đảm bảo bạn đã tham khảo bài viết:

Yêu cầu hệ thống

Discourse yêu cầu hệ điều hành Linux 64 bit tương thích với Docker, tối thiểu 1GB RAM và 10GB dung lượng ổ đĩa.

Bên cạnh đó, một yếu tố rất quan trọng cần phải chú ý để Discourse có thể hoạt động ổn định được đó là SMTP Server. SMTP Server được dùng để gửi email thông báo khi có bài viết mới, khi có cập nhật mới…

Trong bài viết này, mình sẽ hướng dẫn các bạn cài đặt trên hệ điều hành CentOS 7 64 bit và sử dụng SparkPost (miễn phí 15.000 mail/tháng) làm Mail Server.

Cài đặt Docker

Cài đặt Git.

yum -y install wget git

Cài đặt, khởi động và thiết lập Docker khởi động cùng hệ thống.

wget -qO- https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

Kiểm tra trạng thái Docker.

systemctl status docker

Nếu trạng thái là active (running) thì bạn đã cài đặt thành công.

Lưu ý: có một số nhà cung cấp VPS/Server không cài đặt được Docker, nguyên nhân thì có rất nhiều. Nếu gặp vấn đề các bạn hãy liên hệ với nhà cung cấp để được hỗ trợ.

Cài đặt Discourse

Tạo và lưu mã nguồn tại thư mục /var/discourse:

mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse

Cài đặt Discourse.

Lưu ý: Đối với hệ thống 2GB RAM trở xuống và không có Swap, Discourse sẽ tự tạo 2GB swap để đảm bảo hoạt động.

cd /var/discourse
./discourse-setup

Cung cấp các thông tin cần thiết, đặc biệt thông tin SMTP cần chính xác để gửi được mail xác nhận.

Hostname for your Discourse? [discourse.example.com]: discourse.inithtml.com
Email address for admin account(s)? [[email protected],[email protected]]: [email protected]
SMTP server address? [smtp.example.com]: smtp.sparkpostmail.com
SMTP port [587]: 587
SMTP user name? [[email protected]]: username
SMTP password? []: xxxxxxxxx
Let's Encrypt account email? (ENTER to skip) [[email protected]]: [email protected]

Quá trình cài đặt mất 2 – 8 phút và sẽ tự động tạo file cấu hình app.yml.

Lưu ý: Nếu cần thay đổi thông tin, chỉnh sửa file cấu hình /var/discourse/containers/app.yml. Rồi tiến hành cấu hình lại hệ thống.

cd /var/discourse
./launcher rebuild app

Khởi động Discourse

Quá trình cài đặt hoàn tất, bạn có thể truy cập diễn đàn theo IP của VPS hoặc tên miền đã thiết lập. Nếu mới làm quen với Discourse, bạn nên tham khảo hướng dẫn Admin Quick Start Guide để nắm vững cách quản trị hệ thống.

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


Tham khảo: HocVPS.