Discourse

Hướng dẫn tạo diễn đàn miễn phí với Discourse vô cùng đơn giản

Hiện nay có rất nhiều mã nguồn để tạo diễn đàn điển hình nhất như : Xenforo, vBulletin (vBB), phpBB, myBB… và hiện nay theo cá nhân mình đi đâu cũng thấy diễn đàn đàn sử dụng mã nguồn Xenforo là chủ yếu bởi nhìn nó đẹp mắt và tối ưu hơn điển các diễn đàn lớn đang sử dụng như :

  • https://tinhte.vn/forums (Xenforo)
  • https://vozforums.com (vBulletin)
  • http://sinhvienit.net (vBulletin)

Nếu bạn không biết về các mã nguồn trên thì cũng bỏ qua luôn vì mình cũng chưa từng cài nó bao giờ cả tuy nhiên thì mình có đọc qua và thấy cũng đơn giản như là tạo blog wordpress vậy thôi nên nếu bạn muốn tìm hiểu nó thì có thể google để xem nhé.

Bài viết hôm nay mình sẽ hướng dẫn mọi người cách xây dựng diễn với mã nguồn mở Discourse, đây là kiểu diễn đàn khác hoàn toàn về giao diện cũng như ngôn ngữ thiết kế và điều đặc biệt nó hoàn toàn miền phí vì là mã nguồn mở.

So với Xenforo, vBulletin… thì hiện tại đang thu phí tuy nhiên ở Việt Nam đa phần mọi người cài bản null.

Nếu bạn quen mắt với mã nguồn forum trước đây rồi thì so với Discourse sẽ thấy lạ lẫm thậm chí là khó dùng nhưng sức mạnh của nó vô cùng lớn đó.Mình đã xây dựng 1 diễn đàn với Discourse và cảm thấy rất ưng ý bởi sự đơn giản cũng như mượt mà của nó.

Vậy nên nếu bạn đang muốn xây dựng 1 diễn đàn dành cho cá nhân thậm chí là 1 cộng đồng lớn thì đây sẽ là sự lựa chọn hàng đầu bạn nên quan tâm đó.Và hướng dẫn mình viết dưới đây ai cũng có thể làm được nhé vì đơn giản nó chỉ là theo tác chuột và thậm chi còn đơn giản hơn cài đặt các loại diễn đàn mã nguồn khác.

Bây giờ chúng ta sẽ đi bắt tay vào thực hiện nhé.

 

Giới thiệu

Discourse là gì?

Discourse là một công ty tiền thân là nhà cung cấp dịch vụ hosting và sản phẩm chủ yếu của họ là cung cấp hosting và lập trình.Và nền tảng Discourse là sản phẩm do chính công ty này phát triển từ năm 2013 và chính thức ra mắt vào năm 2014.

Discourse được sáng lập bởi Jeff Atwood (đồng sáng lập https://stackoverflow.com), Sam Saffron, Robin Ward…và hơn 20 kĩ sư đang phát triển nền tảng này.

Discourse mong muốn sẽ định nghĩa là nền tảng diễn đàn cho tương lai bởi trong tiềm thức chúng ta là diễn dàn là phải có giao diện ghê gớm, to lớn như XenForo… chẳng hạn.

Đây là bộ mã nguồn mở nên mọi người có thể dễ dàng cài đặt và sử dụng miễn phí.Chính vì miễn phí và được phát triển một cách nghiêm túc, lớn mạnh nên trong tương lai mình nghĩ đây là mã nguồn xây dựng diễn đàn tốt nhất.

Bên cạnh đó bên bạn muốn tìm hiểu về thêm các nền tảng khác tương tự thì có thể xem qua 2 thằng nữa là : Flarum, Nodebb nhé.

Công nghệ phát triển

Discourse được phát triển trên các ngôn ngữ mới hiện tại , là ứng dụng được xây dựng trên ngôn ngữ Javasript, sử dụng Ember.js framework để làm thiết kế giao diện Fontend.

Sử dụng Ruby on Rails để xây dựng backend, sử dụng Postgres database và Redis cache.

Điểm nỗi bật

Vì sử dụng JavaScript nên diễn đàn xây dựng bằng mã nguồn này tải rất nhanh và mượt , kèm theo việc hỗ trợ trên hầu hết các thiết bị đặc biệt là di động.Việc đăng bài trên đi động lên diễn đàn rất đơn giản và nhanh.

Cài đặt nhanh chóng và hoàn toàn miễn phí cùng với cộng động hỗ trợ giải đáp lớn từ https://meta.discourse.org

Rất thân thiện với SEO vì hiện tại cá nhân mình đang phát triển một diễn đàn với mã nguồn này và có lượt truy cập rất nhiều từ Google.

Hỗ trợ sẵn SSL HTTPS miễn phí Let’s Scripts cho diễn đàn.

Hạn chế

Yêu cầu cấu hình tối thiểu cao hơn so với các nền tảng diễn đàn khác như Xenforo là RAM từ 1G trở lên , và khuyến khích sử dụng Ubuntu.

Plugin cũng như theme rất hạn chế chủ yếu là người sử dụng viết tuy nhiên với sự phát triển của Discourse trong tương lai mình nghĩ đây không phải là vấn đề.

Giao diện đơn giản không quá nhiều chức năng đôi khi bạn sẽ chưa quen mắt với giao diện này tuy nhiên sử dụng về lâu dài lại thấy nó rất thú vị 🙂

Các diễn đàn lớn sử dụng Discourse

Bạn cùng xem qua các diễn lớn ở nước ngoài đang sử dụng mã nguồn này để phát triển diễn đàn nhé.

  • https://bbs.boingboing.net
  • https://discuss.howtogeek.com
  • https://twittercommunity.com (của Tiwtter)
  • https://talk.turtlerockstudios.com

Ngoài ra còn rất nhiều diễn đàn lớn khác sử dụng, bạn có thể xem tại đây nhé: https://www.discourse.org/customers

Ở Việt Nam thì hiện tại có diễn đàn daynhauhoc.com đang sử dụng mã nguồn này và cũng rất phát triển mạnh với hơn 23.000 thành viên cho đến hiện tại.

Hiện tại mình cũng đang xây dựng diễn đàn cho blog mình là hoidap.cheng.vn nên có thắc mắc gì mọi người có thể thảo luận ở đó nhé.

Cấu hình tối thiểu cài đặt Discourse

Có thể do sử dụng ngôn ngữ Ruby on Rails mà Discource yêu cầu cấu hình server cao hơn so với các nền tảng khác.

  • Ubuntu OS RAM 1G trở lên.

Tuy nhiên bây giờ cấu hình trên thì giá thành cũng rẽ tầm 5$/tháng là bạn có thể cài đặt và sử dụng được rồi.

Hiện tại hoidap.cheng.vn mình đang sử dụng server mua tại Vultr cũng rất mượt và ổn định.Và trong loạt bài viết này chúng ta sẽ sử dụng luôn VPS ở đây để cài đặt nhé.

Thực hiện

Vậy là mình đã giới thiệu sơ qua về Discourse rồi nhé, nếu đã nắm rõ rồi thì bây giờ chúng ta bắt tay vào việc tạo dựng diễn đàn nào.

#1.Mua VPS – Server

Như đã nói thì Discourse là mã nguồn mở nên được cung cấp miễn phí tuy nhiên chúng ta phải mua Server để có thể xây dựng và di trì được diễn đàn.

Tương tự như Xenforo chúng ta cũng phải mua Hosting hoặc VPS để tạo diễn đàn

Chúng ta sẽ sử dụng dịch vụ Server tại Vultr.com và gói thấp nhất có thể cài đặt được đó là Ubuntu OS – RAM 1G  giá là 5$/month.Và giá này thì hoàn toàn chấp nhận được đúng không mọi người.Và hiện tại mình thấy server ở đây là rẽ và chất lượng tốt nhất rồi sánh ngang với DigitalOcean (khó đăng ký).

Để mua Server tại Vultr bạn xem bài viết hướng dẫn chi tiết của mình dưới đây nhé, bạn chỉ cần làm theo là xong.

Đăng ký và tạo VPS trên Vultr với giá siêu rẽ

Đây là gói tối thiếu mà các bạn có thể mua và cài đặt Discourse trên Vultr.

Các goi VPS tại Vultr

Các goi VPS tại Vultr

Sau khi đăng ký thì bạn sẽ có 1 Server với thông tin đăng nhập như hình bên dưới đây nhé.

Thông tin đăng nhập vào Server

Thông tin đăng nhập vào Server

Vậy là xong bước mua Server, hoặc nếu bạn mua ở bất kì dịch vụ nào khác cũng được miễn đạt được yêu cầu cấu hình mình ghi ở trên là được.

#2.Cài đặt

Mua xong Server rồi bây giờ chúng ta tiến hành quá trình cài đặt nhé.Đầu tiên bạn cài đặt phần mềm đăng nhập vào SSH để quản trị được VPS cho mình nhé.

+ Đăng nhập vào VPS

Các bạn sử dụng tool ZOC Terminal ha, do mình dùng macbook mà các bạn có thể sử dụng windows nên dùng cái này hướng dẫn cho nó đồng bộ.

Các bạn tải  ZOC Terminal tại đây.

Sau khi tải xong bạn tiến hành đăng nhập vào VPS với thông tin là IP Address, user và mật khẩu Vultr có hiển thị trong mục quản lí VPS ấy nhé.

Đăng nhập vào VPS với ZOC Terminal

Đăng nhập vào VPS với ZOC Terminal

Sau khi đăng nhập thành công bạn sẽ thấy giao diện như sau:

Đăng nhập VPS thành công

Đăng nhập VPS thành công

Vì mật khẩu VPS Vultr tự động tạo ra nên rất khó nhớ nên bây giờ mọi người chạy dòng lệnh sau đây để đổi mật khẩu nhé.

passwd

Sau đó nhập mật khẩu mới và xác nhận lại lần nữa là xong, bạn đã đổi mật khẩu thành công từ nay login VPS sẽ bằng mật khẩu mới đó nhé.

Đổi password VPS

Đổi password VPS

+ Trỏ tên miền về VPS

Đăng nhập và đổi mật khẩu xong mọi người cứ để đó đã nha, bây giờ bạn tiến hành trỏ tên miền muốn tạo diễn đàn về VPS để lát nữa cài đặt xong thì có thể truy cập thẳng vào diễn đàn được luôn.

Mọi người có thể sử dụng tên miền chính hoặc subdomain để tạo diễn đàn đều được nhé.Ví dụ diễn đàn daynhauhoc.com là sử dụng tên miền chính là diễn đàn.Còn mình là hoidap.cheng.vn là sử dụng subdomain là tên miền.Hai thằng này không khác gì nhau cả nha bạn, chỉ lát nữa ở phía dưới bạn nhập cho đúng tên miền là được rồi 🙂

Bạn tạo 2 A Record trỏ về địa chỉ IP Address của VPS bạn thôi, rất là đơn giản luôn y chang trỏ về hosting vậy thôi.Ở đây mình trỏ trên NameCheap, bạn nào mua tên miền chỗ khác cũng làm tương tự nha.

Trỏ tên miền về VPS

Trỏ tên miền về VPS

Nếu bạn chưa mua tên miền thì có thể xem bài hướng dẫn mua tên miền tại Namecheap của mình nhé, đây là nơi bán tên miền chất lượng được nhiều người sử dụng.

Trỏ tên miền về xong, các bạn để im đó nhé ở bước tiếp theo chúng ta sẽ đi đăng ký dịch vụ SMTP Email cho diễn đàn.

+ Đăng ký dịch vụ SMTP  gửi Email

Để thành viên đăng ký diễn đàn có email xác nhận cũng như email thông báo từ diễn đàn như khi có bài viết mới… thì bạn phải đăng ký dịch vụ gửi Email và chúng ta sẽ gửi bằng dịch vụ SMTP của SparkPost.

Nếu không hiểu nó là gì thì mình bỏ qua kiến thức nó luôn nhé, chúng ta sẽ tập trung vào cách cài đặt thôi.Bây giờ mọi người sẽ xem hướng dẫn dưới đây cho mình và mình đã hướng dẫn rất chi tiết nên iên tâm bạn xem sẽ làm được ngay thôi.

Gửi email miễn phí qua SMTP với SparkPost

Sau khi bạn đăng ký xong thì bạn sẽ có được thông tin như sau:

Thông tin SMTP email SpartPost

Thông tin SMTP email SpartPost

Lát nữa khi cài đặt Discourse chúng ta sẽ sử dụng thông tin trên để nhập vào nhé.

+ Cài đặt Disourse

Lúc này mình đã hướng dẫn mọi người tải ZOC Terminal và tiến hành đăng nhập vào rồi đúng không nào?Bây giờ chúng ta sẽ tiến hành đi cài đặt diễn đàn bằng cách chạy vài dòng lệnh là xong.

1.Cài Swap cho VPS

Đầu tiên chúng ta sẽ đi cài Swap cho máy ảo của bạn trước đã và swap là gì , cách cài đặt ra làm sao thì bạn xem ở bài viết hướng dẫn dưới đây nhé.Cứ cài đặt như hướng dẫn nếu như bạn không biết nó là gì nhé mọi người vì có biết cũng không cần thiết làm gì cả.

Hướng dẫn tạo bộ nhớ Swap trên Ubuntu – Centos

Nếu bạn mua VPS RAM 1G hay 2G thì cài luôn 2048M luôn cũng được vì Discourse yêu cầu RAM tối thiếu là 1G và khuyến khích ai sử dụng RAM 1G thì cài swap 2G luôn.Sau khi cài thành công bạn chạy dòng lệnh swapon -s này trên VPS thấy như sau là thành công.

2.Cài Docker

Bỏ qua các kiến thức về Docker luôn và mọi người tiếp tục chạy dòng lệnh này cho mình nhé.

wget -qO- https://get.docker.com/ | sh

Sau khi chạy xong thì sẽ có màn hình kết quả như sau:

Cài đặt Docker cho Discourse

Cài đặt Docker cho Discourse

3.Install Disourse

Ở bước này chúng ta sẽ đi cài đặt Discourse bằng cách bạn chạy liên tiếp 4 dòng lệnh dưới đây cho mình nhé.

sudo -s
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse

Sau khi chạy xong thì kết quả như thế này là thành công nhé.

Install Disourse

Install Disourse

4.Cấu hình Discourse

Ở bước này chúng ta sẽ đi cấu hình tên miền, giao thức gửi email cho diễn đàn nhé.Bây giờ bạn tiến hành chạy dòng lệnh sau.

./discourse-setup

Lúc này hệ thống sẽ tải các gói packgage về nên mất tầm 2 – 5 phút các bạn cứ kiên nhẫn chờ nhé, sau đó sẽ xuất hiện yêu cầu bạn nhập các thông tin như sau:

 

Nhập thông tin cấu hình diễn đàn

Nhập thông tin cấu hình diễn đàn

 

Lúc này trên màn hình sẽ yêu cầu bạn nhập các thông tin sau:

  • Hostname for your Discourse? [discourse.example.com]: tên miền diễn đàn
  • Email address for admin account(s)? [[email protected],[email protected]]: email admin diễn đàn
  • SMTP server address? [smtp.example.com]: thông tin HOST SMTP
    SMTP port? [587]: cổng SMTP
  • SMTP user name? [[email protected]]: tài khoản SMTP
  • SMTP password? [pa$$word]: mật khẩu SMTP
  • Let’s Encrypt account email? (ENTER to skip) [[email protected]]:nhập lại email để Discourse tự động cài đặt https cho diễn đàn luôn nhé.

Tất cả các thông tin trên chúng ta đã có ở bước Đăng ký dịch vụ SMTP gửi Email ở phần trên rồi đúng không nào.Bây giờ bạn chỉ cần nhập vào là xong, sau khi nhập xong sẽ xuất hiện dòng “Enter to continue , ‘n to try again, CTR + C to exit:‘ , bạn bấm Enter cho mình nhé.

Lúc này quá trình cài đặt tiếp tục được diễn ra và tầm 5 – 8 phút mới xong nên mọi người kiên nhẫn ngồi đợi nhé, khi nào xong thì sẽ hiển thị như sau:

Cài đặt xong Discourse

Cài đặt xong Discourse

Vậy là xong! Diễn đàn đã gần cài đặt xong rồi đó các bạn.Bây giờ bạn truy cập vào tên miền của bạn sẽ thấy giao diện như sau:

Đăng ký admin quan trị diễn đàn

Đăng ký admin quan trị diễn đàn

Lưu ý:

Nếu bạn không vào được tên miền vì do chưa trỏ về VPS thành công thì có thể truy cập trực tiếp vào địa chỉ IP VPS của bạn ví dụ như: https://45.76.188.174

Nếu bạn vào mà bị Lỗi 504 Gateway Timeout thì đừng lo lắng nhé, đợi 1 phút vào lại là được thôi à.

Sau đó bạn bấm Register để tiến hành đăng kí làm admin cho diễn đàn.

Nhập thông tin đăng ký admin

Nhập thông tin đăng ký admin

Mục Email sẽ tự động lấy email khi các bạn cấu hình ở bước vừa nãy đó nhé, bạn nhập tên tài khoản và mật khẩu để đăng ký nhé.Đây là là nick có quyền lực admin cao nhất ở diễn đàn đó nhé các bạn.

Sau đó bạn bấm Register để đăng ký nha, lúc này sẽ hiển thị lên mà hình sau.

Xác minh email

Xác minh email

Công việc bây giờ của bạn là vào email để xác minh tài khoản admin cho diễn đàn nhé.Email này thường không nằm ngoài mục Chính trong hộp thư gmail nên bạn tìm tất cả các hộp thư khác như : Spam, Xã Hội, Quảng cáo… nhé.

Xác mình email Admin

Nếu như bạn không nhận được email thì chứng tỏ quá trình điền thông tin SMTP ở trên đã bị sai bạn kiểm tra lại thử nhé.Bạn có thể xem cái lỗi do email ở đây.

Click vào email và bấm Kích hoạt tài khoản Click here to activate your account nhé.Và bây giờ là đến mục thiết lập các thông tin cho diễn đàn như: ngôn ngữ, tiêu đề, mô tả, icon, giao diện, mod…Bạn cứ thiết lập bình thường nhé, và có 13 mục thiết lập lận.

Thiết lập cấu hình diễn đàn

Thiết lập cấu hình diễn đàn

Khi nào đến màn hình như trên là xong! Bạn bấm OK là hoàn tất luôn.Ngay bây giờ bạn có thể truy cập vào diễn đàn để xem giao diện và quản trị nó  nhé.

Diễn đàn Discourse cài đặt thành công

Diễn đàn Discourse cài đặt thành công

5.Kích hoạt HTTPS

Để diễn đàn có thể hoạt động với HTTPS tốt hơn thì yêu cầu bạn phải kích hoạt chế độ này lên sau khi đã cài đặt xong diễn đàn.

Bạn vào diễn đàn theo đường dẫn: https://hoidap.cheng.vn/admin nhớ là thay đổi tên miền của mình thành tên miền của bạn nhé.

Sau đó chọn vào tab Xác lập rồi nhập cụm từ force https vào như dưới hình đây.

Kích hoạt https

Kích hoạt https

Sau đó bạn tích xanh để Enable chế độ sử dụng HTTPS lên là xong.

Thế là XOOONGGGG! Ngay bây giờ còn chờ gì mà không khám phá nó nữa nào…Và đây là diễn đàn sau khi mình tạo thành công và cũng là nơi hỏi đáp thắc mắc nếu như bạn gặp khó khăn khi cài Discourse nhé.

Một số lỗi khi cài Discource

Khi cài Discourse kiểu gì cũng dính lỗi nếu như sai bước nào đó chính vì vậy mình có một số bài viết khắc phục cái lỗi tại bài viết ở diễn đàn dưới đây, mọi người thắc mắc gì vào đó thảo luận vào chia sẽ nhé.

https://hoidap.cheng.vn/c/discourse

Ở bài sau mình sẽ hướng dẫn mọi người cách làm login với Facebook + Google Plus, cách cài đặt theme…và nhiều tính năng khác trên Discourse.

Một số bài viết liên quan về Discourse:

Chúc các bạn thành công!

Hướng dẫn tạo diễn đàn miễn phí với Discourse vô cùng đơn giản
5 1 vote

About the author

Cheng

Tôi là Cheng.Blog này lập ra nhằm mục đích chia sẽ những cái gì mình biết và là cái gì mình cũng không rõ.Rất vui khi bạn đã ghé thăm Blog của mình.Hi vọng sẽ giúp ích được gì đó cho bạn.

9 Comments

  • Bạn ơi mình cần hỏi là Nếu dùng VPS tối thiểu 1Gb Ram, 1 Core và 25Gb SSD, thì chạy được Discourse chưa? Nếu chạy được thì có thể duy trì bao nhiêu user online cùng lúc vậy bạn?

    • Đã có người đánh giá là lên đến 200 user online cùng 1 lúc tuy nhiên tuỳ thuộc vào rất nhiều yếu tố nên con số đó là ước chừng thôi.Tuy nhiên 1 diễn đàn đạt được như thế thì cũng không phải chuyện đơn giản 🙂

  • Cho em hỏi là.
    Em cài discourse như trong video hướng dẫn. Sau khi cài xong thì tên miền em vẫn hiển thị giao diện của namecheap. giờ khác phục lỗi đó làm sao ạk

  • Sau khi cài xong em truy cập theo địa chỉ ip vps thì nó báo lỗi này trên trình duyệt
    “Không thể truy cập trang web này”
    Mọi người cho em nguyên nhân và cách khách phục với?

    • Bạn đang sử dụng vps ở đâu v nhỉ?
      Bạn truy cập bằng địa chỉ IP đó thử trước khi vào bằng tên miền.
      Quá trình cài đặt bạn có bị lỗi hay gì không?
      Chưa nói đến việc trỏ tên miền nhưng cài xong truy cập vào ip được mới thành công bạn

  • ad cho hỏi làm sao, cài đặt chung với wordpress sử dung subfolder domain.com/Discourse
    Mò hoài không ra

Để lại bình luận

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.