Cách cài đặt Discourse Forum với Docker trên CentOS 8

theanh

Administrator
Nhân viên
Discourse là một nền tảng mã nguồn mở và miễn phí được xây dựng cho thập kỷ tiếp theo của Internet. Đây là một phần mềm diễn đàn hiện đại có thể được sử dụng như một danh sách gửi thư, diễn đàn thảo luận, phòng trò chuyện dài, v.v. Nó sử dụng Ruby on Rails cho phần phụ trợ, Ember.js cho phần giao diện, PostgreSQL làm kho dữ liệu và Redis làm máy chủ lưu trữ đệm. Nó đơn giản, hiệu quả, thân thiện với thiết bị di động, có thể tùy chỉnh và giúp thảo luận trực tuyến trở nên dễ dàng và thú vị.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt diễn đàn Discourse bằng Docker trên máy chủ CentOS 8.

Điều kiện tiên quyết​

  • Một máy chủ chạy CentOS 8.
  • Một tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
  • Một mật khẩu gốc được cấu hình cho máy chủ.

Cài đặt Docker​

Trước tiên, bạn sẽ cần cài đặt Docker trên máy chủ của mình. Theo mặc định, Docker không khả dụng trong kho lưu trữ chuẩn CentOS 8. Vì vậy, bạn sẽ cần thêm kho lưu trữ chính thức của Docker vào hệ thống của mình. Bạn có thể thêm nó bằng lệnh sau:
Mã:
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
Sau khi tạo xong repo, hãy cài đặt Docker bằng cách chạy lệnh sau:
Mã:
dnf install docker-ce --nobest
Sau khi cài đặt Docker, hãy khởi động dịch vụ Docker và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Mã:
systemctl start docker
systemctl enable docker
Bây giờ bạn có thể xác minh phiên bản Docker bằng lệnh sau:
Mã:
docker --version
Bạn sẽ thấy đầu ra sau:
Mã:
Docker phiên bản 20.10.1, bản dựng 831ebea

Cài đặt Discourse​

Đầu tiên, hãy tạo một thư mục cho Discourse bằng lệnh sau:
Mã:
mkdir /opt/discourse
Tiếp theo, tải xuống phiên bản mới nhất của Discourse từ kho lưu trữ Git bằng lệnh sau:
Mã:
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
Tiếp theo, thay đổi thư mục thành Discourse và cài đặt Discourse bằng lệnh sau:
Mã:
cd /opt/discourse
./discourse-setup
Bạn sẽ được yêu cầu cung cấp FQDN của mình như hiển thị bên dưới:
Mã:
which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)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 cập nhật.Tên máy chủ cho Discourse của bạn? [discourse.example.com]: discourse.linuxbuz.com
Cung cấp tên miề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 và mật khẩu hợp lệ:
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ị viên? [[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]: yourpasswordĐịa chỉ email tùy chọn cho cảnh báo Let's Encrypt? (ENTER để bỏ qua) [[emailprotected]]: [emailprotected]Có đúng không?
Cung cấp tất cả thông tin chi tiết và nhấn Enter. Bạn sẽ cần xác minh tất cả các thiết lập như được hiển thị bên dưới:
Mã:
Hostname : discourse.linuxbuz.comEmail : [emailprotected]SMTP address : smtp.gmail.comSMTP port : 587SMTP username : [emailprotected]SMTP password : yourpasswordLet's Encrypt : [emailprotected]ENTER để tiếp tục, 'n' để thử lại, Ctrl+C để thoát:
Nếu mọi thứ ổn thì nhấn Enter để bắt đầu cài đặt. Sau khi cài đặt hoàn tất, bạn sẽ nhận được kết quả sau:
Mã:
+ /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=mật khẩu của bạn -e [emailprotected] -h centos8-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:e0:37:60:d3:09 local_discourse/app /sbin/bootab3bdf3c169d47d9ff06052f48ff078d46393f1152b651b9fd3354594cc38714
Bây giờ bạn có thể xác minh Discourse đang chạy container bằng lệnh sau:
Mã:
docker ps
Bạn sẽ thấy đầu ra sau:
Mã:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESab3bdf3c169d local_discourse/app "/sbin/boot" 22 giây trước Đã hoạt động 21 giây 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app

Truy cập Discourse Web UI​

Bây giờ, hãy mở trình duyệt web của bạn và nhập URL . Bạn sẽ được chuyển hướng đến màn hình thiết lập Discourse:



Nhấp vào nút Đăng ký. Bạn sẽ thấy trang Đăng ký:



Cung cấp email, tên người dùng, mật khẩu và nhấp vào nút Đăng ký. Bạn sẽ nhận được email để kích hoạt tài khoản của mình.


Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công phần mềm diễn đàn Discourse trên CentOS 8. Bây giờ bạn có thể khám phá Discourse để biết thêm nhiều tính năng và triển khai nó trong môi trường sản xuất. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên