現在團隊溝通協作工具越來越多了,如Slack、JANDI 、Microsoft Teams…等用於工作溝通上的軟體,不同軟體各有不同的特色,而這些服務往往都以人數或者使用空間進行收費,假如你不想要花這筆費用的話,本篇介紹一個可以自行架設的替代方案Rocket.Chat,目前 Rocket.Chat 是 Open Source,且支援多國語言及LiveChat等特別的功能。
官方網站:https://rocket.chat/
原始碼:https://github.com/RocketChat/Rocket.Chat
電腦客戶端下載:https://rocket.chat/install
測試環境:ubuntu 18.04
Rocket.Chat Commit Hash : 202a465f1c
首先,因為Rocket.Chat 是用Node JS寫的並且儲存空間是使用MongoDB
所以要先安裝 MongoDB,輸入指令加入mongoDB的sources:
sudo apt-get install -y build-essential mongodb-org nodejs npm graphicsmagick
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
接著輸入指令更新apt-get 並且安裝NodeJS與mongo-db
sudo apt-get update && sudo apt-get install -y curl && curl -sL curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt-get install -y build-essential mongodb-org nodejs graphicsmagick
因為ubuntu 18.04的nodejs 版本只有6.4.1可是Rocket.chat需要8.11.3以上版本,輸入以下指令升級NodeJS
sudo npm install -g inherits n && sudo n 8.11.3
然後就是開始下載安裝Rocket.chat
curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp
用npm安裝所需要的套件,並且把它移到 /opt/Rocket.Chat
cd /tmp/bundle/programs/server && npm install
sudo mv /tmp/bundle /opt/Rocket.Chat
接著要修改增加權限給rocket.chat
sudo useradd -M rocketchat && sudo usermod -L rocketchat
sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
此時就能夠手動開啟服務試試看,先啟動mongo db服務
sudo systemctl enable mongod && sudo systemctl start mongod
並且設定環境變數 (以下的設定表示預設會將網頁開在3000 port,並且mongodb位置在localhost的27017 port)
export PORT=3000 export ROOT_URL=http://0.0.0.0:3000/ export MONGO_URL=mongodb://localhost:27017/rocketchat
手動啟動Rocket.Chat
cd /opt/Rocket.Chat node main.js
當出現類似以下訊息時表示啟動完成
➔ System ➔ startup ➔ +---------------------------------------------+ ➔ | SERVER RUNNING | ➔ +---------------------------------------------+ ➔ | | ➔ | Rocket.Chat Version: 0.74.3 | ➔ | NodeJS Version: 8.11.3 - x64 | ➔ | Platform: linux | ➔ | Process Port: 3000 | ➔ | Site URL: http://0.0.0.0:3000/ | ➔ | ReplicaSet OpLog: Disabled | ➔ | Commit Hash: 202a465f1c | ➔ | Commit Branch: HEAD | ➔ | | ➔ +---------------------------------------------+
這時候用瀏覽器開啟設定的ROOT_URL就能夠成功看到成功如下面的畫面
可是每次開機都要手動啟動實在是很不方便
所以接著教如何設定service讓開機能自動啟動
首先在 /lib/systemd/system/rocketchat.service 創一個檔案,並且內容如下(MONGO_URL, ROOT_URL, PORT可依照自己情況調整):
[Unit] Description=The Rocket.Chat server After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target [Service] ExecStartPre=/bin/sleep 10 ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocketchat Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://0.0.0.0:3000/ PORT=3000 [Install] WantedBy=multi-user.target
然後啟動rocketchat 服務
sudo systemctl daemon-reload sudo systemctl start rocketchat
需要稍微等待一點時間,可以透過以下指令查看目前啟動狀況
sudo systemctl status rocketchat
如果啟動沒有問題就輸入以下指令使這個服務可以在開機會自動啟動
sudo systemctl enable rocketchat
接著就可以開始設定管理員帳號
接著就可以開始使用了