Rocket.Chat là giải pháp trò chuyện trực tuyến miễn phí và mã nguồn mở cho giao tiếp nhóm, cho phép bạn xây dựng slack của riêng mình như trò chuyện trực tuyến. Rocket.Chat dựa trên Javascript, được phát triển bằng khuôn khổ Meteor full stack. Rocket.Chat là giải pháp tuyệt vời cho các công ty muốn xây dựng nền tảng trò chuyện riêng tư của riêng mình.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách xây dựng máy chủ trò chuyện của riêng bạn bằng Rocket.Chat. Tôi sẽ sử dụng máy chủ Ubuntu LTS 16.04 mới nhất để cài đặt và Nginx làm proxy ngược cho ứng dụng Rocket.Chat.
Điều kiện tiên quyết
Cập nhật kho lưu trữ Ubuntu:
Tiếp theo, cài đặt các gói mới cần thiết cho Rocket.Chat:
Thêm máy chủ khóa MongoDB để chúng ta có thể truy cập các gói:
Sau đó thêm kho lưu trữ MongoDB bằng lệnh bên dưới:
Cập nhật kho lưu trữ và cài đặt MongoDB bằng lệnh apt:
Thêm MongoDB để chạy khi khởi động và khởi động:
MongoDB đã được khởi động trên cổng 27017.
Chỉnh sửa tệp mongod.conf bằng vim:
Thêm "#" vào đầu dòng 24 để vô hiệu hóa MongoDB chỉ chạy trên IP localhost.
Thêm cấu hình ReplicaSet bên dưới tại dòng 34.
Lưu và thoát.
Khởi động lại dịch vụ MongoDB:
Tiếp theo, khởi động shell MongoDB và khởi tạo ReplicaSet:
Khởi tạo kết quả:
Đảm bảo giá trị 'ok' là 1. Nếu kết quả là một số khác, thì điều này có nghĩa là có gì đó không ổn.
Cài đặt nodejs và npm từ kho lưu trữ Ubuntu:
Tiếp theo, cài đặt gói n toàn cục vào hệ thống bằng lệnh thenpm:
Sử dụng lệnh n để tải xuống và đặt nodejs phiên bản 4.5.
Cuối cùng, hãy kiểm tra phiên bản nodejs:
Tải xuống phiên bản Rocket.Chat mới nhất và giải nén:
Tạo một thư mục /var/www/ mới và đổi tên thư mục bundle thành 'Rocket.Chat' rồi di chuyển thư mục đó:
Đi tới thư mục Rocket.Chat, đặt một số biến môi trường cần thiết và khởi động máy chủ Rocket.Chat.
Rocket.Chat đã được cài đặt, hãy mở trình duyệt web của bạn và truy cập địa chỉ IP của máy chủ trên cổng 3000. - 192.168.1.110:3000.
Tạo thư mục SSL mới:
Tạo tệp chứng chỉ SSL và thay đổi quyền của tệp khóa:
Tiếp theo, tạo tệp máy chủ ảo rocket-chat mới trong sites-available thư mục.
Dán cấu hình máy chủ ảo mới bên dưới:
Lưu và thoát.
Tôi sẽ chạy Rocket.Chat với tên miền mới 'rocket-chat.co'. Vui lòng sử dụng tên miền của riêng bạn và thay thế nó trong các tệp cấu hình bất cứ nơi nào nó xuất hiện.
Kích hoạt máy chủ ảo Rocket.Chat và kiểm tra tệp cấu hình:
Đảm bảo không có thông báo lỗi nào.
Khởi động lại máy chủ web Nginx:
Chạy Rocket.Chat với các biến mới bên dưới:
Trong trình duyệt web của bạn, hãy mở URL: rocket-chat.co (hoặc tên miền tùy chỉnh của bạn) - bạn sẽ được chuyển hướng đến kết nối https.
Tạo tài khoản quản trị đầu tiên của bạn bằng cách nhấp vào liên kết 'Đăng ký tài khoản mới'.
Nhập tên, email và mật khẩu của bạn, sau đó nhấp vào 'ĐĂNG KÝ TÀI KHOẢN MỚI'.
Xác nhận sử dụng 'SITE-URL' mới với tên miền. Nhấp vào 'Có'.
Đăng ký tên người dùng, nhấp vào 'SỬ DỤNG TÊN NGƯỜI DÙNG NÀY'.
Người dùng quản trị đã được tạo và đây là Bảng điều khiển Rocket.Chat. Bạn có thể bắt đầu trò chuyện và tạo kênh riêng cho nhóm của mình.
Rocket.Chat đã được cài đặt với máy chủ web Nginx trên ubuntu 16.04.
Kết quả sau khi chúng tôi sử dụng các biến môi trường mới:
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách xây dựng máy chủ trò chuyện của riêng bạn bằng Rocket.Chat. Tôi sẽ sử dụng máy chủ Ubuntu LTS 16.04 mới nhất để cài đặt và Nginx làm proxy ngược cho ứng dụng Rocket.Chat.
Điều kiện tiên quyết
- Ubuntu 16.04
- Quyền root
Bước 1 - Cài đặt các phụ thuộc Rocket.Chat
Đăng nhập vào máy chủ bằng ssh (hoặc thiết bị đầu cuối) và nhập 'sudo su' để có quyền truy cập root:
Mã:
ssh [emailprotected]
sudo su
Mã:
apt-get update
Mã:
apt-get install curl graphicsmagick build-essential
Bước 2 - Cài đặt MongoDB
Rocket.Chat yêu cầu MongoDB để cài đặt. Ở bước này, chúng ta sẽ cài đặt MongoDB 3.2 từ kho lưu trữ MongoDB.Thêm máy chủ khóa MongoDB để chúng ta có thể truy cập các gói:
Mã:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
Mã:
echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
Mã:
apt-get update
apt-get install mongodb-org
Mã:
systemctl enable mongod
systemctl start mongod
Bước 3 - Cấu hình MongoDB ReplicaSet
Để cải thiện hiệu suất, Rocket.Chat sử dụng MongoDB ReplicaSet. Trong bước này, chúng ta sẽ cấu hình một MongoDB ReplicaSet đơn giản bằng cách chỉnh sửa tệp cấu hình MongoDB.Chỉnh sửa tệp mongod.conf bằng vim:
Mã:
vim /etc/mongod.conf
Mã:
net:
port: 27017
#bindIp: 127.0.0.1
Mã:
#replication:
replication:
oplogSizeMB: 1
replSetName: rs0
Khởi động lại dịch vụ MongoDB:
Mã:
systemctl restart mongod
Mã:
export LC_ALL=C
mongo
rs.initiate()
Mã:
{
"info2" : "không có cấu hình nào được chỉ định. Sử dụng cấu hình mặc định cho tập hợp",
"me" : "nyanko-sensei:27017",
"ok" : 1
}
Bước 4 - Cài đặt npm và nodejs
Trong bước này, chúng ta sẽ cài đặt nodejs và npm từ kho lưu trữ Ubuntu. Sau đó, chúng ta sẽ cài đặt gói n bằng lệnh thenpm để có phiên bản nodejs cụ thể. Phiên bản Rocket.Chat mới nhất cần nodejs 4.5.Cài đặt nodejs và npm từ kho lưu trữ Ubuntu:
Mã:
apt-get install nodejs npm
Mã:
npm install -g n
Mã:
sudo n 4.5
Mã:
node --version
npm -v
Bước 5 - Cài đặt Rocket.Chat Server
Chúng tôi sẽ cài đặt Rocket.Chat (phiên bản mới nhất) trong thư mục /var/www/.Tải xuống phiên bản Rocket.Chat mới nhất và giải nén:
Mã:
curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
tar -xzvf rocket.chat.tgz
Mã:
mkdir -p /var/www/
mv bundle Rocket.Chat
mv Rocket.Chat /var/www/
Mã:
cd /var/www/Rocket.Chat/
cd programs/server/
npm install
cd ../../
export ROOT_URL=http://192.168.1.110:3000/
export MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
export PORT=3000
node main.js
Rocket.Chat đã được cài đặt, hãy mở trình duyệt web của bạn và truy cập địa chỉ IP của máy chủ trên cổng 3000. - 192.168.1.110:3000.
Bước 6 - Cài đặt và cấu hình Nginx như Proxy ngược cho Rocket.Chat Trong hướng dẫn này, chúng ta sẽ chạy Rocket.Chat đằng sau máy chủ web Nginx trên kết nối https để thiết lập an toàn và nhanh chóng.
Cài đặt Nginx bằng lệnh apt:
Mã:
apt-get install nginx
Mã:
mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/
Mã:
openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocket-chat.crt -keyout /etc/nginx/ssl/rocket-chat.key
chmod 400 rocket-chat.key
Mã:
cd /etc/nginx/sites-available/
vim rocket-chat
Mã:
# Upstreams
upstream backend {
server 127.0.0.1:3000;
}
# Tùy chọn chuyển hướng
server {
listen 80;
server_name rocket-chat.co;
# thực thi https
return 301 https://$server_name$request_uri;
}
# Máy chủ HTTPS
server {
listen 443;
server_name rocket-chat.co;
error_log /var/log/nginx/rocketchat.access.log;
ssl on;
ssl_certificate /etc/nginx/ssl/rocket-chat.crt;
khóa_chứng_nhận_ssl /etc/nginx/ssl/rocket-chat.key;
giao_thức_ssl TLSv1 TLSv1.1 TLSv1.2; # không sử dụng tham chiếu SSLv3: POODLE
location / {
proxy_pass http://192.168.1.110:3000/;
proxy_http_version 1.1;
proxy_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối "nâng cấp";
proxy_set_header Máy chủ $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
Tôi sẽ chạy Rocket.Chat với tên miền mới 'rocket-chat.co'. Vui lòng sử dụng tên miền của riêng bạn và thay thế nó trong các tệp cấu hình bất cứ nơi nào nó xuất hiện.
Kích hoạt máy chủ ảo Rocket.Chat và kiểm tra tệp cấu hình:
Mã:
ln -s /etc/nginx/sites-available/rocket-chat /etc/nginx/sites-enabled/rocket-chat
nginx -t
Khởi động lại máy chủ web Nginx:
Mã:
systemctl restart nginx
Bước 7 - Kiểm tra Rocket.Chat
Nginx đã được cấu hình làm proxy ngược cho máy chủ Rocket.Chat và chúng ta cần cập nhật các biến môi trường để chạy Rocket.Chat ngay bây giờ.Chạy Rocket.Chat với các biến mới bên dưới:
Mã:
cd /var/www/Rocket.Chat/
export ROOT_URL=https://rocket-chat.co
export MONGO_URL=mongodb://nyanko-sensei:27017/rocketchat?replicaSet=rs0
export PORT=3000
node main.js
Trong trình duyệt web của bạn, hãy mở URL: rocket-chat.co (hoặc tên miền tùy chỉnh của bạn) - bạn sẽ được chuyển hướng đến kết nối https.
Tạo tài khoản quản trị đầu tiên của bạn bằng cách nhấp vào liên kết 'Đăng ký tài khoản mới'.
Nhập tên, email và mật khẩu của bạn, sau đó nhấp vào 'ĐĂNG KÝ TÀI KHOẢN MỚI'.
Xác nhận sử dụng 'SITE-URL' mới với tên miền. Nhấp vào 'Có'.
Đăng ký tên người dùng, nhấp vào 'SỬ DỤNG TÊN NGƯỜI DÙNG NÀY'.
Người dùng quản trị đã được tạo và đây là Bảng điều khiển Rocket.Chat. Bạn có thể bắt đầu trò chuyện và tạo kênh riêng cho nhóm của mình.
Rocket.Chat đã được cài đặt với máy chủ web Nginx trên ubuntu 16.04.
Kết quả sau khi chúng tôi sử dụng các biến môi trường mới: