Loading... <strong>说明:</strong><code>Rocket.Chat</code>一年前就介绍过→<a href="http://www.502435.com/950.html" target="_blank" rel="noopener noreferrer">传送门</a>,一款多功能团队聊天室,支持群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频,聊天,截图,实时翻译等等,安装方法比较简单的有<code>Snap</code>、<code>Docker</code>,此前也只说过<code>Snap</code>安装方法,由于一直有小伙伴需要宝塔面板安装教程,所以这里就水一篇宝塔教程。 <div data-unique="安装"></div> <h2>安装</h2> <strong>官方文档:</strong><a href="https://rocket.chat/docs/" target="_blank" rel="noopener noreferrer">https://rocket.chat/docs/</a> <strong>环境要求:</strong><code>NodeJS 8.11.4</code>、<code>Mongodb 4.0.9</code>、<code>Nginx</code>(非必需)。 <strong>提示:</strong>由于官方建议的最低内存<code>1G</code>,所以<code>512M</code>或更小的建议加点虚拟内存,可以使用<code>Swap</code>一键脚本→<a href="http://www.502435.com/864.html" target="_blank" rel="noopener noreferrer">传送门</a>。 <strong>1、安装宝塔</strong> <pre><code class="hljs nginx"><span class="hljs-comment">#CentOS系统</span> <span class="hljs-attribute">wget</span> -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh <span class="hljs-comment">#Ubuntu系统</span> wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh <span class="hljs-comment">#Debian系统</span> wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh </code></pre> 安装完成后,进入面板,点击左侧软件商店,然后安装<code>PM2管理器</code>、<code>MongoDB</code>、<code>Nginx</code>(使用域名访问才需要安装,反之不用)。 注意:<code>Debian</code>安装<code>MongoDb</code>之前还需要使用命令<code>apt install sudo</code>,不然可能存在<code>MongoDb</code>启动不了的情况;如果你已经安装了<code>MongoDb</code>,那就先使用<code>apt install sudo</code>,再使用<code>/etc/init.d/mongodb start</code>启动即可。 <strong>2、环境配置</strong> 先点击左侧软件商店,找到<code>PM2</code>管理器设置选项,选择<code>Node</code>版本,切换到<code>8.11.4</code>版本,不然太高可能会导致<code>Rocket.Chat</code>运行出错。 然后再找到<code>MongoDb</code>设置选项,点击配置文件,新增/修改以下代码: <pre><code class="hljs shell"><span class="hljs-meta">#</span><span class="bash">设置storage引擎,新增engine参数,并修改下dbPath路径,不然会启动不了</span> storage: dbPath: /www/server/mongodb/Rocket.Chat directoryPerDB: true engine: mmapv1 journal: enabled: true <span class="hljs-meta">#</span><span class="bash">配置replica <span class="hljs-built_in">set</span>,新增以下参数</span> replication: replSetName: rs01 </code></pre> 保存后,<code>MongoDb</code>会自动关闭,这时候使用命令: <pre><code class="hljs shell"><span class="hljs-meta">#</span><span class="bash">新建数据存储路径,即上面配置文件修改的dbPath参数</span> mkdir /www/server/mongodb/Rocket.Chat <span class="hljs-meta">#</span><span class="bash">授权</span> chown mongo:mongo /www/server/mongodb/Rocket.Chat <span class="hljs-meta">#</span><span class="bash">重新启动数据库</span> /etc/init.d/mongodb start <span class="hljs-meta">#</span><span class="bash">启动replica <span class="hljs-built_in">set</span></span> mongo --eval "printjson(rs.initiate())" </code></pre> <strong>3、安装依赖</strong> <pre><code class="hljs shell"><span class="hljs-meta">#</span><span class="bash">Debian/Ubuntu系统</span> apt install -y graphicsmagick <span class="hljs-meta">#</span><span class="bash">CentOS系统</span> yum install -y GraphicsMagick </code></pre> <strong>4、安装Rocket.Chat</strong> <pre><code class="hljs shell"><span class="hljs-meta">#</span><span class="bash">下载rocket.chat</span> wget -O rocket.chat.tgz https://releases.rocket.chat/latest/download <span class="hljs-meta">#</span><span class="bash">解压并删除</span> tar -xzf rocket.chat.tgz && rm -rf rocket.chat.tgz <span class="hljs-meta">#</span><span class="bash">移动到/opt并重命名</span> mv bundle /opt/Rocket.Chat <span class="hljs-meta">#</span><span class="bash">安装依赖</span> cd /opt/Rocket.Chat npm install -g inherits cd programs/server npm install </code></pre> <strong>5、启动Rocket.Chat</strong> <pre><code class="hljs nginx"><span class="hljs-comment">#新建rocketchat用户并授权</span> <span class="hljs-attribute">useradd</span> -M rocketchat && usermod -L rocketchat chown -R rocketchat:rocketchat /opt/Rocket.Chat <span class="hljs-comment">#新建systemd配置文件,将以下代码一起复制到SSH运行</span> 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=<span class="hljs-number">3000</span> Type=simple Restart=<span class="hljs-literal">on</span>-failure RestartSec=<span class="hljs-number">42s</span> [Install] WantedBy=multi-user.target EOF </code></pre> 开始启动: <pre><code class="hljs nginx"><span class="hljs-comment">#启动的时候,可能需要点时间加载,等待即可</span> <span class="hljs-attribute">systemctl</span> start rocketchat </code></pre> 查看状态: <pre><code class="hljs nginx"><span class="hljs-attribute">systemctl</span> status rocketchat </code></pre> 开机自启: <pre><code class="hljs nginx"><span class="hljs-attribute">systemctl</span> enable rocketchat </code></pre> 此时访问地址为<code>ip:3000</code>,如果你想用<code>ip</code>访问,点击左侧安全,开放<code>3000</code>端口即可,如果想用域名访问,不需要开启,继续往下面看。 <strong>6、域名访问</strong> 要使用域名的话就需要进行反代了,这里就不用宝塔自带的反向代理配置了,默认配置不适合<code>Rocket.Chat</code>。 先点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击配置文件,在中间添加以下代码: <pre><code class="hljs nginx"><span class="hljs-attribute">location</span> <span class="hljs-regexp">~ ^/.*</span> { <span class="hljs-attribute">proxy_pass</span> http://127.0.0.1:3000; <span class="hljs-attribute">proxy_set_header</span> Host <span class="hljs-variable">$host</span>; <span class="hljs-attribute">proxy_set_header</span> X-Real-IP <span class="hljs-variable">$remote_addr</span>; <span class="hljs-attribute">proxy_set_header</span> X-Forwarded-For <span class="hljs-variable">$proxy_add_x_forwarded_for</span>; <span class="hljs-attribute">proxy_set_header</span> Upgrade <span class="hljs-variable">$http_upgrade</span>; <span class="hljs-attribute">proxy_set_header</span> Connection <span class="hljs-string">"upgrade"</span>; <span class="hljs-attribute">proxy_set_header</span> X-Forward-Proto http; <span class="hljs-attribute">proxy_set_header</span> X-Nginx-Proxy <span class="hljs-literal">true</span>; <span class="hljs-attribute">proxy_http_version</span> <span class="hljs-number">1</span>.<span class="hljs-number">1</span>; <span class="hljs-attribute">proxy_redirect</span> <span class="hljs-literal">off</span>; } </code></pre> 点击保存后,再点击<code>SSL</code>,申请免费的<code>Let's Encrypt</code>证书,并强制<code>HTTPS</code>。 配置好了后就可以使用域名访问了,然后根据要求安装好,最后就可以进入你的<code>Rocket.Chat</code>聊天室了,还有更多使用方法可以直接查看→<a href="https://rocket.chat/docs/" target="_blank" rel="noopener noreferrer">传送门</a>。 最后修改:2022 年 08 月 02 日 © 允许规范转载 打赏 赞赏作者 赞 0 如果觉得我的文章对你有用,请随意赞赏