Cài đặt Rocket.chat – Phần mềm chat cho doanh nghiệp. Slack của riêng công ty bạn.

9
7750

Slack là một cái tên khá nổi tiếng trong số các giải pháp chat nội bộ cho doanh nghiệp. Nó thực sự là một cuộc cách mạng trong giao tiếp nội bộ. Tuy nhiên, Slack tính phí và bản miễn phí của nó khá hạn chế với việc không thể lưu trữ nhắn cũ của bạn và bộ nhớ chia sẻ file chỉ có 5GB.

Công ty mình đã từ bỏ Slack vì lý do trên và tìm kiếm một giải pháp tương đương nhưng tự chủ hơn về mọi mặt. Và mình đã đến với Rocket.chat sau khi so sánh với Zulip và Mastermost.

Ưu điểm của Rocket.chat là hoàn toàn miễn phí, được viết bằng nodejs và sử dụng mongodb làm cơ sở dữ liệu.

Demo: https://demo.rocket.chat/

Đầu tiên, bạn cần một máy chủ Centos 7 trở lên.

Cài đặt repo epel-release

$yum -y install epel-release nano && yum -y update

Tạo repo để cài đặt Mongodb:

$nano /etc/yum.repos.d/mongodb.repo

Nội dung file:

[mongodb]
  name=MongoDB Repository
  baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
  gpgcheck=0
  enabled=1

 

Cài đặt các công cụ cần thiết:

$yum install -y nodejs curl GraphicsMagick npm mongodb-org-server mongodb-org gcc-c++

Tiếp tục cài đặt một số gói phụ thuộc của nodejs:

$npm install -g inherits n

Tải bản cài đặt mới nhất của Rocket.chat về:

$curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz

Giải nén, đặt lại tên thư mục (bundle >> Rocket.chat), sau đó cd vào thư mục Rocket.chat/programs/server

$tar zxvf rocket.chat.tgz
$mv bundle Rocket.Chat
$cd Rocket.Chat/programs/server

Chạy lệnh npm install:

$npm install
$cd ../..

Cài đặt PORT, ROOT_URL (đường dẫn chính), và MONGODB:

$export PORT=3000
$export ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000/
$export MONGO_URL=mongodb://localhost:27017/rocketchat

Cho phép mongodb khởi động cùng hệ thống, và start nó lên:

$chkconfig mongod on
$systemctl start mongod

Bây giờ bạn có thể chạy Rocket.chat ngay bằng câu lệnh:

$node mainjs

Tuy nhiên để cho đơn giản trong quản lý thì bạn nên tạo Service Rocket.chat

$nano /etc/systemd/system/RocketChat.service

Nội dung (lưu ý các mục bạn phải thay đổi cho đúng)

[Unit]
Description=Rocket.Chat  
After=network.target

[Service]
Type=simple  
WorkingDirectory=/opt/Rocket.Chat  ## đây là thư mục bạn đã vứt code của Rocket.chat vào sau khi download
User=rocket  
Group=rocket  
ExecStart=/usr/local/bin/node main.js  
Restart=always  
SyslogIdentifier=Rocket.Chat  
Environment="ROOT_URL=http://<IP server> :3000"  
Environment="PORT=3000"  
Environment="MONGO_URL=mongodb://localhost:27017/rocketchat" 

[Install]
WantedBy=multi-user.target

Sau cùng bạn chạy các lệnh sau:

$systemctl daemon-reload
$systemctl start RocketChat.service
$systemctl enable RocketChat.service

Bây giờ bạn đã có thể truy cập Rocket.chat tại link bạn đã export bên trên, port 3000

VD: http://10.0.25.234:3000

Cấu hình luôn nó vào nginx để cho có url đẹp:

location / {
        proxy_pass http://<IP server chat>:3000/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $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;
    }

 

9 COMMENTS

LEAVE A REPLY

Please enter your comment!
Please enter your name here