Wyszukiwanie w witrynie

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.