Hướng dẫn cài đặt Discourse trên Ubuntu sử dụng AUFS làm storage driver cho Docker

Hướng dẫn cài đặt Discourse trên Ubuntu sử dụng AUFS làm storage driver cho Docker
0

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:

  1. 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.
  2. 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.
  3. 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.

Tạo tài khoản admin

Xác nhận tài khoản

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 :wink:

Nguồn: Thuận Bùi