如何在 CentOS 7 上安装 Rocket.Chat

图片来源

任何公司成功的一个重要部分是与客户和合作伙伴进行有效的内部和外部沟通,无论公司规模如何。 但是,当然,必须有一个沟通平衡。

通信解决方案不能占用公司资源,它必须可靠和安全,但还需要在经济上有意义。 最好的解决方案之一是 Rocket.Chat。 它是一种类似于 Slack 的通信服务,但可以部署在您的 CentOS 7 服务器上。

什么是 Rocket.Chat?

Rocket.Chat 是为团队开发的开源聊天套件,旨在强调集中化和降低运营成本。

它们被定义为全渠道平台,是指它们能够以高安全标准与任何项目的需求相集成,支持通用数据保护条例 (GDPR)、健康保险流通与责任法案 (HIPAA) 等。该软件也兼容与大多数主要平台。

Rocket.Chat 安装

要求

在开始安装过程之前,成功的过程需要满足一些要求:

  1. SSH 访问。
  2. 根权限。
  3. Extra Packages for Enterprise Linux (EPEL) 存储库以及开发人员工具。
  4. 图形魔法。
  5. NodeJS 12.18.4。
  6. MongoDB(3.x 或更高版本)。

第 1 步:设置环境

检查本地软件包是否已更新是一种很好的做法,因此请使用 yum update 命令。

LiquidWeb_Centos # yum update No packages marked for update

现在让我们继续安装 EPEL、GraphicsMagick 和标准构建工具包。 使用以下语法。

yum install -y epel-release && yum install -y GraphicsMagick gcc-c++ make yum groupinstall ‘Development Tools'

第 2 步:安装 NodeJS

要安装 NodeJS,我们需要添加存储库,安装包,并使用以下命令使用 npm 安装适当的版本。

yum install -y curl && curl -sL https://rpm.nodesource.com/setup_12.x | bash - yum install -y nodejs npm install -g inherits n && n 12.18.4

在某些情况下,必须为使用 /usr/local 的应用程序创建符号链接才能正常工作。 ln -s 命令可以帮助我们做到这一点。

ln -s /usr/bin/node /usr/local/bin/node

第 3 步:安装 MongoDB

要安装 MongoDB(在本例中为 MongoDB 4.0.9),我们需要使用以下命令添加相应的存储库。

touch /etc/yum.repos.d/mongodb-org-4.0.repo && tee -a $_ << END [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc END

现在我们继续安装软件包。

yum install -y mongodb-org-4.0.9 mongodb-org-server-4.0.9 mongodb-org-shell-4.0.9 mongodb-org-mongos-4.0.9 mongodb-org-tools-4.0.9 checkpolicy

如果 SELinux 处于强制模式,您必须 配置 SELinux 对于 MongoDB。 现在我们应该启用并启动服务。 我们可以使用 –version 标签来验证安装是否成功。

systemctl enable mongod systemctl start mongod  mongod --version db version v5.0.2 Build Info: {     "version": "5.0.2", ...     } }

启动MongoDB时可能会出现以下错误。

exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating

如果您收到上述错误,请运行以下命令配置 MongoDB,创建相应的目录,然后重新启动服务。

rm -f /tmp/mongodb-27017.sock rm -f /var/lib/mongo/mongod.lock rm -f /var/run/mongodb/mongod.pid mkdir -p  /var/run/mongodb/ touch /var/run/mongodb/mongod.pid chown -R  mongod:mongod /var/run/mongodb/ chown mongod:mongod /var/run/mongodb/mongod.pid systemctl restart mongod

第 4 步:安装 Rocket.Chat

有了所有需要的工具,我们可以继续在 CentOS 7 上安装 Rocket.Chat。下载最新版本,解压文件,然后使用 npm 安装 CentOS 7。

curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz tar -xzf rocket.chat.tgz cd bundle/programs/server/ npm install

安装完成后,我们需要将 bundle 目录移动到我们的安装目录。 在这种情况下,我们将使用 /opt/Rocket.Chat。

mv ../../../bundle/ /opt/Rocket.Chat

让我们为 Rocket.Chat 添加用户,并修复权限。

useradd -M rocketchat && usermod -L rocketchat chown -R rocketchat:rocketchat /opt/Rocket.Chat

我们还需要创建 Rocket.Chat 服务文件。 在将此代码粘贴到您的终端之前,请使用您的实际域和端口更新 ROOT_URL 和 PORT。 默认端口为 3000。如果该端口已被使用,您可以移至另一个端口。 在本教程中,我们使用端口 3080。

此外,如果您为 MongoDB 使用自定义传输控制 (TCP) 端口,则需要将默认 TCP 端口从 27017 更改为首选 TCP 端口。

tee -a /lib/systemd/system/rocketchat.service << END [Unit] Description=The Rocket.Chat server After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service [Service] ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js StandardOutput=syslog StandardError=syslog SyslogIdentifier=rocketchat User=rocketchat Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=https://your.domain.com:3080/ PORT=3080 [Install] WantedBy=multi-user.target END

然后,为 MongoDB 设置复制。

sudo sed -i "s/^#replication:/replication:n  replSetName: rs01/" /etc/mongod.conf  mongo --eval "printjson(rs.initiate())"

现在,我们可以启用并启动服务。

LiquidWeb_Centos # systemctl enable rocketchat && systemctl start rocketchat Created symlink from /etc/systemd/system/multi-user.target.wants/rocketchat.service to /usr/lib/systemd/system/rocketchat.service.

使用 systemctl status 命令验证状态。

LiquidWeb_Centos # systemctl status rocketchat ● rocketchat.service - The Rocket.Chat server    Loaded: loaded (/usr/lib/systemd/system/rocketchat.service; enabled; vendor preset: disabled)    Active: active (running)

现在打开 Web 浏览器并输入域和指定的端口号 (https://www.yourdomain.com:3080) 以访问 Rocket.Chat 服务进行初始设置。 设置页面应如下所示。

填完表格后,我们都准备好了。

第 5 步:反向代理(可选)

如果您想使用没有端口号的域,请设置反向代理。

对于 Nginx,将规则附加到您的域的配置文件中,通常是 /etc/nginx/sites-available/your.domain.com.conf(用 your.domain.com 代替您的域)。

server {         listen 80;         listen [::]:80;          root /var/www/your.domain.com/html;         index index.html index.php index.nginx-debian.html;          server_name your.domain.com www.your.domain.com;          location / {                proxy_pass https://127.0.0.1:3080;         } }

为了 Apache,看起来像这样。

ServerName your.domain.com ProxyPreserveHost On ProxyPass /  https://your.domain.com:3080/ ProxyPassReverse /  https://your.domain.com:3080/

常见的位置是 /etc/apache2/sites-available/ 或 /etc/httpd/sites-available/。

如果使用 cPanel,/etc/apache2/conf.d/userdata/std/2_4/some_user/your.domain.com/ 和 /etc/apache2/conf.d/userdata/ssl/2_4/some_user/your.domain.com / 是要走的路。

结论

这涵盖了安装指南。 让这个软件在我们自己的实例上运行提供了很大的灵活性。 根据我们的设置,它可以提供增强的安全性和可用性(灾难恢复),而公司的数据不会离开他们的服务器。

如需一年中任何一天的 24 小时帮助,请联系 Liquid Web 上最有帮助的托管人之一。 我们是来帮忙的!

kb-banner-lw-hosting