网站搜索

Rocket.Chat - 适用于 Linux 的开源团队沟通工具


Rocket.Chat 是一个免费、开源、可扩展、高度可定制且安全的平台,可让您与团队进行沟通和协作、共享文件以及实时聊天。它是跨平台的,可以在 Linux、Windows、macOS、Android 和 iOS 移动操作系统上运行。

它类似于 Slack,具有实时聊天、免费音频和视频会议、频道、访客访问、屏幕共享和文件共享功能。为了确保安全通信,它支持 LDAP 组同步、双因素身份验证 (2FA)、端到端加密、单点登录和多个 Oauth 提供程序。

重要的是,由于完全开源,您可以访问其源代码来完全自定义、扩展或添加新功能,以满足您的团队或业务需求。

在本文中,您将学习如何在 Linux 系统上安装和配置 Rocket.Chat 服务器和客户端。

第 1 步:在 Linux 中安装 Snap

1. 安装Rocket.Chat的最简单方法是使用Snaps - 大多数(如果不是全部)现代Linux发行版都支持它们,并且它们是安全的因为它们在严格的安全沙箱下运行。此外,通过快照,您还可以在有新版本的软件包可用时自动更新。

首先,确保您的系统上安装了 snapd 软件包,否则使用默认软件包管理器进行安装,如下所示。

sudo apt install snapd		#Ubuntu and Debian
sudo dnf install snapd		#Fedora 22+/CentOS/RHEL 8
sudo yum install snapd		#CentOS/RHEL 7

2.安装完成后,您需要启用管理主 snap 通信套接字的 systemd 单元,如下所示。请注意,此命令将启动套接字并使其能够在系统引导时启动。在 Ubuntu 上,这应该在软件包安装完成后自动完成。

sudo systemctl enable --now snapd.socket

此外,您可以通过在 /var/lib/snapd/snap/snap 之间创建符号链接来启用经典快照支持。

 
sudo ln -s /var/lib/snapd/snap /snap

第2步:在Linux中安装Rocket.Chat

3.现在您已经安装了Snapd,请运行以下命令来安装rocketchat-server
$sudo snap install Rocketchat-服务器

4. 当 snap 安装完成后,您的 rocket.chat 服务器将开始运行并默认在端口 3000 上侦听。打开网络浏览器并输入以下地址以在系统上设置rocket.chat

http://SERVER_IP:3000

5. 设置向导加载后,提供管理用户的全名、用户名、组织电子邮件和密码。

6. 接下来,提供组织信息(组织类型、名称、行业、规模、国家/地区和网站),然后单击“继续”。

7. 接下来,提供服务器信息(站点名称、默认值、服务器类型,以及是否启用 2FA)。然后单击继续。

8. 在下一页上,注册服务器。这里有两个选项,默认是使用Rocket.Chat提供的预配置网关和代理(这是推荐选项)。

或者,您可以选择保持独立并与服务提供商创建帐户、更新预配置的设置,以及使用您的私有证书重新编译移动应用程序。然后单击继续。

设置已完成,您的工作区已准备就绪。点击转到您的工作区

步骤3:为Rocket.Chat配置反向代理

9. 反向代理(例如 NGINXApache)允许您将 Rocket.Chat 应用程序配置为可访问通过域或子域(例如 http://chat.howtoing.com),而不是键入服务器的地址和应用程序端口(例如 http://10.42.0.247:3000 >)。

此外,Rocket.Chat 是一个不处理 SSL/TLS 的中间层应用程序服务器。反向代理还允许您配置 SSL/TLS 证书以启用 HTTPS。

为 Rocket.Chat 启用 Nginx 反向代理

10. 首先,如果您的系统上尚未安装 NGINX 软件包,请安装它。

sudo apt apt install nginx		#Ubuntu/Debian 
sudo dnf install nginx		#Fedora 22+/CentOS/RHEL 8
sudo yum install nginx		#CentOS/RHEL 7

11.软件包安装完成后,启动Nginx服务,暂时使其在系统启动时自动启动并检查其状态以确保其正在运行。

sudo systemctl enable --now nginx
sudo systemctl status nginx

12.接下来,在/etc/nginx/conf.d/目录下为Rocket.Chat应用程序创建一个虚拟服务器块文件,例如。

sudo vim /etc/nginx/conf.d/chat.linux-console.net.conf

然后将以下配置复制并粘贴到文件中(将 chat.howtoing.com 替换为您的有效子域或域)。

upstream backend {
    server 127.0.0.1:3000;
}

server {
    listen 80;
    server_name chat.linux-console.net;

    # You can increase the limit if you need to.
    client_max_body_size 200M;

    error_log /var/log/nginx/chat.tecmint.com.log;

    location / {
        proxy_pass http://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-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;
        proxy_redirect off;
    }
}

保存文件并关闭它。

13. 然后检查 NGINX 配置是否存在任何语法问题。如果没问题,请重新启动 Nginx 服务以应用最近的更改。

sudo nginx -t
sudo systemctl restart nginx

为 Rocket.Chat 启用 Apache 反向代理

14. 首先在您的系统上安装 Apache2 软件包(如果尚未安装)。

sudo apt install apache2		#Ubuntu/Debian 
sudo dnf install httpd		#Fedora 22+/CentOS/RHEL 8
sudo yum install httpd		#CentOS/RHEL 7

15. 接下来,启动并启用 apache 服务并检查它是否已启动并运行,如下所示。

----- On Ubuntu/Debian -----
sudo systemctl enable --now apache2 	
sudo systemctl status apache2

----- On CentsOS/RHEL 7/8 ----- 
sudo systemctl enable --now httpd
sudo systemctl status httpd

16. 接下来,在 /etc/apache2/sites-available//etc/apache2/sites-available/ 目录下为 Rocket.Chat 应用程序创建虚拟主机文件>/etc/httpd/conf.d/ 目录,例如。

----- On Ubuntu/Debian -----
sudo vim /etc/apache2/sites-available/chat.linux-console.net.conf

----- On CentsOS/RHEL 7/8 ----- 
sudo vim /etc/httpd/conf.d/chat.linux-console.net.conf

17.复制并粘贴以下配置,将chat.howtoing.com替换为您的有效域名。

<VirtualHost *:80>
    ServerAdmin [email 
    ServerName chat.linux-console.net

    LogLevel info
    ErrorLog /var/log/chat.linux-console.net_error.log
    TransferLog /var/log/chat.linux-console.net_access.log

    <Location />
        Require all granted
    </Location>

    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /(.*)           ws://localhost:3000/$1 [P,L]
    RewriteCond %{HTTP:Upgrade} !=websocket [NC]
    RewriteRule /(.*)           http://localhost:3000/$1 [P,L]

    ProxyPassReverse /          http://localhost:3000/
</VirtualHost>

保存文件并关闭它。

18. 在 Ubuntu 和 Debian 上启用所需的 apache2 模块并重新启动服务以应用最近的更改。

sudo a2enmod proxy_http
sudo a2enmod proxy_wstunnel
sudo a2enmod rewrite
sudo systemctl restart apache2

在 CentOS/RHEL 和 Fedora 上,只需重新启动 apache 服务即可。

systemctl restart httpd

19.现在一切都已正确配置,打开浏览器并输入以下地址。 Rocket.Chat 应用程序应该可以使用代理服务器中配置的域进行访问。

http://chat.linux-console.net

20. 下一个关键步骤是将 HTTPS 证书的安全和隐私优势添加到您的聊天服务中。对于生产环境,我们建议使用 Let’s Encrypt,它是免费的并且受到大多数现代网络浏览器的信任。

请注意,Let’s Encrypt 是自动化的:您可以使用免费开源工具 certbot 在主流 Linux 发行版和 Web 服务器中自动获取并安装或简单地获取并手动安装 Let’s Encrypt 证书。

第四步:在桌面上安装Rocket.Chat客户端

21. 最后但并非最不重要的一点是,您可以从 Rocket.Chat 下载并安装适用于 Linux、Mac 或 Windows 的 Rocket.Chat 桌面应用程序> 项目网站。它还提供适用于 Android 和 iOS 的移动应用程序。

要在 Linux 上安装桌面应用程序,您可以根据您的 Linux 发行版下载 deb (x64) 或 rpm(x64) 软件包。

wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb
OR
wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm

22. 然后使用 dpkg 或 rpm 软件包管理器安装软件包,如图所示。

sudo dpkg -i rocketchat_2.17.7_amd64.deb      #Ubuntu/Debian
sudo rpm -i rocketchat-2.17.7.x86_64.rpm      #CentOS/RedHat

23.软件包安装完成后,在系统菜单中搜索rocket.chat并启动它。加载后,输入服务器的 URL 以连接到它,如以下屏幕截图所示。