Rocket.Chat是一款开源的聊天软件。多client支持: Android,IOS,Windows,Mac,Linux,Web。安装部署简单、方档丰富、易扩展、功能强大。支持群组聊天、私聊群、私聊、桌面通知、媒体嵌入、链接预览、文件上传、语音/视频聊天、截图等等; 还支持实时翻译,实现用户之间的自动实时消息转换。项目开源地址https://github.com/RocketChat,项目官方站点https://rocket.chat。
Rocket.Chat官方文档很丰富。本次我们使用比格云的Centos 7.6系统来作为服务器来安装Rocket.Chat。
其它操作系统安装教程. https://rocket.chat/docs/
依赖环境:
Rocket.Chat版本 2.4.8
操作系统: CentOs 7.6 x86_64
数据库: Mongodb 4.0.9
NodeJs: 8.17.0
1.准备Centos7.6服务器。需要外网IP,并在安全组中开放3000端口,并连接到服务器。
2.添加mongodb yum 源仓库。
$ cat << EOF | sudo tee -a /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
3. 添加nodejs仓库。
$ sudo yum install -y curl && sudo curl -sL https://rpm.nodesource.com/setup_12.x | sudo bash -
4.安装mongodb, nodejs, graphicsmagick
$ sudo yum install -y gcc-c++ make mongodb-org nodejs
$ sudo yum install -y epel-release && sudo yum install -y GraphicsMagick
5. 下载Rocket.Chat源码,并查看nodejs版本要求。
$ sudo curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
$ tar -xzf /tmp/rocket.chat.tgz -C /tmp
查看README文件
$ cat /tmp/bundle/README
This is a Meteor application bundle. It has only one external dependency:
Node.js v8.17.0. To run the application:
$ (cd programs/server && npm install)
$ export MONGO_URL='mongodb://user:password@host:port/databasename'
$ export ROOT_URL='http://example.com'
$ export MAIL_URL='smtp://user:password@mailhost:port/'
$ node main.js
Use the PORT environment variable to set the port where the
application will listen. The default is 80, but that will require
root on most systems.
Find out more about Meteor at meteor.com.
从文件中我们可以看出当前最新版要求的nodejs版本为v8.17.0。
6.使用npm安装inherits和n,并用n安装Rocket.Chat要求的node版本。
从上文中可以看出推荐使用Rocket.Chat的Node.js版本是8.17.0。使用n我们将安装该版本
$ sudo npm install -g inherits n && sudo n 8.17.0
7. 安装Rocket.Chat
$ cd /tmp/bundle/programs/server && sudo npm install
$ sudo mv /tmp/bundle /opt/Rocket.Chat
8. 配置Rocket.Chat服务
8.1 创建用户
$ sudo useradd -M rocketchat && sudo usermod -L rocketchat
8.2 修改文件夹所属用户
$ sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
8.3 添加Rocket.Chat服务。
$ cat << EOF |sudo tee -a /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=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000
[Install]
WantedBy=multi-user.target
EOF
说明: 主要涉及的环境变量修改:MONGO_URL, MONGO_OPLOG_URL, ROOT_URL, PORT
可以将3000替换为您选择的端口。
如果您选择使用端口80,则需要以root身份运行Rocket.Chat。
9. 配置mongodb
$ sudo sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf
$ sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
9.1 设置mongod开机启动。并启动mongod。
$ sudo systemctl enable mongod && sudo systemctl start mongod
$ mongo --eval "printjson(rs.initiate())"
10. 设置rocketchat开机启动,并启动rocketchat。
$ sudo systemctl enable rocketchat && sudo systemctl start rocketchat
10.1 查看rocketchat服务
$ sudo systemctl status rocketchat
如下,说明服务启动正常
注意: rocketchat启动比较慢,所以需要启动服务完成后,隔一段时间再查看。
至此,可通过服务器IP加端口(例:114.118.22.204:3000)进行访问。末完成安装向导,会自动跳转到如下安装向导页然后进行一步一步向导配置。
1. 管理员信息
2. 组织信息
3.服务器信息
4.注册服务器:
配置完成后,即可入进入general聊天频道。(这是一个默认的聊天频道,任何新用户都会自动加入这个频道)
客户端接入:
各平台客户端下载地址https://rocket.chat/install 本文只介络Android和网页版的接入方式。
网页版: http://114.118.22.204:3000
Android客户端: 可以通过Google Play或 github上的apk自行安装 https://github.com/RocketChat/Rocket.Chat.Android/releases
IOS客户端: Apple Store
Mac和Windows版: https://rocket.chat/install
网页版打开http://114.118.22.204:3000/ 后,会进入如下登陆注册页。
注册账号:点击注册一个新账号”然后输入信息进入注册
注册成功后,可以看到tomy自动加入general频道,并进入聊天室界面。如下图所示
Android客户端使用
https://github.com/RocketChat/Rocket.Chat.Android/releases/download/v3.5.1-2077/app-foss-release.apk
1.下载安装app。
2.配置服务器。 点击“连接到服务器”,进行服务器配置。如下图所示
3.注册或登陆账号。服务器连接成功后,即可以登陆账号或注册账号了。
聊天室界面
群聊:
私聊: