Rocket.Chat — narzędzie do komunikacji zespołowej typu open source dla systemu Linux
Rocket.Chat to bezpłatna, open source, skalowalna, wysoce konfigurowalna i bezpieczna platforma, która umożliwia komunikację i współpracę z zespołem, udostępnianie plików i czatowanie w czasie rzeczywistym. Jest wieloplatformowy i działa na mobilnych systemach operacyjnych Linux, Windows, macOS, Android i iOS.
Jest podobny do Slack i oferuje czat na żywo, bezpłatne konferencje audio i wideo, kanały, dostęp dla gości, udostępnianie ekranu i udostępnianie plików. Aby zapewnić bezpieczną komunikację, obsługuje synchronizację grup LDAP, uwierzytelnianie dwuskładnikowe (2FA), kompleksowe szyfrowanie, jednokrotne logowanie i kilku dostawców Oauth.
Co ważne, będąc w pełni oprogramowaniem typu open source, możesz uzyskać dostęp do jego kodu źródłowego, aby w pełni dostosować, rozszerzyć lub dodać nowe funkcje, aby spełnić wymagania Twojego zespołu lub firmy.
W tym artykule dowiesz się, jak zainstalować i skonfigurować serwer i klienta Rocket.Chat w systemie Linux.
Krok 1: Instalowanie Snapów w systemie Linux
1. Najłatwiejszym sposobem zainstalowania Rocket.Chat jest użycie Snapów – są obsługiwane przez większość, jeśli nie wszystkie, nowoczesne dystrybucje Linuksa i są bezpieczne ponieważ działają w ramach restrykcyjnej piaskownicy bezpieczeństwa. Dodatkowo dzięki snapom możesz także automatycznie aktualizować, gdy dostępna będzie nowa wersja pakietu.
Najpierw upewnij się, że masz zainstalowany pakiet snapd w swoim systemie. W przeciwnym razie zainstaluj go, korzystając z domyślnego menedżera pakietów, jak pokazano.
sudo apt install snapd #Ubuntu and Debian
sudo dnf install snapd #Fedora 22+/CentOS/RHEL 8
sudo yum install snapd #CentOS/RHEL 7
2. Po zakończeniu instalacji musisz włączyć jednostkę systemd zarządzającą głównym gniazdem komunikacyjnym Snap w następujący sposób. Należy pamiętać, że to polecenie uruchomi gniazdo i umożliwi jego uruchomienie przy starcie systemu. W Ubuntu powinno to nastąpić automatycznie po zakończeniu instalacji pakietu.
sudo systemctl enable --now snapd.socket
Dodatkowo możesz włączyć obsługę klasycznego przyciągania, tworząc dowiązanie symboliczne pomiędzy /var/lib/snapd/snap i /snap.
sudo ln -s /var/lib/snapd/snap /snap
Krok 2: Instalacja Rocket.Chat w systemie Linux
3. Teraz, gdy masz zainstalowany Snapd, uruchom następujące polecenie, aby zainstalować rocketchat-server.
$sudo snap install rocketchat-server
4. Po zakończeniu instalacji przystawkowej Twój serwer rocket.chat zacznie działać i nasłuchiwać na porcie 3000 domyślnie. Otwórz przeglądarkę internetową i wprowadź następujący adres, aby skonfigurować rocket.chat w systemie.
http://SERVER_IP:3000
5. Po załadowaniu kreatora konfiguracji podaj pełne imię i nazwisko użytkownika administracyjnego, nazwę użytkownika, organizacyjny adres e-mail i hasło.
6. Następnie podaj informacje organizacyjne (typ organizacji, nazwa, branża, wielkość, kraj i witryna internetowa), a następnie kliknij Kontynuuj.
7. Następnie podaj informacje o serwerze (nazwa witryny, wartość domyślna, typ serwera, a także włącz 2FA lub nie). Następnie kliknij Kontynuuj.
8. Na następnej stronie zarejestruj serwer. Są tu dwie opcje, domyślnie używa się wstępnie skonfigurowanych bramek i serwerów proxy dostarczonych przez Rocket.Chat (jest to opcja zalecana).
Alternatywnie możesz zachować niezależność i utworzyć konta u dostawców usług, zaktualizować wstępnie skonfigurowane ustawienia, a także ponownie skompilować aplikacje mobilne przy użyciu prywatnych certyfikatów. I kliknij Kontynuuj.
Konfiguracja została zakończona, a obszar roboczy jest gotowy. Kliknij Przejdź do swojego obszaru roboczego.
Krok 3: Konfiguracja odwrotnego proxy dla Rocket.Chat
9. Odwrotne proxy, takie jak NGINX lub Apache, umożliwia skonfigurowanie dostępności aplikacji Rocket.Chat poprzez domenę lub subdomenę (np. http://chat.linux-console.net) zamiast wpisywać adres serwera i port aplikacji (np. http://10.42.0.247:3000 >).
Ponadto Rocket.Chat to serwer aplikacji średniego poziomu, który nie obsługuje protokołu SSL/TLS. Odwrotne proxy umożliwia także skonfigurowanie certyfikatów SSL/TLS w celu włączenia protokołu HTTPS.
Włącz odwrotne proxy Nginx dla Rocket.Chat
10. Najpierw zainstaluj pakiet NGINX, jeśli nie jest on jeszcze zainstalowany w Twoim systemie.
sudo apt apt install nginx #Ubuntu/Debian
sudo dnf install nginx #Fedora 22+/CentOS/RHEL 8
sudo yum install nginx #CentOS/RHEL 7
11. Po zakończeniu instalacji pakietu uruchom usługę Nginx, na razie włącz ją, aby automatycznie uruchamiała się przy starcie systemu i sprawdź jej status, aby upewnić się, że działa.
sudo systemctl enable --now nginx
sudo systemctl status nginx
12. Następnie utwórz plik bloku serwera wirtualnego dla aplikacji Rocket.Chat w katalogu /etc/nginx/conf.d/, Na przykład.
sudo vim /etc/nginx/conf.d/chat.linux-console.net.conf
Następnie skopiuj i wklej poniższą konfigurację do pliku (zastąp chat.linux-console.net prawidłową subdomeną lub domeną).
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;
}
}
Zapisz plik i zamknij go.
13. Następnie sprawdź konfigurację NGINX pod kątem problemów ze składnią. Jeśli wszystko jest w porządku, uruchom ponownie usługę Nginx, aby zastosować ostatnie zmiany.
sudo nginx -t
sudo systemctl restart nginx
Włącz odwrotne proxy Apache dla Rocket.Chat
14. Zacznij od zainstalowania pakietu Apache2, jeśli nie jest jeszcze zainstalowany, w Twoim systemie.
sudo apt install apache2 #Ubuntu/Debian
sudo dnf install httpd #Fedora 22+/CentOS/RHEL 8
sudo yum install httpd #CentOS/RHEL 7
15. Następnie uruchom i włącz usługę Apache oraz sprawdź, czy działa w następujący sposób.
----- 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. Następnie utwórz plik wirtualnego hosta dla aplikacji Rocket.Chat w katalogu /etc/apache2/sites-available/ lub /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. Skopiuj i wklej w nim poniższą konfigurację, zastąp chat.linux-console.net swoją prawidłową domeną.
<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>
Zapisz plik i zamknij go.
18. W Ubuntu i Debianie włącz wymagane moduły Apache2 i uruchom ponownie usługę, aby zastosować ostatnie zmiany.
sudo a2enmod proxy_http
sudo a2enmod proxy_wstunnel
sudo a2enmod rewrite
sudo systemctl restart apache2
W CentOS/RHEL i Fedorze po prostu uruchom ponownie usługę Apache.
systemctl restart httpd
19. Teraz wszystko jest skonfigurowane poprawnie, otwórz przeglądarkę i wpisz następujący adres. Aplikacja Rocket.Chat powinna być dostępna przy użyciu domeny skonfigurowanej na serwerze proxy.
http://chat.linux-console.net
20. Następnym kluczowym krokiem jest dodanie do usługi czatu korzyści związanych z bezpieczeństwem i prywatnością, jakie zapewnia certyfikat HTTPS. W środowisku produkcyjnym zalecamy korzystanie z programu Let's Encrypt, który jest bezpłatny i zaufany przez większość nowoczesnych przeglądarek internetowych.
Pamiętaj, że Let's Encrypt jest zautomatyzowany: możesz użyć certbota, darmowego narzędzia typu open source do automatycznego pobierania i instalowania certyfikatów Let's Encrypt lub po prostu pobierania i ręcznego instalowania certyfikatów Let's Encrypt w głównych dystrybucjach Linuksa i serwerach internetowych.
Krok 4: Instalowanie klientów Rocket.Chat na komputerze stacjonarnym
21. Na koniec możesz pobrać i zainstalować aplikację komputerową Rocket.Chat dla systemów Linux, Mac lub Windows z Rocket.Chat > strona internetowa projektu. Udostępnia także aplikacje mobilne na Androida i iOS.
Aby zainstalować aplikację komputerową w systemie Linux, należy pobrać pakiet deb (x64) lub obr./min (x64), w zależności od dystrybucji Linuksa.
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. Następnie zainstaluj pakiet za pomocą menedżera pakietów dpkg lub RPM, jak pokazano.
sudo dpkg -i rocketchat_2.17.7_amd64.deb #Ubuntu/Debian
sudo rpm -i rocketchat-2.17.7.x86_64.rpm #CentOS/RedHat
23. Po zakończeniu instalacji pakietu wyszukaj rocket.chat w Menu systemu i uruchom go. Po załadowaniu wprowadź adres URL swojego serwera, aby się z nim połączyć, jak pokazano na poniższym zrzucie ekranu.