Cách cài đặt Discourse trên Ubuntu 14.04
Cảnh báo : Bài viết này đã lỗi thời và không còn hoạt động. Thay vào đó, hãy đọcbài viết Discourse cập nhậtMột bài báo từ Discourse
Discourse là một nền tảng thảo luận open-souce được xây dựng cho thập kỷ tiếp theo của Internet. Ta sẽ hướng dẫn tất cả các bước cần thiết để Discourse chạy trên DigitalOcean Server.
Yêu cầu
Trước khi bắt đầu, có một số điều ta cần cài đặt trước:
Ubuntu 14.04 Server (64 bit) với tối thiểu 2 GB RAM. Nếu bạn cần trợ giúp về phần này , hướng dẫn này sẽ giúp bạn bắt đầu.
Discourse đề xuất 1 GB RAM cho các cộng đồng nhỏ và 2 GB RAM cho các cộng đồng lớn hơn. Nó cũng yêu cầu một file swap nếu bạn đang sử dụng 1 GB RAM. Mặc dù swap thường được khuyến khích cho các hệ thống sử dụng ổ cứng quay truyền thống, nhưng sử dụng swap với SSD có thể gây ra sự cố xuống cấp phần cứng theo thời gian. Do sự cân nhắc này, ta không khuyên bạn nên bật tính năng swap trên DigitalOcean hoặc bất kỳ nhà cung cấp nào khác sử dụng bộ nhớ SSD. Làm như vậy có thể ảnh hưởng đến độ tin cậy của phần cứng cơ bản đối với bạn và những người hàng xóm của bạn. Do đó, ta khuyên bạn nên có tối thiểu 2 GB RAM để chạy Diễn văn trên DigitalOcean Server. Tham khảo Cách thêm Swap trên Ubuntu 14.04 để biết chi tiết về cách sử dụng Swap .
Nếu bạn cần cải thiện hiệu suất của server , ta khuyên bạn nên nâng cấp Server của bạn . Điều này sẽ dẫn đến kết quả tốt hơn nói chung và sẽ giảm khả năng gây ra các vấn đề phần cứng có thể ảnh hưởng đến dịch vụ của bạn.
Bạn có thể sử dụng địa chỉ IP làm domain của bạn để thử nghiệm, nhưng đối với server production , bạn phải có domain phân giải cho Server. Hướng dẫn này có thể giúp ích.
User không phải root có quyền sudo ( Cài đặt server ban đầu với Ubuntu 14.04 giải thích cách cài đặt điều này.)
Tài khoản miễn phí trên Mandrill và nhận thông tin đăng nhập SMTP . Sẽ không có hại gì nếu bạn kiểm tra tính hợp lệ của những thông tin đăng nhập này trước đó, mặc dù bạn có thể sử dụng chúng lần đầu tiên với Discourse.
Tất cả các lệnh trong hướng dẫn này phải được chạy với quyền user không phải root. Nếu cần có quyền truy cập root cho lệnh, nó sẽ được đặt trước sudo
. Cài đặt server ban đầu với Ubuntu 14.04 giải thích cách thêm user và cấp cho họ quyền truy cập sudo.
Bước 1 - Cài đặt Git
Trong phần này, ta sẽ cài đặt Git để download các file nguồn của Discourse. Git là một hệ thống quản lý mã nguồn và kiểm soát version phân tán open-souce .
Trước khi bắt đầu, ta khuyên bạn nên đảm bảo hệ thống của bạn được cập nhật. SSH vào Server với quyền là user root :
- ssh sammy@your-server-ip
Thực hiện các lệnh sau trên Server để cập nhật hệ thống:
- sudo apt-get update
- sudo apt-get upgrade
Sau khi hoàn tất, hãy cài đặt Git bằng cách chạy lệnh sau:
- sudo apt-get install git
Bước 2 - Cài đặt Docker
Trong phần này, ta sẽ cài đặt Docker để Discourse có một môi trường riêng biệt để chạy. Docker là một dự án open-souce có thể đóng gói, vận chuyển và chạy bất kỳ ứng dụng nào trong một containers nhẹ. Để biết thêm thông tin giới thiệu về Docker, vui lòng xem hướng dẫn này .
Docker cung cấp một tập lệnh công khai để cài đặt Docker:
- wget -qO- https://get.docker.io/ | sh
Bạn cần thêm user không phải root của bạn vào group docker
để có thể chạy containers Docker với quyền là user này:
- sudo usermod -aG docker sammy
Bạn cũng phải đăng xuất và đăng nhập lại với quyền là user đó để thực hiện thay đổi:
- exit
- su - sammy
Bước 3 - Download Discourse
Trong phần này, ta sẽ download Discourse.
Tạo một folder / var / discourse , nơi chứa tất cả các file liên quan đến Discourse:
- sudo mkdir /var/discourse
Sao chép Docker image Discourse chính thức vào folder / var / discourse này :
- sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse
Bước 4 - Cấu hình Diễn văn
Trong phần này, ta sẽ cấu hình cài đặt Discourse ban đầu của bạn.
Chuyển sang folder / var / discourse :
- cd /var/discourse
Sao chép file mẫu / standalone.yml vào folder vùng containers
dưới dạng app.yml
:
- sudo cp samples/standalone.yml containers/app.yml
Chỉnh sửa cấu hình Discourse trong file app.yml
:
- sudo nano containers/app.yml
Tệp cấu hình sẽ mở trong trình soạn thảo văn bản nano .
Định vị phần env và cập nhật nó với thông tin email, domain và server SMTP tùy chỉnh của bạn, như được hiển thị bên dưới. Các dòng riêng lẻ được giải thích sau khối ví dụ:
... env: LANG: en_US.UTF-8 ## TODO: How many concurrent web requests are supported? ## With 2GB we recommend 3-4 workers, with 1GB only 2 #UNICORN_WORKERS: 3 ## ## TODO: List of comma delimited emails that will be made admin and developer ## on initial signup example 'user1@example.com,user2@example.com' DISCOURSE_DEVELOPER_EMAILS: 'me@example.com' ## ## TODO: The domain name this Discourse instance will respond to DISCOURSE_HOSTNAME: 'discourse.example.com' ## ## TODO: The mailserver this Discourse instance will use DISCOURSE_SMTP_ADDRESS: smtp.mandrillapp.com # (mandatory) DISCOURSE_SMTP_PORT: 587 # (optional) DISCOURSE_SMTP_USER_NAME: login@example.com # (optional) DISCOURSE_SMTP_PASSWORD: 9gM5oAw5pBB50KvjcwAmpQ # (optional) ## ## The CDN address for this Discourse instance (configured to pull) #DISCOURSE_CDN_URL: //discourse-cdn.example.com ...
Dưới đây là các dòng riêng lẻ cần được thay đổi:
1) Đặt Email Administrator
Chọn địa chỉ email mà bạn muốn sử dụng cho account quản trị Discourse. Nó có thể hoàn toàn không liên quan đến domain Discourse của bạn và có thể là bất kỳ địa chỉ email nào bạn thấy thuận tiện. Đặt địa chỉ email này trong dòng DISCOURSE_DEVELOPER_EMAILS . Địa chỉ email này sẽ được đặt làm administrator Discourse theo mặc định, sau khi user đăng ký bằng email đó. Bạn cần địa chỉ email này sau khi cài đặt Discourse từ console web của nó.
DISCOURSE_DEVELOPER_EMAILS: 'me@example.com'
Thay me@example.com bằng email của bạn.
Cần cài đặt Email nhà phát triển để tạo và kích hoạt account administrator ban đầu của bạn.
2) Đặt domain
Đặt DISCOURSE_HOSTNAME thành discourse.example.com . Điều này nghĩa là bạn muốn diễn đàn Discourse của bạn có sẵn tại http://discourse.example.com/ . Thay vào đó, bạn có thể sử dụng địa chỉ IP tại đây nếu bạn chưa có domain trỏ đến server của bạn . Chỉ một domain (hoặc IP) có thể được liệt kê ở đây.
DISCOURSE_HOSTNAME: 'discourse.example.com'
Thay thế discourse.example.com bằng domain của bạn. Cần có tên server để truy cập version Diễn văn của bạn từ web.
3) Đặt thông tin đăng nhập thư
Ta đề xuất Mandrill cho server thư SMTP của bạn. Nhận thông tin đăng nhập SMTP của bạn từ Mandrill .
Nhập thông tin đăng nhập SMTP của bạn vào các dòng cho DISCOURSE_SMTP_ADDRESS , DISCOURSE_SMTP_PORT , DISCOURSE_SMTP_USER_NAME và DISCOURSE_SMTP_PASSWORD . (Hãy chắc chắn rằng bạn xóa ký tự comment # khỏi đầu các dòng này nếu cần.)
DISCOURSE_SMTP_ADDRESS: smtp.mandrillapp.com # (mandatory) DISCOURSE_SMTP_PORT: 587 # (optional) DISCOURSE_SMTP_USER_NAME: login@example.com # (optional) DISCOURSE_SMTP_PASSWORD: 9gM5oAw5pBB50KvjcwAmpQ # (optional)
Cài đặt SMTP được yêu cầu để gửi thư từ version Discourse của bạn; ví dụ: để gửi email đăng ký, email đặt lại password , trả lời thông báo, v.v.
Bạn gặp sự cố khi cài đặt thông tin đăng nhập thư? Xem hướng dẫn Khắc phục sự cố Email Bài giảng.
Cài đặt thông tin đăng nhập thư là bắt buộc, nếu không bạn sẽ không thể khởi động version Discourse của bạn . Thông tin đăng nhập phải chính xác, nếu không bạn sẽ không thể đăng ký user (bao gồm cả admin-user ) cho diễn đàn.
4) Tùy chọn: Chỉnh cài đặt bộ nhớ (ưu tiên cho server 1 GB)
Cũng trong phần env của file cấu hình, đặt db_shared_buffers thành 128MB và UNICORN_WORKERS thành 2 để bạn có thêm dung lượng bộ nhớ.
db_shared_buffers: "128MB"
và
UNICORN_WORKERS: 2
Việc điều chỉnh các cài đặt bộ nhớ này sẽ tối ưu hóa hiệu suất Diễn văn trên Server 1 GB.
LƯU Ý: Những thay đổi trên là bắt buộc và không được bỏ qua, nếu không bạn sẽ có một diễn đàn Discourse bị hỏng.
Lưu file app.yml
và thoát khỏi editor .
Bước 5 - Bài giảng Bootstrap
Trong phần này, ta sẽ khởi động Discourse.
Đầu tiên, ta cần đảm bảo Docker có thể truy cập tất cả các tài nguyên bên ngoài mà nó cần. Mở file cài đặt Docker /etc/default/docker
:
- sudo nano /etc/default/docker
Bỏ comment DOCKER_OPTS để Docker sử dụng DNS của Google:
... # Use DOCKER_OPTS to modify the daemon startup options. DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4" ...
Khởi động lại Docker để áp dụng cài đặt mới:
- sudo service docker restart
Lưu ý: Nếu bạn không thay đổi cài đặt DNS của Docker trước khi chạy lệnh bootstrap, bạn có thể gặp lỗi như "nghiêm trọng: không thể truy cập" https://github.com/SamSaffron/pups.git/ ': Không thể giải quyết server lưu trữ : github.com ”.
Bây giờ sử dụng quy trình bootstrap để xây dựng Discourse và khởi tạo nó với tất cả các cài đặt bạn đã cấu hình trong phần trước. Điều này cũng khởi động containers Docker. Bạn phải ở trong folder / var / discourse :
- cd /var/discourse
Bài giảng Bootstrap:
- sudo ./launcher bootstrap app
Lệnh này sẽ mất khoảng 8 phút để chạy trong khi nó cấu hình môi trường Discourse của bạn. (Đầu quá trình này, bạn cần tạo SSH key ; nhấn Y để chấp nhận.)
Sau khi quá trình bootstrap hoàn tất, hãy bắt đầu Discourse:
- sudo ./launcher start app
Xin chúc mừng! Đến đây bạn có thể hiện Diễn văn của riêng mình!
Bước 6 - Truy cập Discourse
Truy cập domain hoặc địa chỉ IP (mà bạn đã đặt cho tên server của Discourse trước đó) trong trình duyệt web để xem trang web Discourse mặc định.
Nếu bạn nhận được lỗi 502 Bad Gateway, hãy thử đợi một hoặc hai phút rồi làm mới để Discourse có thể kết thúc bắt đầu.
Bước 7 - Đăng ký và tạo account quản trị
Sử dụng nút Đăng ký ở trên cùng bên phải của trang để đăng ký account Discourse mới. Bạn nên sử dụng địa chỉ email mà bạn đã cung cấp trong cài đặt DISCOURSE_DEVELOPER_EMAILS trước đó. Sau khi bạn xác nhận account của bạn , account đó sẽ tự động được cấp quyền quản trị.
Sau khi đăng ký và đăng nhập, bạn sẽ thấy chủ đề Nhân viên và Hướng dẫn bắt đầu nhanh dành cho administrator . Nó chứa các bước tiếp theo để cấu hình thêm và tùy chỉnh cài đặt Discourse của bạn.
Bạn có thể truy cập trang tổng quan quản trị bằng cách truy cập / administrator .
Nếu bạn không nhận được bất kỳ email nào khi đăng ký và không thể đăng ký account quản trị mới, vui lòng xem danh sách kiểm tra khắc phục sự cố email Discourse.
Nếu bạn vẫn không thể đăng ký account quản trị mới qua email, hãy xem hướng dẫn Tạo account quản trị từ Control panel , nhưng xin lưu ý bạn sẽ có một trang web bị hỏng cho đến khi email SMTP hoạt động bình thường.
Đó là nó! Đến đây bạn có thể cho phép user đăng ký và bắt đầu quản lý diễn đàn Discourse của bạn .
Nâng cấp sau cài đặt
Để nâng cấp Discourse lên version mới nhất , hãy truy cập /admin/upgrade
và làm theo hướng dẫn.
Các tin liên quan
Cách sử dụng Reprepro cho Kho lưu trữ Gói Bảo mật trên Ubuntu 14.042014-09-10
Cách sử dụng Foreman để quản lý các node puppet trên Ubuntu 14.04
2014-09-08
Cách sử dụng phân phối giám sát mở với Check_MK trên Ubuntu 14.04
2014-09-08
Cách cài đặt và cấu hình một Daemon và Ứng dụng khách SNMP trên Ubuntu 14.04
2014-08-18
Giới thiệu về cách sử dụng Consul, Hệ thống khám phá dịch vụ, trên Ubuntu 14.04
2014-08-15
Cách cấu hình Lãnh sự trong Môi trường Sản xuất trên Ubuntu 14.04
2014-08-15
Cách bảo mật lãnh sự bằng mã hóa TLS trên Ubuntu 14.04
2014-08-15
Cách tạo một cụm RethinkDB được chia nhỏ trên Ubuntu 14.04
2014-08-08
Cách cấu hình Varnish Cache 4.0 với SSL Termination trên Ubuntu 14.04
2014-08-07
Giới thiệu về Ganglia trên Ubuntu 14.04
2014-08-05