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. 反向代理(例如 NGINX 或 Apache)允许您将 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 以连接到它,如以下屏幕截图所示。