Discourse là nền tảng forum mã nguồn mở tối ưu cho việc trao đổi, thảo luận cộng đồng đang được sử dụng khá phổ biến hiện nay. Một số trang web lớn đang sử dụng Discourse có thể kể đến như Envato (chuyên bán plugins, theme), Let’s Encrypt (chứng chỉ SSL miễn phí), SitePoint (web developer), Atom (code editor)…
Hiện tại mình đang dùng Discourse cho CLUB Yêu Chạy Bộ làm nơi để trao đổi / tư vấn các vấn đề về chạy bộ. Các bạn có thể tham khảo theo link CLUB.
Discourse chạy trên nền Docker nên muốn cài đặt, các bạn cần phải sử dụng KVM VPS (không dùng OpenVZ được do OpenVZ không hỗ trợ Docker), RAM tối thiểu 1GB. Một số nhà cung cấp VPS được khuyên dùng: Digital Ocean, Linode, Vultr.
Một trong những yêu cầu quan trọng trước khi cài đặt Discourse là bạn phải cấu hình VPS của bạn sử dụng AUFS làm Storage driver cho Docker (mặc định Ubuntu sử dụng Device Mapper sẽ gây lỗi cho Discourse, xem chi tiết). Ngay cả trang hướng dẫn cài đặt chính chủ của Discourse trên Github cũng không đề cập về vấn đề này, gây khó khăn cho việc troubleshoot nếu gặp lỗi sau này.
Thật tình mình hoàn toàn chẳng biết gì về Docker cũng như các thuật ngữ chuyên môn của (Các bạn nào quan tâm storage driver là gì có thể tham khảo ở đây). Mình chia sẻ lại bài viết này từ kinh nghiệm của bản thân:
- Trang CLUB Yêu Chạy Bộ của mình trước đây được cài đặt theo đúng hướng dẫn trên Github, không cấu hình AUFS.
- Một ngày đẹp trời bỗng dưng nó lăn ra chết, sau khi mò mẫm mới phát hiện ra mình đang cài Discourse trên Device Mapper.
- Sau đó phải ngồi cài đặt lại và phục hồi lại từ file backup (cũng may là có back up phòng ngừa trường hợp xấu nhất).
Mục Lục
1. Cài đặt Docker với AUFS
Yêu cầu đầu tiên là sử dụng VPS mới tinh, cài đặt Ubuntu 14.04. Chạy lênh sau để cài đặt Docker với AUFS làm Storage Driver
sudo apt-get update sudo apt-get -y install linux-image-extra-$(uname -r) sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -" sudo sh -c "echo deb http://get.docker.io/ubuntu docker main\ > /etc/apt/sources.list.d/docker.list" sudo apt-get update sudo apt-get -y install lxc-docker
Xác nhận lại VPS đã cài đặt Docker thành công với AUFS bằng lệnh docker info
root@vps344586:~# docker info Containers: 1 Images: 3 Server Version: 1.9.1 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 5 Dirperm1 Supported: false Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 3.13.0-100-generic Operating System: Ubuntu 14.04.5 LTS CPUs: 1 Total Memory: 1.908 GiB Name: vps344586.ovh.net ID: UKNN:2WJU:76QO:KWIS:CWCA:E4FF:HV5G:LE43:4A3B:5HFX:7CUL:CZZH WARNING: No swap limit support
2. Cài đặt Discourse
Tải Discourse về thư mục /var/discourse và bắt đầu cài đặt
sudo -s mkdir /var/discourse git clone https://github.com/discourse/discourse_docker.git /var/discourse cd /var/discourse
./discourse-setup
Bạn cần cung cấp các thông tin sau để cấu hình Discourse.
Hostname for your Discourse? [discourse.example.com]: Email address for admin account? [me@example.com]: SMTP server address? [smtp.example.com]: SMTP user name? [postmaster@discourse.example.com]: SMTP port [587]: SMTP password? []:
Bạn cần phải cung cấp chính xác thông tin hostname, email, SMTP,…vì nếu cung cấp thông tin sai, sẽ không thể truy cập được sau khi cài đặt xong. Nếu chưa có SMTP server, các bạn có thể tham khảo danh sách các nhà cung cấp.
Hệ thống sẽ tự động tạo ra file cấu hình app.yml và bắt đầu cài đặt. Quá trình này sẽ mất từ 2-8 phút tuỳ tốc độ VPS. Nếu bạn cần thay đổi thông tin ở trên, hãy sửa lại thông tin trong file app.yml
sudo nano /var/discourse/containers/app.yml
Sau đó tiến hành cấu hình lại hệ thống
cd /var/discourse ./launcher rebuild app
3. Khởi động Discourse
Sau khi quá trình cấu hình hoàn tất, bạn có thể truy cập ngay theo tên miền cung cấp ở bước 2, hoặc bạn cũng có thể truy cập theo địa chỉ IP của VPS.
4. Tạo tài khoản admin
Việc đầu tiên bạn cần làm là đăng ký tài khoản admin. Nhớ sử dụng đúng email mà bạn đã cung cấp ở bước 2.
Hệ thống sẽ gửi email yêu cầu xác nhận tài khoản. Nếu bạn cấu hình SMTP server không đúng ở bước 2, email sẽ không thể gửi được, bạn không thể tạo tài khoản admin và xem như không thể quản lý Discourse. Đó là lý do phải cấu hình thông tin SMTP chính xác trước khi cài đặt Discourse.
Sau khi xác nhận thành công, bạn có thể bắt đầu các bước cấu hình trang Discourse mới của mình.
Các bạn có thể cài đặt thêm nhiều tính năng cho Discourse theo hướng dẫn ở cuối bài viết này trên Github.
Chúc bạn cài đặt thành công Discourse – nền tảng forum HOT nhất hiện nay. Nếu bạn nào cảm thấy quá khó thì có thể liên hệ với mình để yêu cầu cài đặt giúp, chi phí thương lượng 😉
Chào anh!
Em muốn hỏi là ví dụ như em tạo subdomain là meta.tenmien.com, vậy em cài Discourse vào thư mục /var/meta/ phải không anh? Rồi chỉ việc trỏ tên miền về là được đúng không anh?
Discouse phải cài trên VPS và dùng Docker nhé. Ko phải cài vào thư mục.
Cách cài đặt SSL bản quuyền từ NameCheap như thế nào bạn? Mình tìm mãi vẫn chưa biết tìm chỗ nào để upload tập tin .txt để xác nhận chứng chỉ SSL. Nếu có kinh nghiệm cài SSL cho Discourse, giúp minh với.
Rất tiếc mình không rành vụ này bạn nhé