说明:Rocket.Chat
一年前就介绍过→传送门,一款多功能团队聊天室,支持群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频,聊天,截图,实时翻译等等,安装方法比较简单的有Snap
、Docker
,此前也只说过Snap
安装方法,由于一直有小伙伴需要宝塔面板安装教程,所以这里就水一篇宝塔教程。
安装
官方文档:https://rocket.chat/docs/
环境要求:NodeJS 8.11.4
、Mongodb 4.0.9
、Nginx
(非必需)。
提示:由于官方建议的最低内存1G
,所以512M
或更小的建议加点虚拟内存,可以使用Swap
一键脚本→传送门。
1、安装宝塔
#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
安装完成后,进入面板,点击左侧软件商店,然后安装PM2管理器
、MongoDB
、Nginx
(使用域名访问才需要安装,反之不用)。
注意:Debian
安装MongoDb
之前还需要使用命令apt install sudo
,不然可能存在MongoDb
启动不了的情况;如果你已经安装了MongoDb
,那就先使用apt install sudo
,再使用/etc/init.d/mongodb start
启动即可。
2、环境配置
先点击左侧软件商店,找到PM2
管理器设置选项,选择Node
版本,切换到12.14.0
版本。
然后再找到MongoDb
设置选项,点击配置文件,新增/修改以下代码:
#设置storage引擎,新增engine参数,并修改下dbPath路径,不然会启动不了
storage:
dbPath: /www/server/mongodb/Rocket.Chat
directoryPerDB: true
engine: mmapv1
journal:
enabled: true
#配置replica set,新增以下参数
replication:
replSetName: rs01
保存后,MongoDb
会自动关闭,这时候使用命令:
#新建数据存储路径,即上面配置文件修改的dbPath参数
mkdir /www/server/mongodb/Rocket.Chat
#授权
chown mongo:mongo /www/server/mongodb/Rocket.Chat
#重新启动数据库
/etc/init.d/mongodb start
#启动replica set
mongo --eval "printjson(rs.initiate())"
3、安装依赖
#Debian/Ubuntu系统
apt install -y graphicsmagick
#CentOS系统
yum install -y GraphicsMagick
4、安装Rocket.Chat
#下载rocket.chat
wget -O rocket.chat.tgz https://releases.rocket.chat/latest/download
#解压并删除
tar -xzf rocket.chat.tgz && rm -rf rocket.chat.tgz
#移动到/opt并重命名
mv bundle /opt/Rocket.Chat
#安装依赖
cd /opt/Rocket.Chat
npm install -g inherits
cd programs/server
npm install
5、启动Rocket.Chat
ln -sf $(command -v node) /usr/bin/node
#新建rocketchat用户并授权
useradd -M rocketchat && usermod -L rocketchat
chown -R rocketchat:rocketchat /opt/Rocket.Chat
#新建systemd配置文件,将以下代码一起复制到SSH运行
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
开始启动:
#启动的时候,可能需要点时间加载,等待即可
systemctl start rocketchat
查看状态:
systemctl status rocketchat
开机自启:
systemctl enable rocketchat
此时访问地址为ip:3000
,如果你想用ip
访问,点击左侧安全,开放3000
端口即可,如果想用域名访问,不需要开启,继续往下面看。
6、域名访问
要使用域名的话就需要进行反代了,这里就不用宝塔自带的反向代理配置了,默认配置不适合Rocket.Chat
。
先点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击配置文件,在中间添加以下代码:
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
,申请免费的Let's Encrypt
证书,并强制HTTPS
。
配置好了后就可以使用域名访问了,然后根据要求安装好,最后就可以进入你的Rocket.Chat
聊天室了,还有更多使用方法可以直接查看→传送门。
博主,我没按照教程来,只是最后一部添加了反代,前面安装走的官方的单个命令的方法,从ip进去一切ok,但是走域名,只有rocketchat的图标可以显示,剩下的是空白
同样的问题,不过我已经卸了
应该是反代的问题,你f12看下控制台啥的,自己分析下,然后百度红色报错啥的
你试试在程序根目录直接启动看看,命令node main.js
/opt/Rocket.Chat/programs/server/node_modules/fibers/bin/linux-x64-72-glibc/fibers.node is missing.
Try running this to fix the issue: /www/server/nvm/versions/node/v12.16.1/bin/node /opt/Rocket.Chat/programs/server/node_modules/fibers/build
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1208:18) at Module.load (internal/modules/cjs/loader.js:1002:32) at Module.Mp.load (/opt/Rocket.Chat/programs/server/runtime.js:15:31) at Function.Module._load (internal/modules/cjs/loader.js:901:14) at Module.require (internal/modules/cjs/loader.js:1044:19) at require (internal/modules/cjs/helpers.js:77:18) at Object.<anonymous> (/opt/Rocket.Chat/programs/server/node_modules/fibers/fibers.js:14:39) at Module._compile (internal/modules/cjs/loader.js:1158:30) at Module.Mp._compile (/opt/Rocket.Chat/programs/server/runtime.js:50:23) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /opt/Rocket.Chat/programs/server/node_modules/fibers/bin/linux-x64-72-glibc/fibers.node)
/opt/Rocket.Chat/programs/server/node_modules/fibers/fibers.js:23
throw new Error('Missing binary. See message above.'); ^Error: Missing binary. See message above.
at Object.<anonymous> (/opt/Rocket.Chat/programs/server/node_modules/fibers/fibers.js:23:9) at Module._compile (internal/modules/cjs/loader.js:1158:30) at Module.Mp._compile (/opt/Rocket.Chat/programs/server/runtime.js:50:23) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10) at Module.load (internal/modules/cjs/loader.js:1002:32) at Module.Mp.load (/opt/Rocket.Chat/programs/server/runtime.js:15:31) at Function.Module._load (internal/modules/cjs/loader.js:901:14) at Module.require (internal/modules/cjs/loader.js:1044:19) at require (internal/modules/cjs/helpers.js:77:18) at Object.<anonymous> (/opt/Rocket.Chat/programs/server/boot.js:2:15)=================================================
Meteor requires Node v12.0.0 or later.
看来是版本太旧了?
上网找了一下没找到升级Node的命令,哈哈哈。
又折腾一下午……萌新流泪。
百度下node使用n切换版本
请教一下博主:
● rocketchat.service - Rocket.Chat
Loaded: loaded (/etc/systemd/system/rocketchat.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Mon 2020-03-02 15:30:46 CST; 5s ago
Process: 23911 ExecStart=/www/server/nvm/versions/node/v8.11.4/bin/node main.js (code=exited, status=1/FAILURE)
Main PID: 23911 (code=exited, status=1/FAILURE)
这是什么错误?
之前安装依赖到
npm install
fibers@4.0.3 install /opt/Rocket.Chat/programs/server/node_modules/fibers
node build.js || nodejs build.js
这一步就卡住了
安装依赖一直卡着吗?试试yarn安装依赖,要是国内服务器的话,用阿里的cnpm安装依赖。
为啥之前都很顺利,就到了域名访问这里,设置好后,网页只是显示白页,客户端也是无法连接。
ip访问是正常的吗?还是就域名这样
具体的表现为favicon显示logo但是页面是白色的,无任何内容出现。
更新,ip访问正常,就是域名不正常。
估计是反代有点问题,你把域名发我看看
看不出来,感觉是哪里有问题,我也好久没用了
ip访问正常,
然后进行了域名配置,发现不正常后,删除了站点,结果发现ip也无法进入了。
您好 项目什么的都弄好了 但是开启反向代理后 打开显示是空白 只有网页标题和logo能 显示 进入网站前 我已经清理了缓存
ip打开没问题?自己试着f12看看控制台啥的
我觉得,我们应该遇到了同样的问题。
你好,我搭建好了,但试了好多次,都是没办法发送语音和图片哦,能教我一下吗
博主有群吗?交流一下啊!
请问博主 手动安装的版本如何备份和恢复数据库呀
这个不好说,可以直接百度下mongodb数据库备份与还原教程
我的 启动不了 rocket.chat 服务,查看 status 是 failed 的,其它都是 ok 的。
npm6.9.0
nodejs 8.11.4
mongodb4.0.14
rocket.chat 2.4.1(server)
centos 8.1.1911(core)
看看日志journalctl -u rocketchat
修改完MongoDb配置保存以后MongoDb就无法启动了,怎么弄都无法重启。怎么解啊?
应该是修改的配置文件不对,包括格式问题,你检查下
这就很难受了鸭 MongoDb修改以后死活启动不了
可以看下启动日志