Hướng dẫn cài đặt Discourse trên Ubuntu cực kì nhanh
Trong bài này mình sẽ hướng dẫn các bạn cách cài đặt Discourse rtên Ubuntu 20.04, đây là một CMS dùng để phát triển forum rất mạnh, có thể nói là tốt nhất ở thời điểm hiện tại.
Discourse là một dự án mã nguồn mở phát triển với chức năng như một forum, các thành viên có thể thảo luận, gửi tin nhắn cho nhau cực kì nhanh gọn. ĐIểm mạnh của nó là hệ thống gửi mail tự động rất tốt, giúp việc cảnh báo tin mới đến các thành vien hiệu quả hơn.
Discourse được viết bằng Ember.js và Ruby on Rails, và sử dụng PostgreSQL cho cơ sở dữ liệu back-end, cung cấp các tính năng rất hay như: Chặn spam, thông báo, đăng nhập bằng mạng xã hội, xác thực hai yếu tố, API, kiểm duyệt mạnh mẽ, giao diện responsie, và đặc biệt là tốc độ load trang cực nhanh.
Và sau đây mình sẽ hướng dẫn các bạn cách cài đặt nó trên Ubuntu 20.04 nhé.
Bài viết này được đăng tại [free tuts .net]
1. Điều kiện cài đặt Discourse trên Ubuntu
Để chạy một website thì bạn cần phải có một số thứ như sau:
- Một VPS chạy Ubuntu, cụ thể là Ubuntu 20.04. Xem mua tại bài viết VPS tốt nhất.
- Một domain để chạy website, cũng có thể sử dụng subdomain. Xem mua domain tại bài viết mua domain ở đâu.
- Một SMTP mail server. Nếu bạn chưa có mail server thì có thể sử dụng Gmail, hoặc sử dụng [SparkPost].
- Tài khoản root để đăng nhập vào VPS
Với phiên bản hiện tại thì khi cài đặt trên Ubuntu cực kì đơn giản, chỉ vào thao tác là bạn sẽ thực hiện thành công.
Tóm lại, bạn cần thực hiện thao tác như sau:
- Trỏ domain về VPS mà bạn đã mua
- Thông tin SMTP Mail server.
- Thông tin tài khoản root để đăng nhập vào VPS
2. Các bước cài đặt Discourse trên Ubuntu
Đầu tiên chúng ta cần cài đặt Docker đã nhé, nó sẽ giúp việc cài đặt các gói cần thiết một cách nhanh nhất.
Cài đặt Docker
Mặc định thì Docker đã có sẵn trong phiên bản Ubuntu 20.04, vì vậy bạn chỉ việc chạy lệnh sau là có thể cài đặt được Docker.
apt-get install docker.io -y
Sau khi cài đặt docker thành công, bạn hãy chạy lần lượt hai lệnh dưới đây để khởi động Docker.
systemctl start docker systemctl enable docker
Vậy là xong, bây giờ chúng ta hãy qua bước tiếp theo.
Download Discourse
Chúng ta sẽ tạo một thư mục tên là discourse nằm trong thư mục opt của Linux, hãy chạy lệnh sau để tiến hành tạo thư mục.
mkdir /opt/discourse
Sử dụng git để tải mã nguồn về thư mục mà ta đã tạo đó. Mặc định thì git đã có sẵn trong Ubuntu 20, nếu bạn sử dụng bản thấp hơn thì hãy tải và cài đặt git trước nhé.
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
Bây giờ ta cần cài thêm net-tools package trong hệ thống của mình bằng lệnh sau:
apt-get install net-tools -y
Chờ cho tới khi máy báo thành công là bạn có thể qua bước tiếp theo.
Cài đặt và cấu hình Discourse
Bây giờ bạn hãy sử dụng lệnh cd để di chuyển đến thư mục discourse mà ta đã tạo ở trên, sau đó chạy file discourse-setup để tiến hành cài đặt. Hãy chạy lần lượt hai lệnh sau:
cd /opt/discourse ./discourse-setup
Thời gian cài đặt có thể mất vài phút, và nó cũng sẽ hỏi bạn một số thông tin.
Đầu tiên là sẽ hỏi domain bạn là gì, bạn hãy nhập vào nhé.
Ports 80 and 443 are free for use 'samples/standalone.yml' -> 'containers/app.yml' Found 4GB of memory and 2 physical CPU cores setting db_shared_buffers = 1024MB setting UNICORN_WORKERS = 4 containers/app.yml memory parameters updated. Hostname for your Discourse? [discourse.hoicode.com]: hoicode.com
Trong hình là mình nhập domain hoicode.com.
Tiếp theo bạn cần cung cấp cấu hình SMTP, Port, tài khoản đăng nhập SMTP.
Checking your domain name . . . Connection to discourse.linuxbuz.com succeeded. Email address for admin account(s)? [me@example.com,you@example.com]: thehalfheart@gmail.com SMTP server address? [smtp.example.com]: smtp.gmail.com SMTP port? [587]: SMTP user name? [user@example.com]: hitjethva81@gmail.com SMTP password? [pa$$word]: vyom@123 Optional email address for Let's Encrypt warnings? (ENTER to skip) [me@example.com]: thehalfheart@gmail.com
Hãy cung cấp đung thông tin nhé. Sau mỗi thông tin bạn nhấn Enter để qua bước tiếp theo, và cuối cùng sẽ thu được một phần tổng hợp như sau:
Does this look right? Hostname : hoicode.com Email : thehalfheart@gmail.com SMTP address : smtp.gmail.com SMTP port : 587 SMTP username : thehalfheart@gmail.com SMTP password : asdfgsd Let's Encrypt : thehalfheart@gmail.com ENTER to continue, 'n' to try again, Ctrl+C to exit:
Bạn hãy nhấn Enter để tiếp tục cài đặt, sau khi xong bạn sẽ nhận được giao diện như sau:
Enabling Let's Encrypt web.ssl.template.yml enabled letsencrypt.ssl.template.yml enabled Configuration file at updated successfully! Updates successful. Rebuilding in 5 seconds. Building app Ensuring launcher is up to date Fetching origin Launcher is up-to-date + /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 DISCOURSE_DEVELOPER_EMAILS=hitjethva81@gmail.com -e DISCOURSE_SMTP_ADDRESS=smtp.gmail.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=hitjethva81@gmail.com -e DISCOURSE_SMTP_PASSWORD=asdfgsd -e LETSENCRYPT_ACCOUNT_EMAIL=hitjethva81@gmail.com -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/boot 7e303b07344c3643846a03d5c2f758ec67a6aa94b2a6a399bcb2766ccd02b3c2
Đoạn code trên sẽ tạo ra một file app.yml nằm trong thư mục discourse/containers. Sau này nếu bạn muốn thay đổi thông tin cấu hình thì chỉ cần sử dụng VI Editor để chỉnh file /opt/discouse/containers/app.yml, sau đó chạy lệnh ./launcher rebuild app để Discourse thiết lập lại cấu hình.
Vậy là xong, bây giờ bạn hãy truy cập vào domain mà bạn đã thiết lập. Như trong ví dụ này thì minh sẽ truy cập vào hoicode.com.
Tại đây bạn hãy tiến hành các bước thiết lập như yêu cầu trên màn hình nhé, rất dễ dàng nên mình sẽ không hướng dẫn cụ thể.
Như vậy là mình đã hướng dẫn xong cách cài đặt và cấu hình Discourse trên Linux, cụ thể là Ubuntu 20.04. Chúc bạn thực hiện thành công nhé.