Rocket.Chat 是一個免費、開源、可擴展、高度可定制和安全的平台,可讓您與團隊通訊、協作、共享文件並即時聊天。它跨平台運行於 Linux、Windows、macOS、Android 和 iOS 行動操作系統。
它類似於 Slack,具備即時聊天、免費音頻和視頻會議、頻道、訪客訪問、屏幕共享和文件共享等功能。為確保安全通信,它支持 LDAP 群組同步、雙因素身份驗證(2FA)、端到端加密、單點登錄以及多個 Oauth 提供商。
重要的是,作為完全開源的,您可以訪問其源代碼以完全定制、擴展或添加新功能,以滿足您的團隊或業務需求。
在本文中,您將學習如何在 Linux 系統上安裝和配置 Rocket.Chat 服務器和客戶端。
步驟 1:在 Linux 中安裝 Snaps
1. 通過使用 Snaps 是安裝 Rocket.Chat 的最簡單方法——它們受到大多數現代 Linux 發行版的支持,它們安全,因為它們在受限制的安全沙箱下運行。此外,使用 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。打開網絡瀏覽器並輸入以下地址以在系統上設置rocket.chat。
http://SERVER_IP:3000
5. 在設置嚮導加載後,提供管理用戶的全名、用戶名、組織郵件和密碼。

6. 接下來,提供組織信息(組織類型、名稱、行業、規模、國家和網站),然後點擊繼續。

7. 接下來,提供服務器信息(站點名稱、默認值、服務器類型,並啟用2FA與否)。然後點擊繼續。

8. 在下一頁註冊伺服器。這裡有兩個選項,預設是使用Rocket.Chat提供的預配置閘道和代理(這是推薦選項)。
或者,您也可以選擇保持獨立,並與服務提供商建立帳戶,更新預配置設置,以及使用您的私人證書重新編譯移動應用程序。然後點擊繼續。

設置完成後,您的工作區就準備好了。點擊前往您的工作區。


步驟3:為Rocket.Chat配置反向代理
9. 如NGINX或Apache等反向代理允許您配置Rocket.Chat應用程序,通過域名或子域名(例如http://chat.tecmint.com)訪問,而不是輸入伺服器地址和應用程序端口(例如http://10.42.0.247:3000)。
此外,Rocket.Chat是一個中間層應用程序服務器,不處理SSL/TLS。反向代理還允許您配置SSL/TLS證書以啟用HTTPS。
啟用Nginx反向代理為Rocket.Chat
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. 接下來,在 Rocket.Chat 應用程式的 /etc/nginx/conf.d/ 目錄下建立一個虛擬伺服器區塊檔案,例如。
$ 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.現在一切設定正確,打開您的瀏覽器並輸入以下地址。使用代理伺服器中配置的您的域名,應該可以訪問Rocket.Chat應用程式。
http://chat.tecmint.com

20.下一個關鍵步驟是為您的聊天服務添加安全性和隱私性好處的HTTPS證書。對於生產環境,我們建議使用Let’s Encrypt,它是免費的並且受到大多數現代網絡瀏覽器的信任。
請注意,Let’s Encrypt是自動的:您可以使用certbot,一個免費的開源工具來自動獲取和安裝,或者僅僅獲取並手動安裝Let’s Encrypt證書在主流的Linux發行版和Web服務器中。
第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/