开源聊天平台 RocketChat 部署

家资是何物,积帙列梁梠。这篇文章主要讲述开源聊天平台 RocketChat 部署相关的知识,希望能为你提供帮助。
一、软件简介

  • RocketChat 是一款开源的聊天软件平台。其主要功能是:群组聊天、相互通信、私密聊群、桌面通知、文件上传、语音/视频、截图等,实现了用户之间的实时消息转换。
  • RocketChat 原生支持多种平台 --- ios 、android 、Web、Mac 、Windows 、Linux ,安装部署简单,简单易用,特别适合中小型公司自建内部的聊天平台。
  • RocketChat 通过 huhot 集成了如 Github 、Gitlab、Confluence 、Jira 等平台。
二、RocketChat 的安装 1、安装说明
  • 部署 RocketChat 聊天平台,涉及三个部分: Mongodb 、Node 、RocketChat。
  • 默认情况下,RocketChat 是使用 Mongodb 副本集集群的方式和 Mongodb 进行关联的。
  • 特别要主要 Gcc 与 Nodejs , Node 与 RocketChat、Npm 与 RocketChat 之间的版本适配的关系,版本不适配会直接影响安装。
2、安装前准备工作
1、关闭SELINUX、防火墙 [root@localhost ~]# setenforce 0 [root@localhost ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config [root@localhost ~]# systemctl stop firewalld & & systemctl disable firewalld2、配置时间同步 [root@localhost ~]# yum -y install ntp [root@localhost ~]# \\cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime [root@localhost ~]# ntpdate cn.pool.ntp.org [root@localhost ~]# systemctl start ntpdate & & systemctl enable ntpdate [root@localhost ~]# date3、安装依赖库和相关包 [root@localhost ~]# yum -y install epel-release net-tools curl vim gcc gcc-c++ GraphicsMagick [root@localhost ~]# yum -y install gcc gcc-c++ GraphicsMagick

3、安装Mongodb
1、编辑 repo 仓库文件 [root@localhost ~]# vim /etc/yum.repos.d/mongo.repo [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/ gpgcheck=0 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc[root@localhost ~]# yum repolist | grep mongodb mongodb-org-4.2MongoDB Repository1242、进行安装 [root@localhost ~]# yum -y install mongodb-org[root@localhost ~]# whereis mongod mongod: /usr/bin/mongod /etc/mongod.conf /usr/share/man/man1/mongod.1.gz [root@localhost ~]# sed -i "s/127.0.0.1/0.0.0.0/" /etc/mongod.conf [root@localhost ~]# systemctl start mongod [root@localhost ~]# netstat -lntp | grep 27017 tcp00 0.0.0.0:270170.0.0.0:*LISTEN12023/mongod

4、安装 Nodejs
1、版本适配说明: 1) Gcc 与 Nodejs ( Centos7.X 默认的 Gcc 版本是 4.8.5 ) Nodejs14 、Nodejs12 需要要求gcc 的版本在 6.3.0 以上(含) Nodejs10 需要 gcc 版本要求在 5.4.0 以上(含) Nodejs8需要 gcc 版本要求在 4.9.4 以上(含)Gcc 版本不匹配,编译胡报错如下: [root@hadoop03 node-v14.18.2]# ./configure Node.js configure: Found python 2.7.5... WARNING: C++ compiler (CXX=g++, 4.8.5) too old, need g++ 6.3.0 or clang++ 8.0.0 WARNING: warnings were emitted in the configure phase2)Nodejs 与 RocketChat 、Npm 与 RocketChat RocketChat 4.4.0 版本(含)以上要求 Node 版本在 14.18.2 以上(含)、Npm 版本在 6.14.15(含)2、Nodejs 安装说明 1)Nodejs 方案方式有很多,哪种都可以,只要满足上面收到的最低版本要求 2)本次是采取编译安装的方式,安装时间比较长,但是后面没有出过任何错误 3)参考网上的配置 Nodejs YUM源的方式,在使用npm 安装inherits,n 和RocketChat对Node 的要求的那一步,测试了几次都是各种报错,后面就干脆放弃了那种方式,直接编译安装Nodejs了。后面有时间再试几次看看。3、升级 Gcc [root@localhost ~]# yum install -y centos-release-scl [root@localhost ~]# yum install devtoolset-10-gcc*[root@localhost ~]# mv /usr/bin/gcc /usr/bin/gcc-4.8.5 [root@localhost ~]# ln -s /opt/rh/devtoolset-10/root/bin/gcc /usr/bin/gcc [root@localhost ~]# mv /usr/bin/g++ /usr/bin/g++-4.8.5 [root@localhost ~]# ln -s /opt/rh/devtoolset-10/root/bin/g++ /usr/bin/g++[root@localhost ~]# gcc --version gcc (GCC) 10.2.1 20210130 (Red Hat 10.2.1-11)4、安装 Nodejs [root@localhost ~]# wget https://npm.taobao.org/mirrors/node/latest-v14.x/node-v14.18.2.tar.gz --no-check-certificate [root@localhost ~]# tar -zxvf node-v14.18.2.tar.gz [root@localhost ~]# cd node-v14.18.2[root@localhost ~]# ./configure [root@localhost ~]# make [root@localhost ~]# make install[root@localhost ~]# npm -v 6.14.15 [root@localhost ~]# node -v v14.18.2[root@localhost ~]# npm install -g inherits n & & sudo n 14.18.2

5、安装 RocketChat
1、解压安装 RocketChat 包 [root@localhost ~]# wget https://cdn-download.rocket.chat/build/rocket.chat-4.4.0.tgz /tmp/rocket.chat.tgz --no-check-certificate # 也可以最新版 curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz[root@localhost ~]# tar -xzf rocket.chat.tgz -C /tmp [root@localhost ~]# cd /tmp/bundle/programs/server [root@localhost ~]# npm install2、设置相关权限 [root@localhost ~]# mv /tmp/bundle /opt/Rocket.Chat [root@localhost ~]# useradd -M rocketchat [root@localhost ~]# usermod -L rocketchat [root@localhost ~]# chown -R rocketchat /opt/Rocket.Chat4、配置为 Systemd 的管理方式 [root@localhost ~]# vim /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=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

三、编辑 Mongodb 配置文件
[root@localhost ~]# systemctl stop mongod [root@localhost ~]# sed -i "s/^#replication:/replication:\\nreplSetName: rs01/" /etc/mongod.conf[root@localhost ~]# systemctl restart mongod [root@localhost ~]# mongo --eval "printjson(rs.initiate())"

四、重启服务加装配置文件
[root@localhost ~]# systemctl daemon-reload [root@localhost ~]# systemctl restart mongod [root@localhost ~]# systemctl restart rocketchat[root@localhost ~]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local AddressForeign AddressStatePID/Program name tcp00 0.0.0.0:30000.0.0.0:*LISTEN4512/node tcp00 0.0.0.0:270170.0.0.0:*LISTEN4430/mongod tcp00 0.0.0.0:220.0.0.0:*LISTEN21960/sshd tcp600 :::22:::*LISTEN21960/sshd

五、浏览器登录测试【开源聊天平台 RocketChat 部署】
开源聊天平台 RocketChat 部署

文章图片


    推荐阅读