Discourse là nền tảng diễn đàn miễn phí, được cộng đồng hỗ trợ mạnh mẽ. Discourse chỉ có thể cài đặt trên vps, không thể cài đặt trên share hosting như Flarum đã giới thiệu ở bài trước.
CÀI DISCOURSE
Quan trọng: Trước khi cài đặt, bạn cần phải trỏ 1 bản ghi A của domain về ip của vps. Và thiết lập sẵn 1 dịch vụ smtp để gửi mail, khuyến nghị dùng mailgun.com hoặc sendinblue.com. Đây là yêu cầu bắt buộc!
HOSTING NGON BỔ RẺ
AZDIGI - Nhà cung cấp hosting tốt tại Việt Nam, giá từ 29k/tháng.
Hawkhost - Hosting nước ngoài có chất lượng tốt tại Việt Nam.
Nhập mã HAWKHOST50 để được giảm 40% (chỉ còn 2.4 USD/tháng, dùng được nhiều web).
Tổng hợp khuyến mãi tên miền, hosting VPS tháng 09/2024
Minh hoạ thực hiện trên vps ubuntu 20.04 LTS của linode.com.
apt update && apt upgrade
apt-get install docker.io -y && systemctl start docker && systemctl enable docker && mkdir /var/discourse && git clone https://github.com/discourse/discourse_docker.git /var/discourse && apt-get install net-tools -y && cd /var/discourse && ./discourse-setup
TUỲ CHỈNH SSL:
Mặc định Discourse sử dụng chứng chỉ SSL miễn phí từ Let’s Encrypt. Bạn không cần phải thực hiện bước này.
Tuy nhiên mình sử dụng chứng chỉ SSL trả phí hơn để tránh lỗi rate limits của Let’s Encrypt khi rebuild app nhiều lần (nếu dùng Let’s Encrypt, bắt buộc phải backup lại file chứng chỉ trước khi rebuild app).
Khuyến nghị mua SSL tại ssls.com (có dùng thử 30 ngày)
cd /var/discourse && nano containers/app.yml
Bỏ comment dòng:
- "templates/web.ssl.template.yml"
Comment dòng:
#- "templates/web.letsencrypt.ssl.template.yml"
Chạy lệnh và dán file chứng chỉ SSL tương ứng vào:
nano shared/standalone/ssl/ssl.key
nano shared/standalone/ssl/ssl.crt
Rebuild lại Discourse:
./launcher rebuild app
CÀI PLUGIN
cd /var/discourse && nano containers/app.yml
Dán thêm địa chỉ các plugin cần thiết như phần in đậm trong minh hoạ bên dưới, tìm thêm plugin tại https://github.com/topics/discourse-plugin
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone http://github.com/discourse/discourse-sitemap.git
- git clone https://github.com/discourse/discourse-adplugin.git
- git clone https://github.com/discourse/discourse-reactions.git
Rebuild lại Discourse:
./launcher rebuild app
CẬP NHẬT DISCOURSE
Discourse có thể cập nhật từ trang quản trị thông qua git-manager (được cài sẵn), hoặc bạn có thể chạy lệnh sau để cập nhật:
cd /var/discourse && git pull
./launcher rebuild app