Rocket.Chat是一个完整的团队沟通平台,是自托管的Slack替代方案。它使用Meteor构建,并提供各种功能,包括服务台聊天,视频会议,文件共享,语音消息,API等。
在本教程中,我们将向您展示如何在以Nginx作为SSL反向代理的CentOS 7服务器上安装和部署Rocket.Chat。
先决条件
在继续本教程之前,请确保满足以下先决条件:
CentOS 7服务器,根据官方的Rocket.Chat系统要求,您至少需要1G RAM。您以具有[sudo]特权的用户身份登录。您的域名指向您的服务器IP地址。在本文中,我们将使用example.com
。您已经安装了Nginx,否则请按照此教程进行安装。SSL证书。您可以从Let's Encrypt生成免费的,或从其他提供商那里购买一个。安装依赖项
安装以下软件包,这些软件包是构建必需的npm
模块所必需的:
sudo yum install epel-release curl GraphicsMagick gcc-c++
接下来,通过键入以下内容来安装Node.js
和npm
:
sudo yum install -y nodejs npm
在撰写本文时,建议的Rocket.Chat的 Node.js 版本是Node.js v8.11.3。
发出以下命令以安装n
实用程序和推荐的Node.js版本:
sudo npm install -g inherits nsudo n 8.11.3
MongoDB是一个NoSQL面向文档的数据库,被Rocket.Chat用作数据存储。 Rocket.Chat建议使用MongoDB 3.6版。
我们将使用官方MongoDB存储库中的yum
,安装MongoDB 。
打开您选择的编辑器并创建以下存储库文件:
sudo nano /etc/yum.repos.d/mongodb-org.repo
将以下内容粘贴到文件中:
/etc/yum.repos.d/mongodb-org.repo
[mongodb-org-3.6]name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
保存文件,然后关闭文本编辑器。
要安装MongoDB,请运行以下命令:
sudo yum install mongodb-org
安装完成后,启用并启动MongoDB服务:
sudo systemctl start mongodsudo systemctl enable mongod
创建新系统用户
创建一个新的用户和组,它将运行我们的Rocket.Chat实例。为简单起见,我们将用户命名为rocket
:
sudo useradd -m -U -r -d /opt/rocket rocket
将nginx
用户添加到新用户组,并更改/opt/rocket
目录权限,以便Nginx可以访问它:
sudo usermod -a -G rocket nginxsudo chmod 750 /opt/rocket
正在安装Rocket.Chat
通过键入以下内容来切换到用户 rocket
:
sudo su - rocket
使用 curl 下载Rocket.Chat的最新稳定版本。
sudo yum install -y nodejs npm
0
下载完成后提取档案,将目录重命名为Rocket.Chat
:
sudo yum install -y nodejs npm
1
转到Rocket.Chat/programs/server
目录并安装所有必需的npm
软件包:
sudo yum install -y nodejs npm
2
在创建systemd单元并使用Nginx 建立反向代理之前,最好测试一下安装是否成功。
为此,请先设置所需的环境变量:
sudo yum install -y nodejs npm
3
接下来,返回到Rocket.Chat
目录,并通过发出以下命令来启动Rocket.Chat
服务器:
sudo yum install -y nodejs npm
4
如果没有错误,您应该看到以下输出:
sudo yum install -y nodejs npm
5
至此,Rocket.Chat已安装在CentOS 7计算机上。用CTRL+C
停止Rocket.Chat服务器,然后继续下一步。
创建systemd unit
要将Rocket.Chat作为服务运行,请在/etc/systemd/system/
目录中创建rocketchat.service
单位文件:
sudo yum install -y nodejs npm
6
将以下内容粘贴到文件中:
/etc/systemd/system/rocketchat.service
sudo yum install -y nodejs npm
7
保存并关闭文件。
通知systemd已创建新的单位文件,并通过执行以下命令来启动Rocket.Chat服务:
sudo systemctl daemon-reload sudo systemctl start rocketchat
使用以下命令检查服务状态:
sudo yum install -y nodejs npm
8
输出应如下所示:
sudo yum install -y nodejs npm
9
如果没有错误,您可以启用Rocket.Chat服务以在启动时自动启动:
sudo systemctl enable rocketchat
使用Nginx设置反向代理
如果您遵循我们的如何在CentOS 7上安装Nginx 和如何通过CentOS 7上的“让我们加密”来保护Nginx 指南,则您应该已经安装了Nginx并配置了SSL证书。
现在,我们需要为Rocket.Chat安装创建一个新的服务器块:
sudo npm install -g inherits nsudo n 8.11.3
0
将以下内容粘贴到文件中:
/etc/nginx/conf.d/example.com.conf
sudo npm install -g inherits nsudo n 8.11.3
1
重新加载Nginx服务,以使更改生效:
sudo npm install -g inherits nsudo n 8.11.3
2
配置Rocket.Chat
打开浏览器,然后输入:http://chat.example.com
。
假设安装成功,将为您提供Rocket.Chat设置向导,该向导将指导您设置第一个管理员用户,配置组织机构以及注册服务器以接收免费的推送通知等。
初始设置向导的第一部分将要求您设置管理员用户:
完成输入管理员信息后,单击Continue
按钮,然后在下一步中输入您的组织信息:
初始设置向导的第三部分将提示您输入服务器信息:
下一步,系统会询问您是否要使用Rocket.Chat的预配置网关和代理。选择此选项将使您可以访问Rocket.Chat Apps市场,而其他大多数功能(如推送通知)也将立即可用。
做出选择,单击Continue
按钮,您将被重定向到指示您的工作空间已准备就绪可以使用的以下页面:
单击Go to your workspace
按钮,您将被重定向到以admin用户身份登录的Rocket.Chat仪表板。
结论
您已成功在CentOS 7服务器上安装Rocket.Chat。您现在可以开始使用Rocket.Chat与您的团队合作,共享文件并实时聊天。
如果您在安装过程中遇到任何问题,请随时发表评论。
还没有评论,来说两句吧...