搭建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 Repositorybaseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/5.0/x86_64/ #安裝的5版本gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-5.0.ascEOF2、添加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-org4、安裝GraphicsMagick軟件包
yum install -y epel-release && yum install -y GraphicsMagick5、下載RocketChat源碼包,并解壓至/tmp目錄下
curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz tar -xzf /tmp/rocket.chat.tgz -C /tmp4、安裝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.jsUse 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 serverAfter=network.target remote-fs.target nss-lookup.target nginx.target mongod.target[Service]ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.jsStandardOutput=syslogStandardError=syslogSyslogIdentifier=rocketchatUser=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.targetEOF7、設置mongodb的引擎和復制操作
sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.confsed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf8、啟動mongodb
systemctl restart mongod && systemctl enable mongodmongo --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 Repositorybaseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/5.0/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-5.0.ascEOFyum install -y curl && curl -sL https://rpm.nodesource.com/setup_12.x | bash -yum install -y gcc-c++ make nodejs mongodb-orgyum install -y epel-release && yum install -y GraphicsMagickcurl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgztar -xzf /tmp/rocket.chat.tgz -C /tmpnpm install -g inherits n && n 14.18.3cd /tmp/bundle/programs/server && npm installmv /tmp/bundle /opt/Rocket.Chatuseradd -M rocketchat && usermod -L rocketchatchown -R rocketchat:rocketchat /opt/Rocket.Chatcat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service[Unit]Description=The Rocket.Chat serverAfter=network.target remote-fs.target nss-lookup.target nginx.target mongod.target[Service]ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.jsStandardOutput=syslogStandardError=syslogSyslogIdentifier=rocketchatUser=rocketchatEnvironment=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.targetEOFsed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.confsed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.confsystemctl restart mongod && systemctl enable mongodmongo --eval "printjson(rs.initiate())"systemctl restart rocketchat && systemctl enable rocketchat瀏覽器訪問并配置登陸信息
瀏覽器輸入:本地IP:3000
來看看聊天界面:
OK,RocketChat聊天服務就部署完成了,后續的聊天軟件的使用下篇在更…
總結
以上是生活随笔為你收集整理的搭建RoacketChat(v4.5.1)聊天服务。有生之年,我也能使用上自己搭建的聊天服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: adb无法连接安卓手机
- 下一篇: 为什么需要StringBuffer