我是靠谱客的博主 炙热羽毛,最近开发中收集的这篇文章主要介绍取代微信?RocketChat开源聊天应用搭建教程背景准备部署部署RocketChat结语,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

背景

有很多小伙伴都有过搭建一个自己的聊天服务应用的想法,摆脱微信、QQ等第三方应用,更加注重自己的隐私,或更好的存储自己的文件。

image

我发现了一款开源的聊天应用RocketChat,能够实现群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频 聊天,截图等等,还支持实时翻译,实现用户之间的自动实时消息转换,使用RocketChat可以完全控制交流通信。

准备

功能听起来还不错,我们一起来搭建一下,我这里使用以下配置:

# 基础环境, 我这里用的学生机,大家可以调高一点配置
1.CentOS 7.6 1CPU/2G/60G
2.开放公网3000端口

另外需要搭建起docker运行环境,在之前的教程中有讲过使用一键脚本,如果不清楚可以翻看前面的教程。

[root@mx ~]# docker -v
Docker version 20.10.9, build c2ea9bc
[root@mx ~]# 

部署

部署MongoDB

首先创建一个自定义网络,用于容器间的相互隔离访问。

# 这里我创建一个mynet的网络
[root@mx ~]# docker network create --subnet=172.18.0.0/16 mynet
e931682423fb3ce386fe8ccff2d4a1207a49de0f6cbb938290aaf94a680d2e33
[root@mx ~]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
a187d39a9c31   bridge    bridge    local
a009b92afbec   host      host      local
e931682423fb   mynet     bridge    local
f7101068a933   none      null      local
[root@mx ~]# 

image

image

RocketChat依赖于MongoDB运行环境,先采用Docker方式部署一下

mkdir -p /opt/docker/mongodb
# 新建一个配置文件
vim /opt/docker/mongodb/mongod.conf

下面是mongod.conf的内容,请粘贴到文件中, 然后使用esc和:x保存退出。

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /data/db
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:
#  authorization: "enabled"

#operationProfiling:

replication:
  replSetName: "rs01"

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

使用以下命令创建运行镜像。

docker run 
-itd 
-e PGID=1000 
-e PUID=1000 
--name=MongoDB 
--net=mynet 
--ip=172.18.0.2 
-e TZ=Asia/Shanghai 
-p 27017:27017/tcp 
-v /opt/docker/mongodb/:/data/db:rw 
--hostname mongodatabase mongo 
-f /data/db/mongod.conf

由于docker的镜像服务器在国外,所以下载较慢,如果遇到以下类似的错误,请多试几遍。

image

使用命令查看运行状态,如果没有其它报错则安装正常。

# 查看正在运行的容器
docker ps 

image

image

配置MongoDB

我们需要对MongoDB进行一系列的配置。

# 进入到容器内部
[root@mx ~]# docker exec -it MongoDB bash
root@mongodatabase:/# 

# 容器内部进入mongodb
root@mongodatabase:/# mongo

# 使用以下命令,注意括号
mongodatabase:SECONDARY> rs.initiate()
{
        "ok" : 0,
        "errmsg" : "already initialized",
        "code" : 23,
        "codeName" : "AlreadyInitialized",
        "$clusterTime" : {
                "clusterTime" : Timestamp(1635072585, 2),
                "signature" : {
                        "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
                        "keyId" : NumberLong(0)
                }
        },
        "operationTime" : Timestamp(1635072585, 2)
}


# 使用管理员操作数据库
mongodatabase:PRIMARY> use admin
switched to db admin
mongodatabase:PRIMARY> 

# 创建管理员和rocketchat数据库, 这里我把密码都修改为admin123,大家可对应修改
db.createUser({user: "root",pwd: "admin123",roles: [{ role: "root", db: "admin"}]})
db.createUser({user: "rocketchat",pwd: "admin123",roles: [{role: "readWrite", db: "local" }]})
# 切换用户
use rocketchat
db.createUser({user: "rocketchat",pwd: "admin123",roles: [{role: "dbOwner",db: "rocketchat" }]})

如果你的操作结果与我类似,那么恭喜你创建成功。

image

使用exit退出mongodb和容器,我们修改一个配置。

docker stop MongoDB
vim /opt/docker/mongodb/mongod.conf 

image

将24-25行前的注释取消掉,保存后重启mongodb。

docker start MongoDB

部署RocketChat

使用下面的命令部署镜像,如果下载较慢或超时可以多试几次。

docker run 
-itd 
-e PGID=1000 
-e PUID=1000 
--name=RocketChat 
--net=mynet 
--ip=172.18.0.3 
-e TZ=Asia/Shanghai 
-e MONGO_URL=mongodb://rocketchat:admin123@172.18.0.2:27017/rocketchat 
-e MONGO_OPLOG_URL=mongodb://rocketchat:admin123@172.18.0.2:27017/local?authSource=admin 
-p 3000:3000/tcp 
-v /opt/docker/rocketchat:/app/uploads:rw library/rocket.chat

image

关闭防火墙,或放行3000TCP端口,使用网页来访问,地址为IP:3000(如果你是公网服务器,请使用你的公网地址)。配置一下基本信息,一直继续到配置结束。

image

image

image

最后就可以愉快地玩耍了,发个表情试试~

结语

安装成功后,可以使用ssl证书将网站加密,可以更加的安全。而且使用客户端连接到私有服务器时,http协议将不会被连接(就像下面那样)。

image

如果你安装时遇到有问题,无法继续下去,可以私信联系我获得帮助(可提供shell一键脚本)。 客户端获取请在微信公众号回复关键字「111」

 

最后

以上就是炙热羽毛为你收集整理的取代微信?RocketChat开源聊天应用搭建教程背景准备部署部署RocketChat结语的全部内容,希望文章能够帮你解决取代微信?RocketChat开源聊天应用搭建教程背景准备部署部署RocketChat结语所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部