如何在CentOS 7上部署Rocket.Chat

Rocket.Chat是一个完整的团队沟通平台,是一个自我托管的Slack替代品。 它由Meteor构建,提供各种功能,包括帮助台聊天,视频会议,文件共享,语音消息,API等。 在本教程中,我们将向您展示如何在CentOS 7服务器上部署Rocket.Chat并将Nginx配置为SSL反向代理。

先决条件

在继续本教程之前,请确保您已满足以下先决条件:

根据官方的Rocket.Chat系统要求,CentOS 7服务器至少需要1G的RAM。

您有一个指向您的服务器IP地址的域名。 在本文中,我们将使用linuxidc.com。

你有Nginx的安装,如果不检查本指南。

您的域名已安装SSL证书。 按照本指南,您可以安装免费的Let's Encrypt SSL证书。

安装依赖关系

安装下面的软件包,以便在本指南的后面我们可以构建所需的npmpackages

yum install epel-release curl GraphicsMagick gcc-c++

yum install epel-release curl GraphicsMagick gcc-c

我们还需要安装Node.js和npm:

yum install -y nodejs npm

如何在CentOS 7上部署Rocket.Chat

在撰写本文时,Rocket.Chat推荐的Node.js版本是Node.js v8.9.3。 发出以下命令以安装推荐的Node.js版本:

npm install -g inherits n
n 8.9.3

如何在CentOS 7上部署Rocket.Chat

MongoDB是NoSQL面向文档的数据库,它被Rocket.Chat用作数据存储。

我们将使用官方MongoDB存储库中的yum来安装MongoDB。 打开您选择的编辑器并创建以下存储库文件:

/etc/yum.repos.d/mongodb-org.repo

如何在CentOS 7上部署Rocket.Chat

[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

如何在CentOS 7上部署Rocket.Chat

如何在CentOS 7上部署Rocket.Chat

安装完成后,启用并启动MongoDB服务:

sudo systemctl start mongod
sudo systemctl enable mongod

如何在CentOS 7上部署Rocket.Chat

创建新的系统用户

创建一个新的用户和组,这将运行我们的rocket安装,为简单起见,我们将命名我们的用户rocket:

sudo useradd -m -U -r -d /opt/rocket rocket

将nginx用户添加到新用户组,并更改/ opt / rocket目录权限,以便Nginx可以访问我们的rocket安装:

sudo usermod -a -G rocket nginx
sudo chmod 750 /opt/rocket

如何在CentOS 7上部署Rocket.Chat

安装Rocket.Chat

切换到rocket用户:

sudo su - rocket

并用curl下载最新的Rocket.Chat稳定版本:

curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz

下载完成后,解压缩压缩文件并将目录重命名为Rocket.Chat:

tar zxf rocket.chat.tgz
mv bundle Rocket.Chat

为了在创建systemd单元并使用Nginx设置反向代理之前测试我们的安装,我们将设置所需的环境变量并启动Rocket.Chat服务器

export PORT=3000
export ROOT_URL=http://linuxidc.com:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat

改回到Rocket.Chat目录并通过发出以下命令启动Rocket.Chat服务器:

cd ../../
node main.js

如何在CentOS 7上部署Rocket.Chat

如果没有错误,您应该看到以下输出:

➔ +-------------------------------------------------------+
➔ |                    SERVER RUNNING                    |
➔ +-------------------------------------------------------+
➔ |                                                      |
➔ |  Rocket.Chat Version: 0.63.1                          |
➔ |      NodeJS Version: 8.11.1 - x64                    |
➔ |            Platform: linux                          |
➔ |        Process Port: 3000                            |
➔ |            Site URL: :3000/  |
➔ |    ReplicaSet OpLog: Disabled                        |
➔ |          Commit Hash: ac16e93869                      |
➔ |        Commit Branch: HEAD                            |
➔ |                                                      |
➔ +-------------------------------------------------------+

我们现在可以用CTRL + C停止Rocket.Chat服务器,并继续执行下一步。

创建一个Systemd单元

要将Rocket.Chat作为服务运行,我们将在/etc/systemd/system/目录下创建一个rocketchat.service单元文件,其中包含以下内容:

/etc/systemd/system/rocketchat.service

如何在CentOS 7上部署Rocket.Chat

[Unit]
Description=Rocket.Chat server
After=network.target nss-lookup.target mongod.target

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ebaa8bb1ccbfa59ad8a40f9f511703c9.html