如何在 Ubuntu 14.04 上安装、配置和部署 Rocket.Chat如何在 Ubuntu 14.04 上安装、配置和部署 Rocket.Chat如何在 Ubuntu 14.04 上安装、配置和部署 Rocket.Chat如何在 Ubuntu 14.04 上安装、配置和部署 Rocket.Chat
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 14.04 上安装、配置和部署 Rocket.Chat

介绍

Rocket.Chat 是一款使用 Meteor 构建的开源消息传递应用程序。它支持视频会议、文件共享、语音消息,具有功能齐全的 API 等。 Rocket.Chat 非常适合那些喜欢完全控制其通信的人。

在本教程中,我们将在新的 Ubuntu 服务器上安装和配置 Rocket.Chat,并通过 Nginx 设置反向代理以提高安全性并使访问 Rocket.Chat 变得更加容易。完成后,您将拥有一个可从几乎任何地方访问的 Rocket.Chat 的功能实例。

先决条件

要学习本教程,您需要:

  • 一台 Ubuntu 14.04 服务器,建议内存至少为 1 GB
  • 具有 sudo 权限的非根用户(Ubuntu 14.04 的初始服务器设置说明了如何进行设置。)
  • 一个完全注册的域名。您可以在 Freenom 上购买一个。
  • 确保您的域名配置为指向您的服务器。如果您需要帮助,请查看本教程。
  • SSL 证书。 https://linux教程/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04),或从其他供应商处购买。

第 1 步 — 安装依赖项

在本节中,我们将安装一些 Rocket.Chat 的依赖项,例如 MongoDB 和 NodeJS。

让我们从启动和运行 MongoDB 开始。首先,我们需要添加一个密钥服务器,以便我们可以访问这些包。

  1. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

然后我们需要设置要使用的repo。

  1. echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

现在,更新包列表。

  1. sudo apt-get update

现在已经完成,我们可以继续安装 npm、mongodb-org、curl 和 graphicsmagick,这都是 Rocket.Chat 的依赖项:

  1. sudo apt-get install npm mongodb-org curl graphicsmagick

我们需要使用 NPM 安装一个包来允许我们更改节点版本:

  1. sudo npm install -g n

使用该包将节点版本更改为 0.10.40。

  1. sudo n 0.10.40

接下来,我们将安装 Rocket.Chat 本身并进行一些配置。

第 2 步 — 安装 Rocket.Chat

首先,使用 curl 下载最新稳定版的 Rocket.Chat。

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

使用 tar 命令展开我们刚刚下载的存档。

  1. tar zxvf rocket.chat.tgz

这会将整个存档扩展到名为 bundle 的目录中。让我们将 bundle 目录的内容移动到更容易记住的地方。

  1. mv bundle Rocket.Chat

切换到我们将使用 NPM 安装 Rocket.Chat 的目录。

  1. cd Rocket.Chat/programs/server

安装 Rocket.Chat。

  1. npm install

移回父 Rocket.Chat 目录。

  1. cd ../..

我们需要设置一些环境变量来帮助 Rocket.Chat 跟踪 URL、端口等内容。

首先,将 ROOT_URL 变量设置为您的域名。这必须采用 URL 的形式。

  1. export ROOT_URL=https://example.com/

在 MONGO_URL 变量下设置 MongoDB 的 URL。

  1. export MONGO_URL=mongodb://localhost:27017/rocketchat

将 PORT 变量设置为 3000。

  1. export PORT=3000

现在您可以使用以下命令运行 Rocket.Chat:

  1. node main.js

如果没有任何错误,它就可以工作!不过现在,请使用 CTRL+C 停止 Rocket.Chat。现在 Rocket.Chat 已安装,我们需要设置 Nginx 以使用反向代理代理其所有流量,从而更轻松地访问 Rocket.Chat 并使用 SSL 证书加密所有通信。

第 3 步 — 使用 Nginx 设置反向代理

首先,安装 Nginx。

  1. sudo apt-get install -y nginx

将证书的私钥移动到 /etc/nginx/certificate.key。

  1. sudo cp /path/to/your/key /etc/nginx/certificate.key

例如,如果您创建了一个 Let's Encrypt 证书,您将使用 sudo cp /etc/letsencrypt/live/your_domain_name/privkey.pem /etc/nginx/certificate.key .

修改密钥的权限,使未经授权的窃贼无法访问。

  1. sudo chmod 400 /etc/nginx/certificate.key

将证书本身复制到 /etc/nginx/certificate.crt。

  1. sudo cp /path/to/your/cert /etc/nginx/certificate.crt

如果您创建了 Let's Encrypt 证书,该命令类似于 sudo cp /etc/letsencrypt/live/your_domain_name/cert.pem /etc/nginx/certificate.crt .

我们将为 Rocket.Chat 创建一个全新的配置,因此您可以删除默认配置以使其更容易一些。

  1. sudo rm /etc/nginx/sites-enabled/default

如果您将来出于任何原因需要该文件,它仍然可以在 /etc/nginx/sites-available/default

使用 nano 或您最喜欢的文本编辑器创建一个新的 /etc/nginx/sites-enabled/default。

  1. sudo nano /etc/nginx/sites-enabled/default

首先,我们将添加一个 upstream 块:

# Upstreams
upstream backend {
    server 127.0.0.1:3000;
}

在此之下,让我们创建一个 server 块。第一部分告诉 Nginx 在哪个端口上侦听连接,在本例中为 :443。它还让它知道我们的主机名是什么。不要忘记将 example.com 替换为您的域名。

server {
    listen 443;
    server_name example.com;

在此之下,我们告诉 Nginx 将 Rocket.Chat 的访问日志存储在何处,并将其指向我们放置在 /etc/nginx/certificate.key 和 /etc/nginx 中的 SSL 证书和密钥/certificate.crt 分别。

    error_log /var/log/nginx/rocketchat.access.log;

    ssl on;
    ssl_certificate /etc/nginx/certificate.crt;
    ssl_certificate_key /etc/nginx/certificate.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # don’t use SSLv3 ref: POODLE

现在我们使用 location 块完成配置:

    location / {
        proxy_pass http://example.com:3000/;
        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;
    }
}

这是供参考的完整文件:

server {
    listen 443;
    server_name example.com;
    error_log /var/log/nginx/rocketchat.access.log;

    ssl on;
    ssl_certificate /etc/nginx/certificate.crt;
    ssl_certificate_key /etc/nginx/certificate.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # don’t use SSLv3 ref: POODLE

    location / {
        proxy_pass http://example.com:3000/;
        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 以完成工作。

  1. sudo service nginx restart

检查 Nginx 是否正在运行。

  1. sudo service nginx status

如果您看到以下消息,则 Nginx 已启动并正在运行:

 * nginx is running

如果您看到错误消息,请检查 /var/log/nginx/rocketchat.access.log 和 /var/log/nginx/access.log 中的日志或错误日志在 /var/log/nginx/error.log。您还可以运行 nginx -t 来验证您的 Nginx 配置文件,这是大多数错误出现的地方。

确保您仍在 Rocket.Chat 文件夹中。

  1. cd ~/Rocket.Chat

然后运行以下命令再次启动 Rocket.Chat 备份。

  1. node main.js

Rocket.Chat 现在应该在 https://example.com 上线。您可以通过在您喜欢的浏览器中访问该地址来验证这一点。

在下一节中,我们将使用名为 forever-service 的节点模块将 Rocket.Chat 配置为在启动时自动运行。

第 4 步 — 将 Rocket.Chat 配置为服务

forever-service 自动为 Rocket.Chat 等节点应用生成初始化脚本。首先,我们需要安装 forever 本身,forever-service 依赖于它。

  1. sudo npm install -g forever

然后,安装 forever-service。

  1. sudo npm install -g forever-service

使用 forever-service 创建一个服务:

  1. sudo forever-service install -s main.js -e "ROOT_URL=https://example.com/ MONGO_URL=mongodb://localhost:27017/rocketchat PORT=3000" rocketchat

  • -s 标志后跟 main.js 告诉 forever-service 我们的脚本名为 main.js,而不是 app .js,这是默认的。
  • -e 标志后跟 ROOT_URL=https://example.com/ MONGO_URL=mongodb://localhost:27017/rocketchat PORT= 3000 将我们的环境变量传递给 forever-service。
  • 最后,rocketchat 告诉 forever-service 服务的名称。

有关 forever-service 语法的更多详细信息,请运行 forever-service --help。

现在我们可以启动 Rocket.Chat。这将初始化由 forever-service 创建的 rocketchat 服务。

  1. sudo start rocketchat

Rocket.Chat 现在应该在您在第 2 步中设置的 URL 上运行。确保您在此处使用 HTTPS。

Rocket.Chat 应该准备好了。在下一节中,我们将向 Rocket.Chat 添加我们的第一个管理员用户并浏览界面。

第 5 步 — 配置和使用 Rocket.Chat

访问我们之前设置 Rocket.Chat 的 URL。你应该看到这样的东西:

单击注册新帐户,然后输入第一个管理员的用户信息。

单击提交,然后为您的新用户选择一个用户名:

单击使用此用户名后,您将被带到主页:

就这样!您会在右侧看到,已经为您创建了一个#general 频道。如果单击它,您将被带到聊天室。随意玩一下。

现在让我们浏览一下界面。首先,让我们继续并通过单击频道旁边的小加号按钮来创建一个新频道:

随便命名:

现在点击保存,您将被带到您的新频道。

要访问管理界面,请单击用户名旁边的小箭头。它将下拉一个菜单:

单击管理。它将调出第二个菜单:

使用此菜单,我们可以配置和管理 Rocket.Chat 安装的各个方面。在用户部分,我们可以管理单个用户的权限,甚至可以邀请新用户。我们还可以使用 Integrations 视图向我们的安装添加更多功能。

结论

恭喜!现在,您和您的团队拥有了自己的聊天解决方案:Rocket.Chat,在 Ubuntu 14.04 服务器上运行。它设置为在启动时使用 forever-service 自动启动,并使用 Nginx 反向代理完全配备 SSL。您现在可能想要添加更多成员、创建更多频道,或者查看“管理”菜单的“集成”部分。玩得开心!

©2015-2025 艾丽卡 support@alaica.com