Rocket.Chat 是特性最豐富的 Slack 開源替代品之一。
主要功能:群組聊天,直接通訊,私聊群,桌面通知,媒體嵌入,連結預覽,檔案上傳,語音/視訊 聊天,截圖等等。
Rocket.Chat 原生支援 Windows,Mac OS X ,Linux,iOS 和 Android 平臺。Rocket.Chat 通過 hubot 整合了非常流行的服務,比如 GitHub,GitLab,Confluence,JIRA 等等。
高階的特性包括:OTR 訊息,XMPP 多使用者聊天,Kerberos 認證,p2p 檔案分享等等。
以下教程是在 CentOS Linux release 7.2.1511 (Core)
下安裝 Rocket.Chat
,可以通過官方教程安裝在這裡:Deploying Rocket.Chat on Centos 7。
主要依賴三個工具 Nginx
、CentOS 7
、Mongodb
安裝依賴步驟
新增epel儲存庫並更新所有內容。
yum -y install epel-release && yum -y update
複製程式碼
一般情況下,新系統自帶curl
工具,沒有的話你需要安裝,後面會用到,如下:
yum install -y curl
複製程式碼
安裝 node.js
和 npm
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_URL
和 MONGO_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
複製程式碼