Discourse là một nền tảng thảo luận miễn phí và mã nguồn mở được thiết kế để tạo diễn đàn thảo luận cộng đồng và danh sách gửi thư cho nhóm của bạn. Nó được viết bằng Ember.js và Ruby on Rails, và sử dụng PostgreSQL làm cơ sở dữ liệu phụ trợ. Đây là một giải pháp diễn đàn hiện đại hỗ trợ thảo luận trên hàng nghìn trang web để thúc đẩy sự tham gia của người dùng. Bạn có thể tạo các câu hỏi và ý tưởng tùy chỉnh, đồng thời tích hợp chúng với các dịch vụ phổ biến.
Discourse cung cấp một bộ tính năng phong phú bao gồm: Chặn thư rác, Thông báo động, Đăng nhập bằng mạng xã hội, Xác thực hai yếu tố, API toàn diện, Kiểm duyệt mạnh mẽ, Giao diện di động tích hợp và nhiều tính năng khác.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt diễn đàn Discourse bằng Docker trên Ubuntu 20.04.
Sau khi Docker được cài đặt, hãy khởi động dịch vụ Docker và cho phép nó khởi động khi khởi động lại bằng lệnh sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Tiếp theo, tải xuống phiên bản mới nhất của Discourse từ kho lưu trữ Git Hub bằng lệnh sau:
Tiếp theo, bạn cũng sẽ cài đặt gói net-tools trong hệ thống của mình. Bạn có thể cài đặt bằng lệnh sau:
Sau khi cài đặt hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bạn sẽ được yêu cầu cung cấp tên máy chủ của hệ thống như hiển thị bên dưới:
Cung cấp tên miền đủ điều kiện hợp lệ của bạn và nhấn Enter. Bạn sẽ được yêu cầu cung cấp địa chỉ email cho tài khoản quản trị, máy chủ SMTP, tên người dùng SMTP, mật khẩu SMTP và địa chỉ email cho Let's Encrypt như hiển thị bên dưới:
Cung cấp tất cả các chi tiết và nhấn Enter. Bạn sẽ thấy đầu ra sau:
Nhấn Enter để bắt đầu cài đặt. Sau khi cài đặt hoàn tất, bạn sẽ thấy đầu ra sau:
Tập lệnh thiết lập ở trên sẽ tạo tệp cấu hình có tên app.yml bên trong thư mục discourse/containers. Nếu bạn muốn thực hiện bất kỳ thay đổi cấu hình nào, chỉ cần chỉnh sửa tệp /opt/discouse/containers/app.yml của bạn và chạy ./launcher rebuild app để áp dụng các thay đổi.
Nhấp vào nút Đăng ký. Bạn sẽ thấy trang sau:
Cung cấp tên người dùng và mật khẩu cho tài khoản quản trị của bạn và nhấp vào nút Đăng ký. Bạn sẽ thấy trang sau:
Bạn sẽ nhận được email để kích hoạt tài khoản của mình.
Discourse cung cấp một bộ tính năng phong phú bao gồm: Chặn thư rác, Thông báo động, Đăng nhập bằng mạng xã hội, Xác thực hai yếu tố, API toàn diện, Kiểm duyệt mạnh mẽ, Giao diện di động tích hợp và nhiều tính năng khác.
Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách cài đặt diễn đàn Discourse bằng Docker trên Ubuntu 20.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- Một tên miền hợp lệ được trỏ đến máy chủ của bạn.
- Một máy chủ thư SMTP. Nếu bạn không có máy chủ thư, bạn có thể sử dụng máy chủ SMTP của Gmail.
- Mật khẩu gốc được cấu hình trên máy chủ của bạn.
Cài đặt Docker
Trước tiên, bạn sẽ cần cài đặt Docker trong hệ thống của mình. Theo mặc định, phiên bản Docker mới nhất có sẵn trong kho lưu trữ mặc định của Ubuntu 20.04. Bạn có thể cài đặt bằng cách chạy lệnh sau:
Mã:
apt-get install docker.io -y
Mã:
systemctl start docker
systemctl enable docker
Tải xuống Discourse
Trước khi bắt đầu, hãy tạo một thư mục cho Discourse. Bạn có thể tạo nó bằng lệnh sau:
Mã:
mkdir /opt/discourse
Mã:
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
Mã:
apt-get install net-tools -y
Cài đặt và cấu hình Discourse
Bây giờ, hãy thay đổi thư mục thành /opt/discourse và chạy tập lệnh thiết lập Discourse bằng lệnh sau:
Mã:
cd /opt/discourse
./discourse-setup
Mã:
Cổng 80 và 443 được sử dụng miễn phí'samples/standalone.yml' -> 'containers/app.yml'Đã tìm thấy 4GB bộ nhớ và 2 lõi CPU vật lýcài đặt db_shared_buffers = 1024MBcài đặt UNICORN_WORKERS = 4tham số bộ nhớ container/app.yml đã cập nhật.Tên máy chủ cho Discourse của bạn? [discourse.linuxbuz.com]: discourse.linuxbuz.com
Mã:
Đang kiểm tra tên miền của bạn . . .Kết nối đến discourse.linuxbuz.com đã thành công.Địa chỉ email cho tài khoản quản trị? [[emailprotected],[emailprotected]]: [emailprotected]Địa chỉ máy chủ SMTP? [smtp.example.com]: smtp.gmail.comCổng SMTP? [587]:Tên người dùng SMTP? [[emailprotected]]: [emailprotected]Mật khẩu SMTP? [pa$$word]: vyom@123Địa chỉ email tùy chọn cho cảnh báo Let's Encrypt? (ENTER để bỏ qua) [[emailprotected]]: [emailprotected]
Mã:
Có đúng không?Tên máy chủ: discourse.linuxbuz.comEmail: [emailprotected]Địa chỉ SMTP: smtp.gmail.comCổng SMTP: 587Tên người dùng SMTP: [emailprotected]Mật khẩu SMTP: asdfgsdLet's Encrypt: [emailprotected]ENTER để tiếp tục, 'n' để thử lại, Ctrl+C để thoát:
Mã:
Bật Let's Encryptweb.ssl.template.yml đã bậtletsencrypt.ssl.template.yml đã bậtTệp cấu hình đã cập nhật thành công!Cập nhật thành công. Xây dựng lại sau 5 giây.Xây dựng ứng dụngĐảm bảo trình khởi chạy được cập nhậtĐang tìm nguồn gốcTrình khởi chạy được cập nhật+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=discourse.linuxbuz.com -e [emailprotected] -e DISCOURSE_SMTP_ADDRESS=smtp.gmail.com -e DISCOURSE_SMTP_PORT=587 -e [emailprotected] -e DISCOURSE_SMTP_PASSWORD=asdfgsd -e [emailprotected] -h ubuntu2004-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:43:15:82:15:a7 local_discourse/app /sbin/boot7e303b07344c3643846a03d5c2f758ec67a6aa94b2a6a399bcb2766ccd02b3c2
Truy cập Giao diện web Discourse
Bây giờ, hãy mở trình duyệt web của bạn và nhập URL https://discourse.linuxbuz.com. Bạn sẽ được chuyển hướng đến trang đăng ký Discourse:Nhấp vào nút Đăng ký. Bạn sẽ thấy trang sau:
Cung cấp tên người dùng và mật khẩu cho tài khoản quản trị của bạn và nhấp vào nút Đăng ký. Bạn sẽ thấy trang sau:
Bạn sẽ nhận được email để kích hoạt tài khoản của mình.