部署企業內部聊天工具Rocket.Chat開源IM系統

小弟調調™發表於2017-12-03

Rocket.Chat 是特性最豐富的 Slack 開源替代品之一。

主要功能:群組聊天,直接通訊,私聊群,桌面通知,媒體嵌入,連結預覽,檔案上傳,語音/視訊 聊天,截圖等等。

Rocket.Chat 原生支援 Windows,Mac OS X ,Linux,iOS 和 Android 平臺。Rocket.Chat 通過 hubot 整合了非常流行的服務,比如 GitHub,GitLab,Confluence,JIRA 等等。

高階的特性包括:OTR 訊息,XMPP 多使用者聊天,Kerberos 認證,p2p 檔案分享等等。

部署企業內部聊天工具Rocket.Chat開源IM系統

以下教程是在 CentOS Linux release 7.2.1511 (Core) 下安裝 Rocket.Chat,可以通過官方教程安裝在這裡:Deploying Rocket.Chat on Centos 7

主要依賴三個工具 NginxCentOS 7Mongodb

安裝依賴步驟

新增epel儲存庫並更新所有內容。

yum -y install epel-release && yum -y update
複製程式碼

一般情況下,新系統自帶curl工具,沒有的話你需要安裝,後面會用到,如下:

yum install -y curl
複製程式碼

安裝 node.jsnpm

yum install -y nodejs npm
# node版本很重要需要安裝`n`來切換版本
npm install -g inherits n
# 切換node版本, 很重要
n 4.8.4
複製程式碼

安裝meteor

curl https://install.meteor.com | sh
複製程式碼

安裝Mongodb資料庫

安裝使用Mongodb,先新增 yum repo

vi /etc/yum.repos.d/mongodb.repo
複製程式碼

複製下面內容,儲存並退出:wq

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

安裝圖形庫以及Mongodb資料庫

yum install -y GraphicsMagick mongodb-org-server mongodb-org gcc-c++
複製程式碼

提前配置資料庫

# 啟動MongoDB
service mongod start

# 連線MongoDB
mongo
> use rocketchat # 新增資料庫
> exit
## 重啟資料庫
service mongod restart
複製程式碼

安裝Rocket.Chat

安裝的時候記得前面加上sudo

cd /opt
curl -L https://download.rocket.chat/stable -o rocket.chat.tgz
# 解壓 rocket.chat.tgz
tar zxvf rocket.chat.tgz
mv bundle Rocket.Chat
cd Rocket.Chat/programs/server
# ========sudo很重要===========
sudo npm install # 記得前面加上sudo
cd ../..
複製程式碼

直接在命令列中執行下面命令,配置 PORT, ROOT_URLMONGO_URL:

export PORT=3000
export ROOT_URL=http://127.0.0.1:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat
複製程式碼

將3000替換為您選擇的埠,一般情況預設就好。 如果您選擇使用埠80,則需要以root身份執行Rocket.Chat。 如果您沒有配置DNS,請使用您的IP代替主機名。 您可以稍後在管理員選單中進行更改。

啟動服務

首先讓Mongodb使用以下命令啟動主機:

chkconfig mongod on
複製程式碼

現在我們需要啟動mongo:

systemctl start mongod
# CentOS 6.X
/etc/init.d/mongod start
複製程式碼

嘗試安裝

現在讓我們做一個快速測試,看看是否一切正常,然後再繼續:

node main.js
複製程式碼
meteor npm install --save bcrypt
複製程式碼

使用上面的連線地址 http://127.0.0.1:3000/在瀏覽器中開啟,點選註冊新賬號,輸入管理員姓名電子郵件兩次密碼,如下:

姓名:admin
電子郵件:admin@admin.com
密碼:test1234
複製程式碼

點選提交,系統會提示你選擇一個使用者,直接選擇管理員,點選使用此使用者名稱繼續。

Error: MONGO_URL must be set in environment
複製程式碼

node-v46-linux-x64不存在錯誤 直接更改資料夾名字就解決了。

cd /opt/Rocket.Chat/programs/server/npm/node_modules/meteor/rocketchat_google-vision/node_modules/grpc/src/node/extension_binary/
mv node-v48-linux-x64 node-v46-linux-x64/
複製程式碼

開機啟動

vi /usr/lib/systemd/system/rocketchat.service
複製程式碼

將下面內容複製到上面檔案中。

[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=root
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000/ PORT=3000
[Install]
WantedBy=multi-user.target
複製程式碼

現在可以執行以下命令來啟用此服務:

systemctl enable rocketchat.service
複製程式碼

最後通過執行來啟動它,你就不需要:

systemctl start rocketchat.service
複製程式碼

相關文章