开源团队聊天工具——RocketChat的介绍及部署
一、RocketChat简介
Rocket.Chat是特性最丰富的 Slack 开源替代品之一。
主要功能:群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频 聊天,截图等等,还支持实时翻译,实现用户之间的自动实时消息转换。
使用RocketChat可以完全控制交流通信。
二、搭建RocketChat
1、首先,需要准备Centos7服务器。需要外网IP,并在安全组中开放3000端口,并连接到服务器。
2、配置必要的依赖
2.1.1、该平台只使用一个第三方组件,就是mongodb
echo -e "[mongodb-org-3.6]\nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.6/x86_64/\ngpgcheck=1\nenabled=1\ngpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc" | sudo tee /etc/yum.repos.d/mongodb-org-3.6.repo
2.1.2、配置nodejs源
sudo yum install -y curl && curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
2.1.3、安装编译工具,MongoDB,nodejs和graphicsmagick
sudo yum install -y gcc-c++ make mongodb-org nodejs
sudo yum install -y epel-release && sudo yum install -y GraphicsMagick
2.1.4、使用npm 安装inherits,n和Rocket.Chat要求的node版本
sudo npm install -g inherits n && sudo n 8.11.3
2.2、安装Rocket.Chat
2.2.1、下载最新的版本
curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp
2.2.2、安装
cd /tmp/bundle/programs/server && npm install
sudo mv /tmp/bundle /opt/Rocket.Chat
2.3、配置Rocket.Chat服务
2.3.1、添加rocketchat用户,设置Rocket.Chat访问权限,并创建Rocket.Chat的服务文件
sudo useradd -M rocketchat && sudo usermod -L rocketchat
sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
echo -e "[Unit]\nDescription=The Rocket.Chat server\nAfter=network.target remote-fs.target nss-lookup.target nginx.target mongod.target\n[Service]\nExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js\nStandardOutput=syslog\nStandardError=syslog\nSyslogIdentifier=rocketchat\nUser=rocketchat\nEnvironment=LD_PRELOAD=/opt/Rocket.Chat/programs/server/npm/node_modules/sharp/vendor/lib/libz.so NODE_ENV=production MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://localhost:3000/ PORT=3000\n[Install]\nWantedBy=multi-user.target" | sudo tee /usr/lib/systemd/system/rocketchat.service
2.3.2、打开上述Rocket.Chat的服务文件,如果mongodb和主程序分开部署需更改如下配置中的MONGO_URL 和 PORT
MONGO_URL=mongodb://localhost:27017/rocketchat
2.3.3、开启MongoDB和Rocket.Chat开机自启并启动服务
sudo systemctl enable mongod && sudo systemctl start mongod
sudo systemctl enable rocketchat && sudo systemctl start rocketchat
至此,可通过服务器IP加端口进行访问,并进行管理员的相关配置
2.4、可选配置
2.4.1 、如果使用防火墙并不使用代理,需要放行服务端口3000
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo systemctl reload firewalld
2.5、配置使用https访问服务
安装nginx服务,添加如下配置,需要替换域名和证书,然后启动服务
cat >> /etc/nginx/conf.d/chat.glinux.top.conf << "EOF"
server {listen 443;server_name chat.glinux.top;charset utf-8;ssl on;ssl_certificate /etc/nginx/conf.d/glinux.pem;ssl_certificate_key /etc/nginx/conf.d/glinux.key;ssl_session_timeout 5m;ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.2;ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;ssl_prefer_server_ciphers on;client_max_body_size 10m;access_log /var/log/nginx/chat.glinux.top-access.log;error_log /var/log/nginx/chat.glinux.top-error.log;location ~ ^/.* {proxy_pass http://127.0.0.1:3000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header X-Forward-Proto http;proxy_set_header X-Nginx-Proxy true;proxy_http_version 1.1;proxy_redirect off;}
}
EOF
客户端说明
各平台下载位置
1、苹果版:Apple Store
2、安卓版:Google Play
3、Web版:https://chat.glinux.top
4、Mac和Windows版:https://rocket.chat/install
注意:
1、RocketChat服务启动比较慢,端口监听状态需等一会才会出现,请耐心等待
2、APP端注册用户时,会很缓慢,大约需要一分钟左右的时间,大概是服务器需要在mongodb中创建相关内容,请耐心等待
3、APP连接服务器时,如果服务器地址是非SSL,则会提示不安全,跳过即可,建议去阿里云申请一个免费证书,配合域名使用,方便易用
开源团队聊天工具——RocketChat的介绍及部署相关推荐
- 阿里云开源离线同步工具DataX3.0介绍
转载自:https://developer.aliyun.com/article/59373 一. DataX3.0概览 DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(My ...
- 阿里巴巴开源离线同步工具 DataX3.0 介绍
一. DataX3.0概览 DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳定 ...
- 5个人审查5开源视频聊天工具
像世界上大多数其他国家一样,卡在室内的是一群Opensource.com编辑和通讯员- 塞斯·肯隆 ( Seth Kenlon) , 马特 ·布罗伯格 ( Matt Broberg) , 艾伦·福迪· ...
- otrs软件_开源ITIL管理工具OTRS简单介绍
OTRS的名字是由Open-source Ticket Request System首字母縮略字而来,是一个开源的缺陷跟踪管理系统软件.OTRS将电话,邮件等各种渠道提交进来的服务请求归类为不同的队列 ...
- python scikit learn 关闭开源_Python机器学习工具:Scikit-Learn介绍与实践
Scikit-learn 简介 官方的解释很简单: Machine Learning in Python, 用python来玩机器学习. 什么是机器学习 机器学习关注的是: 计算机程序如何随着经验积累 ...
- 微软将开源查询处理工具Trill,怎么下载部署?
微软今日宣布开源其内部数据查询工具Trill,是一个处理临时和串流数据的单节点查询处理器,可至相关GitHub开源页面下载并查看部署方法.该项目原为微软研究院内部研发的Trill,后来被微软内部大规模 ...
- 【Java】TCP Socket编程案例——文件传输聊天工具
TCP(传输控制协议)是面向连接的可靠数据传输协议.TCP连接一旦建立起来,一直占用,直到关闭连接.另外,TCP为了保证数据的正确性,会重发一切没有收到的数据,还会对数据内容进行验证,并保证数据传输的 ...
- slack 开源系统_Slack团队聊天的5种开源替代品
slack 开源系统 在任何协作环境中,拥有良好的沟通工具都是很重要的. 哪种工具最适合您,取决于您的情况,但可能包括以下内容:用于电子邮件通信的邮件列表,用于版本控制的 Git或Subversion ...
- OpenCV开发团队开源计算机视觉标注工具CVAT
OpenCV开发团队开源计算机视觉标注工具Computer Vision Annotation Tool (CVAT) 同时支持图像和视频的标注,最大特点是专业!专业团队做的专业水准的工具! (关注& ...
最新文章
- linux vim怎么回退,[Linux] Vim 撤销 回退 操作
- Windows Phone 7 Tip (13) -- 如何搜集应用使用数据
- Bitbucket Pipelines在Atlassian的Bitbucket云上提供持续交付功能
- Function One
- 无线网卡的Master,Managed,ad-hoc,monitor等模式
- urllib2.urlopen超时问题
- python http协议获取对方的ip地址_http协议(一)基础知识
- php monolith,单体架构(Monolith)与微服务架构(MicroService)
- 北京环球度假区:尚未发布票务信息,未面向公众销售任何门票
- UI设计师必收藏的上百种配色方案专辑!
- centos用ifconfig不显示ip地址的解决方法
- Java实验14 计算多个二维图形的面积之和
- 2100 年的世界会怎样?特拉华教授用机器学习开启“上帝之眼”
- 用C语言循环码,xinxilunyubianma
- CENTOS上的时间/时区设定
- 51单片机和LCD1602实现简单的密码锁
- elementUI 页面布局
- 古老而神秘的龙泉寺,缘何成为互联网圈里的圣地
- 小米、字节跳动、滴滴、英特尔、耐克、捷豹路虎等公司高管变动
- python中excel数据分组处理