ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

如何在CentOS 8服务器上安装Rocket.Chat?

2020-12-12 09:34:57  阅读:222  来源: 互联网

标签:Rocket -- sudo 服务器上安装 Nginx proxy Chat


在本文中,我们将向大家展示如何在香港服务器www.a5idc.net的CentOS 8系统上安装Rocket.Chat。 对于那些不知道的人来说,Rocket.Chat是最流行的开源聊天软件之一。是Slack和有偿即时聊天软件的绝佳替代品。它是免费的,什么是无限的,它是一堆很酷的功能,如视频聊天,屏幕共享,移动应用程序,等等。
步骤1.首先,让我们首先确保您的系统是最新的并安装所有必需的依赖项。
sudo dnf install epel-release-release
sudo dnf update
sudo dnf groupinstall 'Development Tools''Development Tools'
sudo dnf install curl GraphicsMagick gcc-c++GraphicsMagick gcc-c++
步骤2.安装Node.js。
将在您的系统上安装Rocket.Chat Nodejs。运行以下命令以安装Node.js:
curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash --sL https://rpm.nodesource.com/setup_8.x | sudo -E bash -
sudo dnf install nodejs
步骤3.在CentOS 8上安装Nginx Web服务器。
Nginx是一种高性能的Web服务器,如今非常流行。第一步是安装Nginx。因此,打开终端会话或使用SSH连接到服务器:
sudo dnf install nginx
安装成功后,启动并启用Nginx以在系统启动时运行:
systemctl enable --now nginx--now nginx
下一步是在防火墙中打开端口,以便我们可以使用Nginx:
sudo firewall-cmd --permanent --zone=public --add-service=http-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload-cmd --reload
步骤4.在CentOS上安装MongoDB 8。
打开一个终端会话,我们必须配置MongoDB存储库。为此,请打开一个新文件:
nano /etc/yum.repos.d/mongodb-org-4.2.repo/etc/yum.repos.d/mongodb-org-4.2.repo
添加以下内容:
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/development/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
现在,安装MongoDB就像只运行一个命令一样简单:
dnf install mongodb-org
应该启用MongoDB守护程序以在启动时启动:
sudo systemctl enable mongodb
sudo systemctl start mongodb
接下来,您将需要在MongoDB中定义一个副本集。您可以使用以下命令进行定义:
nano /etc/mongod.conf
添加以下行:
replication:
replSetName: "myreplica01"
保存并关闭文件,然后重新启动MongoDB服务:
sudo systemctl restart mongod
然后,登录到MongoDB Shell,并使用以下命令启动副本集:
mongo

> rs.initiate()
您应该得到以下结果:

步骤5.在CentOS 8上安装Rocket.Chat。
首先,您需要创建一个单独的用户来运行Rocket.Chat:
useradd -m -U -r -d /opt/rocket rocket
usermod -a -G rocket nginx
chmod 750 /opt/rocket
现在,我们使用以下命令下载最新版本的Rocket Chat:
su - rocket
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
接下来,解压缩下载的文件:
tar zxf rocket.chat.tgz
mv bundle Rocket.Chat
然后,将目录更改为Rocket.Chat服务器,并使用以下命令安装所需的模块:
cd Rocket.Chat/programs/server
npm install
步骤6.为Rocket.Chat创建Systemd服务。
现在,我们创建一个systemd服务文件来管理Rocket.Chat服务:
nano /etc/systemd/system/rocketchat.service
添加以下行:
[Unit]
Description=Rocket.Chat server
After=network.target nss-lookup.target mongod.target

[Service]
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocket
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://chat.example.com:3000/ PORT=3000
ExecStart=/usr/local/bin/node /opt/rocket/Rocket.Chat/main.js

[Install]
WantedBy=multi-user.target
保存并关闭文件,然后启动Rocket.Chat服务,还可以使用以下命令在系统重新启动时启动它:
sudo systemctl daemon-reload
sudo systemctl start rocketchat
sudo systemctl enable rocketchat
步骤7.将Nginx配置为反向代理。
现在,我们使用以下命令创建Nginx虚拟主机配置文件:
nano /etc/nginx/conf.d/rocket.conf
添加以下行:
upstream rocketchat_backend {
server 127.0.0.1:3000;
}

server {
listen 80;
server_name chat.mydomain.com;

location / {
proxy_pass http://rocketchat_backend/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;

proxy_redirect off;
}
}
保存并关闭文件,然后重新启动Nginx服务以应用更改:
sudo systemctl restart nginx
步骤8.访问Rocket.Chat Web界面。
默认情况下,Rocket.Chat将在HTTP端口80上可用。打开浏览器输入你的域名chat.mydomain.com,然后浏览并完成所需的步骤以完成安装。

您已经成功安装了Rocket.Chat。

标签:Rocket,--,sudo,服务器上安装,Nginx,proxy,Chat
来源: https://www.cnblogs.com/a5idc/p/14123717.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有