Rocket.Chat是除fiora、duckchat(鸭信)之外的又一款优秀的即时聊天系统,支持群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频,聊天,截图,实时翻译等等。官方支持docker和snap、npm的安装方式,这里讲一下在宝塔面板环境下用npm安装的方法。
如果没有宝塔,可以看看里:宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=
教程环境:centos7.6、1h1g、宝塔面板(如果你的服务器运存小于1G可能会无法安装)
1、简介
官网:https://rocket.chat/
项目:https://github.com/RocketChat/Rocket.Chat
2、配置环境
1)进入宝塔软件商店,安装PM2管理器和MongoDB:
2)进入PM2管理器设置,将node版本改为12.14.0:
3)进入MongoDB设置,点击配置文件,找到“# Where and how to store data.”,将下面一段代码修改如下:
storage: dbPath: /www/server/mongodb/Rocket.Chat directoryPerDB: true engine: mmapv1 journal: enabled: true
看图:
4)找到“#replication:”,修改代码如下:
replication: replSetName: rs01
看图:
4)然后点击保存。保存之后,MongoDB默认会关闭,这时要连接ssh,逐条运行以下命令:
mkdir /www/server/mongodb/Rocket.Chat chown mongo:mongo /www/server/mongodb/Rocket.Chat /etc/init.d/mongodb start mongo --eval "printjson(rs.initiate())"
2、安装依赖
ssh运行以下代码:
yum install -y GraphicsMagick
假如你是Debian/Ubuntu系统,运行这条代码:
apt install -y graphicsmagick
3、安装Rocket.Chat
连接ssh,逐条运行以下命令:
wget -O rocket.chat.tgz https://releases.rocket.chat/latest/download tar -xzf rocket.chat.tgz && rm -rf rocket.chat.tgz mv bundle /opt/Rocket.Chat cd /opt/Rocket.Chat npm install -g inherits cd programs/server npm install
4、启动
1)先逐条运行以下代码:
ln -sf $(command -v node) /usr/bin/node useradd -M rocketchat && usermod -L rocketchat chown -R rocketchat:rocketchat /opt/Rocket.Chat
2)然后配置进程守护。这里使用systemd。运行以下代码(一起复制运行):
cat > /etc/systemd/system/rocketchat.service <<EOF
[Unit]
Description=Rocket.Chat
After=network.target
Wants=network.target
[Service]
ExecStart=$(command -v node) main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
WorkingDirectory=/opt/Rocket.Chat
Environment=MONGO_URL=mongodb://127.0.0.1:27017/rocketchat?replicaSet=rs01
MONGO_OPLOG_URL=mongodb://127.0.0.1:27017/local?replicaSet=rs01 ROOT_URL=http://127.0.0.1:3000/ PORT=3000
Type=simple
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
EOF
3)然后启动Rocket.Chat:
systemctl start rocketchat
4)查看Rocket.Chat的状态:
systemctl status rocketchat
5)设置开机自启:
systemctl enable rocketchat
然后去到宝塔安全里面,放行3000端口,此时就可以通过IP:3000访问了。
5、域名访问
域名访问自然是“防呆”,但是我听大佬说不能直接用宝塔的反代,所以我就直接按大佬的做了。进入站点配置文件,插入下面的代码:
location ~ ^/.* { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_http_version 1.1; proxy_redirect off; }
然后配置好ssl,就可以通过域名访问了。