Rocket.Chat 是一个免费、开源、可扩展、高度可定制和安全的平台,让您可以与团队进行沟通和协作,共享文件,并实时聊天。它跨平台运行在 Linux、Windows、macOS、Android 和 iOS 移动操作系统上。
它类似于 Slack,具有实时聊天、免费音频和视频会议、频道、访客访问、屏幕共享和文件共享等功能。为了确保安全通信,它支持 LDAP 组同步、双因素身份验证(2FA)、端到端加密、单点登录以及多个 OAuth 提供者。
重要的是,作为完全开源的,您可以访问其源代码来完全定制、扩展或添加新功能,以满足您团队或业务的需求。
在本文中,您将学习如何在 Linux 系统上安装和配置 Rocket.Chat 服务器和客户端。
第一步:在 Linux 中安装 Snaps
1. 使用 Snaps 安装 Rocket.Chat 的最简单方法 – 大多数现代 Linux 发行版都支持 Snaps,并且它们是安全的,因为它们在受限制的安全沙箱中运行。此外,使用 Snaps,您还可以在包的新版本可用时进行自动更新。
首先,请确保您的系统上安装了 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 之间创建符号链接来启用经典 snap 支持。
$ sudo ln -s /var/lib/snapd/snap /snap
第二步:在 Linux 中安装 Rocket.Chat
3. 现在您已经安装了 Snapd,请运行以下命令以安装 rocketchat-server。
$ sudo snap install rocketchat-server
4. 安装 snap 后,您的 rocket.chat 服务器将默认在端口 3000 上运行并侦听。打开 Web 浏览器并输入以下地址以在系统上设置 rocket.chat。
http://SERVER_IP:3000
5. 设置向导加载后,提供管理员用户的全名、用户名、组织电子邮件和密码。

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

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

8.在下一页上注册服务器。这里有两个选项,默认选项是使用Rocket.Chat提供的预配置网关和代理(这是推荐选项)。
或者,您可以选择保持独立,使用服务提供商创建帐户,更新预配置设置,并使用您的私有证书重新编译移动应用程序。然后点击“继续”。

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


步骤3:配置
9.反向代理,例如NGINX或Apache,允许您配置Rocket.Chat应用程序通过域或子域(例如http://chat.tecmint.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.tecmint.com.conf
然后将以下配置复制并粘贴到文件中(将chat.tecmint.com替换为您的有效子域名或域名)。
upstream backend { server 127.0.0.1:3000; } server { listen 80; server_name chat.tecmint.com; # 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
启用Apache反向代理为Rocket.Chat
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/httpd/conf.d/`目录下为Rocket.Chat应用程序创建一个虚拟主机文件,例如。
----- On Ubuntu/Debian ----- $ sudo vim /etc/apache2/sites-available/chat.tecmint.com.conf ----- On CentsOS/RHEL 7/8 ----- $ sudo vim /etc/httpd/conf.d/chat.tecmint.com.conf
17. 将以下配置复制并粘贴到文件中,将chat.tecmint.com替换为您的有效域名。
<VirtualHost *:80> ServerAdmin [email protected] ServerName chat.tecmint.com LogLevel info ErrorLog /var/log/chat.tecmint.com_error.log TransferLog /var/log/chat.tecmint.com_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. 现在一切配置正确,请打开您的浏览器并输入以下地址。代理服务器中配置的域名应该可以访问
http://chat.tecmint.com

20. 下一个关键步骤是为您的聊天服务添加安全性和隐私保护,即使用HTTPS证书。对于生产环境,我们建议使用Let’s Encrypt,它是免费的并且被大多数现代网页浏览器所信任。
请注意,Let’s Encrypt是自动化的:您可以使用certbot,一个免费的开源工具,在主流Linux发行版和网络服务器中自动获取和安装,或者只是获取并手动安装Let’s Encrypt证书。
第4步:在桌面安装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 进行连接。
Source:
https://www.tecmint.com/rocket-chat-open-source-team-chat-for-linux/