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

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

主要功能:羣組聊天,直接通訊,私聊羣,桌面通知,媒體嵌入,連接預覽,文件上傳,語音/視頻 聊天,截圖等等。linux

Rocket.Chat 原生支持 Windows,Mac OS X ,Linux,iOS 和 Android 平臺。Rocket.Chat 經過 hubot 集成了很是流行的服務,好比 GitHub,GitLab,Confluence,JIRA 等等。nginx

高級的特性包括:OTR 消息,XMPP 多用戶聊天,Kerberos 認證,p2p 文件分享等等。c++

如下教程是在 CentOS Linux release 7.2.1511 (Core) 下安裝 Rocket.Chat,能夠經過官方教程安裝在這裏:Deploying Rocket.Chat on Centos 7git

主要依賴三個工具 NginxCentOS 7Mongodbgithub

安裝依賴步驟

添加epel存儲庫並更新全部內容。mongodb

yum -y install epel-release && yum -y update
複製代碼

通常狀況下,新系統自帶curl工具,沒有的話你須要安裝,後面會用到,以下:數據庫

yum install -y curl
複製代碼

安裝 node.jsnpmnpm

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

安裝meteorcentos

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
複製代碼
相關文章
相關標籤/搜索