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 7。git
主要依賴三個工具 Nginx
、CentOS 7
、Mongodb
github
添加epel存儲庫並更新全部內容。mongodb
yum -y install epel-release && yum -y update
複製代碼
通常狀況下,新系統自帶curl
工具,沒有的話你須要安裝,後面會用到,以下:數據庫
yum install -y curl
複製代碼
安裝 node.js
和 npm
npm
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
,先添加 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
複製代碼
安裝的時候記得前面加上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
複製代碼