IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 搭建RoacketChat(v4.5.1)聊天服务。有生之年,我也能使用上自己搭建的聊天服务器 -> 正文阅读

[系统运维]搭建RoacketChat(v4.5.1)聊天服务。有生之年,我也能使用上自己搭建的聊天服务器

RocketChat简介

Rocket.Chat是一款开源的聊天软件。多client支持:Android,ISO,Windows,Mac,Linux,Web。安装部署简单、文档丰富,易于扩展。功能强大。支持群组聊天,私聊群,个人私聊,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频聊天,截图等等。
项目开源地址:https://github.com/RocketChat
项目官方站点:https://rocket.chat

安装环境

CentOS7.5 win10
RocketChat的版本:v4.5.1(2022-3-12的最新版)
需要Node.js —v14.18.3,Mongodb (需要4.2以上),这里安装5.0.6版本。
公有云服务器可以,虚拟机上安装也可以,这里选择虚拟机安装。

开始安装

1、添加mongodb yum源仓库

cat << EOF | tee -a /etc/yum.repos.d/mongodb-org-5.0.repo

[mongodb-org-5.0]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/5.0/x86_64/        #安装的5版本

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

EOF

2、添加node.js仓库

yum install -y curl && curl -sL https://rpm.nodesource.com/setup_12.x | bash -

3、安装nodejs mongodb-org

yum install -y gcc-c++ make nodejs mongodb-org

4、安装GraphicsMagick软件包

yum install -y epel-release && yum install -y GraphicsMagick

5、下载RocketChat源码包,并解压至/tmp目录下

curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
tar -xzf /tmp/rocket.chat.tgz -C /tmp

4、安装node,并选择版本

npm install -g inherits n
#如果你不知道刚才下载RocketChat源码包时需要node的啥版本,下面可以查看
[root@ecs-8e58 ~]# vi /tmp/bundle/README 
This is a Meteor application bundle. It has only one external dependency:
Node.js v14.18.3. To run the application:           #可以看到要求node是v14.18.3版本

  $ (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.
#下面调整node的版本
n 14.18.3             #你没有看错,就是这条命令

5、安装RocketChat相应的模块:

#安装模块
cd /tmp/bundle/programs/server && npm install
#移动文件,换名
mv /tmp/bundle /opt/Rocket.Chat
#创建rocketchat用户
useradd -M rocketchat && usermod -L rocketchat
chown -R rocketchat:rocketchat /opt/Rocket.Chat     #授权文件

6、设置RocketChat,有system启动

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

#注意:下面的那个IP,需要填写自己本机的IP,其它的不用修改
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://192.168.9.130:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000

[Install]

WantedBy=multi-user.target

EOF

7、设置mongodb的引擎和复制操作

sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf

sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf

8、启动mongodb

systemctl restart mongod && systemctl enable mongod

mongo --eval "printjson(rs.initiate())"
#查看mongodb启动的端口:
ss -ntpul
...
tcp    LISTEN     0      128                          127.0.0.1:27017                                            *:*                   users:(("mongod",pid=8437,fd=13))
...

9、启动rocketchat服务

systemctl restart rocketchat && systemctl enable rocketchat
#查看rocketchat启动的端口
ss -ntpul
...
tcp    LISTEN     0      511                                  *:3000                                             *:*                   users:(("node",pid=9013,fd=47))
...

整体的Shell脚本如下:

[root@node1 ~]# cat aa.sh 
#!/bin/bash
cat << EOF | tee -a /etc/yum.repos.d/mongodb-org-5.0.repo

[mongodb-org-5.0]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/5.0/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc

EOF

yum install -y curl && curl -sL https://rpm.nodesource.com/setup_12.x | bash -

yum install -y gcc-c++ make nodejs mongodb-org

yum install -y epel-release && yum install -y GraphicsMagick

curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz

tar -xzf /tmp/rocket.chat.tgz -C /tmp

npm install -g inherits n && n 14.18.3

cd /tmp/bundle/programs/server && npm install

mv /tmp/bundle /opt/Rocket.Chat

useradd -M rocketchat && usermod -L rocketchat

chown -R rocketchat:rocketchat /opt/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://192.168.9.130:3000/ PORT=3000

[Install]

WantedBy=multi-user.target

EOF

sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf

sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf

systemctl restart mongod && systemctl enable mongod

mongo --eval "printjson(rs.initiate())"

systemctl restart rocketchat && systemctl enable rocketchat

浏览器访问并配置登陆信息

浏览器输入:本地IP:3000
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

来看看聊天界面:
在这里插入图片描述
OK,RocketChat聊天服务就部署完成了,后续的聊天软件的使用下篇在更…

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 22:13:16  更:2022-03-13 22:17:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:21:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码