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.
Sau khi tạo xong repo, hãy cài đặt Docker bằng cách chạy lệnh sau:
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:
Bây giờ bạn có thể xác minh phiên bản Docker bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
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:
Tiếp theo, thay đổi thư mục thành Discourse và cài đặt Discourse bằng lệnh sau:
Bạn sẽ được yêu cầu cung cấp FQDN của mình như hiển thị bên dưới:
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ệ:
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:
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:
Bây giờ bạn có thể xác minh Discourse đang chạy container bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
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.
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
Mã:
dnf install docker-ce --nobest
Mã:
systemctl start docker
systemctl enable docker
Mã:
docker --version
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
Mã:
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
Mã:
cd /opt/discourse
./discourse-setup
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
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?
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:
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
Mã:
docker ps
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.