家资是何物,积帙列梁梠。这篇文章主要讲述开源聊天平台 RocketChat 部署相关的知识,希望能为你提供帮助。
一、软件简介
- RocketChat 是一款开源的聊天软件平台。其主要功能是:群组聊天、相互通信、私密聊群、桌面通知、文件上传、语音/视频、截图等,实现了用户之间的实时消息转换。
- RocketChat 原生支持多种平台 --- ios 、android 、Web、Mac 、Windows 、Linux ,安装部署简单,简单易用,特别适合中小型公司自建内部的聊天平台。
- RocketChat 通过 huhot 集成了如 Github 、Gitlab、Confluence 、Jira 等平台。
- 部署 RocketChat 聊天平台,涉及三个部分: Mongodb 、Node 、RocketChat。
- 默认情况下,RocketChat 是使用 Mongodb 副本集集群的方式和 Mongodb 进行关联的。
- 特别要主要 Gcc 与 Nodejs , Node 与 RocketChat、Npm 与 RocketChat 之间的版本适配的关系,版本不适配会直接影响安装。
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 部署】
文章图片
推荐阅读
- 搭建openldap与phpldapadmin
- 使用iptables实现固定端口放行
- 宝塔面板如何安装青龙面板签到京东教程
- 一课玩转自动化运维全流程,轻松应对自动化运维岗
- NAT原理总结
- #yyds干货盘点#容器与容器编排系统
- win7系统U盘指示灯亮着却不显示U盘怎样办?
- 如何用Fdisk迅速重建U盘分区?
- 怎样用U盘扩大电脑内存?