Instalowanie korporacyjnego czatu rakiety.chat na Linux

Anonim

Rocket.Chat to bezpłatny skalowalny czat korporacyjny open source zaprojektowany z meteorem. Rocket.Chat można uznać za analogowy luz, który może być wdrażany na swoim serwerze i połączyć się z nim od klientów na Linuksie, Windows, MacOS, Android i IOS.

Instalowanie korporacyjnego czatu rakiety.chat na Linux 18002_1

Funkcje Rocket.Chat.

  • Czat w czasie rzeczywistym
  • Konferencje audio.
  • Konferencje wideo.
  • Kanały
  • Wewnętrzny
  • Ekran transmisji
  • Transfer plików
  • W pełni funkcjonalne API

Aby zapewnić użyte bezpieczeństwo:

  • Synchronizacja grupy LDAP.
  • 2FA uwierzytelnianie dwustopniowe
  • Przez szyfrowanie
  • Pojedynczy wejście SSO.
  • Wiele dostawców uwierzytelniania Outh

Mówimy, jak zainstalować i skonfigurować serwer i klient Rocket.Chat w Linux.

Krok 1. Instalacja przyciągania w Linuksie

Dla prostoty użyjemy systemu zarządzania pakietem SNAS. Przede wszystkim musisz zainstalować pakiet Snapd za pomocą menedżera pakietów.

$ Sudo Apt Install Snapd #ubuntu i Debian $ Sudo DNF Zainstaluj Snapd #fedora 22 + / Centos / RHEL 8 $ Sudo Yum Zainstaluj Snapd # Centos / Rhel 7

Następnie musisz włączyć moduł SystemD, który kontroluje główne gniazdo komunikacji instantów. To polecenie rozpocznie gniazdo i pozwoli na uruchomienie, gdy system jest załadowany.

$ Sudo SystemCtl Enable --now Snapd.socket

Krok 2: Instalowanie Rocket.Chat w Linux

Aby zainstalować Rocketchat-Server, Run:

$ Sudo Snap Zainstaluj Rocketchatchat-Server

Gdy instalacja za pomocą Snap jest zakończona, serwer Rocket.Chat rozpocznie działanie i słuchanie portu 3000. Dalej, otwórz przeglądarkę internetową i wprowadź poniższy adres, aby skonfigurować Rocket.Chat za pośrednictwem GUI.

http: // server_ip: 3000

Po pobraniu kreatora konfiguracji określ następujące parametry: pełna nazwa administratora, nazwa użytkownika, adres e-mail organizacji i hasła.

Instalowanie korporacyjnego czatu rakiety.chat na Linux 18002_2

Następnie musisz określić informacje o organizacji: rodzaj organizacji, nazwy, przemysłu, rozmiaru, kraju i witryny.

Instalowanie korporacyjnego czatu rakiety.chat na Linux 18002_3

Następnie musisz określić informacje o serwerze - nazwa witryny, język, typ serwera i włączanie lub wyłączanie uwierzytelniania dwukunktowego 2FA.

Instalowanie korporacyjnego czatu rakiety.chat na Linux 18002_4

Na następnej stronie musisz zarejestrować serwer. Istnieją tu dwie opcje. Pierwszym z nich jest użycie wstępnie ustawionych bram i serwerów proxy dostarczonych przez Rocket.Chat Second - Zapisz autonomię i utwórz konta od dostawców usług, aktualizuj zaprogramowane parametry i ponownie skompilować aplikacje mobilne z prywatnymi certyfikatami.

Instalowanie korporacyjnego czatu rakiety.chat na Linux 18002_5

Konfiguracja zakończona, a Twój obszar roboczy jest gotowy, teraz musisz kliknąć Przejdź do obszaru roboczego (przejdź do miejsca pracy)

Instalowanie korporacyjnego czatu rakiety.chat na Linux 18002_6

Tak wygląda.

Instalowanie korporacyjnego czatu rakiety.chat na Linux 18002_7
Krok 3: Ustawienia proxy Reverse for Rocket.Chat

Odwróć serwer proxy, taki jak Nginx lub Apache, umożliwia skonfigurowanie aplikacji Rocket.Chat, aby uzyskać dostęp za pośrednictwem domeny lub subdomenu. Rocket.Chat to serwer aplikacji na poziomie środkowym, który nie obsługuje SSL / TLS. Odwrócony proxy pozwoli Ci dostosować certyfikaty SSL / TLS, aby włączyć HTTPS.

Odwróć proxy Nginx dla Rocket.Chat

Najpierw zainstaluj Nginx.

$ sudo apt apt instalację Nginx # Ubuntu / Debian $ sudo DNF Zainstaluj Nginx #fedora 22 + / Centos / Rhel 8 $ sudo yum install nginx # centos / Rhel 7

Następnie uruchom usługę Nginx, włącz swój automatyczny start podczas ładowania systemu i sprawdź jego status

$ sudo Systemctl Włącz - Novow Nginx $ Sudo Systemctl Status Nginx

Następnie utwórz plik wirtualnego serwera blokowego dla aplikacji Rocket.Chat, na przykład w katalogu /etc/nginx/conf.d/.

$ sudo vim /etc/nginx/conf.d/chat.merionet.com.conf

Następnie włóż konfigurację do tego pliku, zastępując domenę do i oszczędzaj.

Upstream Backend {Server 127.0.0.1:3000; } Serwer {słuchaj 80; Server_name Chat.Merionet.com; # Możesz zwiększyć limit, jeśli chcesz. client_max_body_size 200m; Error_log /var/log/nginx/chat.merionet.com.log; Lokalizacja / {proxy_pass http: // backend /; proxy_http_version 1.1; Proxy_set_header Upgrade $ http_upgrade; Połączenie proxy_set_header "Upgrade"; proxy_set_header hosta $ http_host; proxy_set_header x-real-IP $ Remote_addr; proxy_set_header x-speed-for $ proxy_add_x_forward_for; proxy_set_header x-forter-proto http; proxy_set_header x-nginx-proxy Prawda; proxy_redirect wyłączony; }}

Wreszcie sprawdź składnię i uruchom ponownie usługę Nginx.

$ sudo nginx -t $ sudo systemctl restart nginx

Odwróć proxy Apache dla rocket.chat

Zainstaluj pakiet Apache2

$ sudo apt instalacja apache2 # ubuntu / debian $ sudo DNF Zainstaluj httpd #fedora 22 + / centos / RHEL 8 $ sudo yum install httpd # centos / rhel 7

Następnie uruchom i włącz usługę Apache i sprawdź, czy działa i działa.

----- W Ubuntu / Debian ----- $ sudo Systemctl Enable --now Apache2 $ Sudo Systemctl Status Apache2 ----- W CENTSOS / RHEL 7/8 ----- $ sudo Systemctl Włącz - teraz Httpd $ sudo Systemctl Status httpd

Następnie utworzyć wirtualny plik hosta dla aplikacji Rocket.Chat, na przykład w katalogu / etc / apache2 / witryny / lub /etc/httpd/conf.d/.

----- W Ubuntu / Debianie ----- $ sudo vim /etc/apache2/sites-available/chat.merionet.com.conf ----- w CENTSOS / RHEL 7/8 ---- $ sudo vim /etc/httpd/conf.d/chot.merionet.com.conf

Następnie włóż konfigurację do tego pliku, zastępując domenę do i oszczędzaj.

Serveradmin [email protected] ServerName Chat.Merionet.com LogLevel Informacje Errorlog /var/log/chat.merionet.com_error.log transferlog /var/log/chat.merionet.com_access.log Wymagaj wszystkiego, co zapewniono REWRITEENGEINE ON REWRILECOND% {http: Upgrade} = WebSocket [NC] Rewriterule /(.*) WS: // LocalHost: 3000 / $ 1 [P, L] Dwukristecond% {http: Upgrade}! = Websocket [NC] Revriterule /(.*) http: / / LocalHost: 3000 / $ 1 [P, L] ProxyPassReverse / http: // LocalHost: 3000 /

W Ubuntu i Debianie umożliwiają niezbędne moduły Apache2 i ponowne uruchomienie usługi.

$ sudo a2enmod proxy_http $ sudo a2enmod proxy_wstunnel $ sudo a2enmod przepisał $ sudo systemctl restart apache2

W Centos / Rhel i Fedorze ponownie uruchom usługi Apache.

# SystemCtl RESTART HTTPD

Teraz otwórz przeglądarkę i wprowadź skonfigurowany adres i aplikacja Rocket.Chat będzie dostępna za pośrednictwem domeny skonfigurowanej na serwerze proxy.

http://chat.merionet.com.

Instalowanie korporacyjnego czatu rakiety.chat na Linux 18002_8
Krok 4: Instalowanie klientów Rocket.Chat

Aplikacje klienta można pobrać z oficjalnej rocket.chat. Aby zainstalować aplikację pulpitu w Linux, pobierasz pakiet Deb (X64) lub RPM (X64) w zależności od rozkładu Linuksa.

$ wget -c https://github.com/rocketchat/Rocket.chat.electron/relases/download/2.17.7/Rocketchat_2.17.7_amd64.deb

Lub

$ wget -c https://github.com/rocketchat/rocket.chat.Electron/relases/download/2.17.7/Rocketchat-2.17.7.x86_64.RPM

Następny pakiet używający DPKG lub RPM Packet Manager

$ sudo dpkg -i rocketchat_2.17.7_amd64.deb # ubuntu / debian $ sudo rpm -i rocketchat-2.17.7.x86_64.rpm # centos / redhat

Ręczna instalacja Rocket.Chat.

Jeśli nie chcesz instalować rakiety.chat przez zatrzaski, możesz to zrobić ręcznie.

Instalacja węzła.js.

Najpierw zaktualizuj listę pakietów systemowych:

Sudo APT aktualizacja.

Ustaw node.js, NPM i wszystkie inne zależności wymagane do zbudowania pakietów NPM z kodu źródłowego:

Sudo Apt Install Nodejs NPM Build-Essential Curl Oprogramowanie-Właściwości-Wspólny GraphicsMagick

Użyjemy pakietu N, NPM, co pozwala interaktywnie zarządzać wersjami węzłów. Poniżej poniżej, aby zainstalować N i Node.js:

Sudo NPM Install -g dziedziczy N Sudo n 8.11.3

Instalacja mongodb.

MongoDB to baza danych NOSQL zorientowana na dokumenty, która jest używana przez Rocket.Chat do przechowywania danych.

Importuj klucz publiczny MongoDB i włączyć oficjalne repozytorium MongoDB:

Sudo Apt-Key Adv --eyserver HKP: //Keyserver.ubuntu.com: 80 --RECV 9DA31620334BD75D9DCB49F368818C72E529D4 sudo Dodaj-apt-repozytorium "Deb [Arch = AMD64] https://repo.mongodb.org/apt/ubuntu Bionic /mongodb-org/4.0 Multiverse '

Po włączeniu repozytorium APT zaktualizuj listę pakietów i zainstaluj MongoDB, wpisując:

Sudo APT Aktualizacja Sudo Apt Install Mongodb-Org

Następnie włącz i uruchom usługę mongodb:

Sudo Systemctl Start Mongod Sudo SystemCTL Włącz Mongod

Tworzenie nowego użytkownika systemu

Teraz musisz utworzyć nowego użytkownika i grupy o nazwie Rocket, która uruchomi instancje Rocket.Chat.

Sudo useradd -m -u -r -d / opt / rakieta rakieta

Dodaj użytkownika danych WWW do nowej grupy użytkowników i zmienić uprawnienia dostępu do katalogu / Rocket, aby Nginx może uzyskać dostęp do Rocket.Chat Instalacja:

Sudo usermod -a -g rakieta www-dane sudo chmod 750 / opt / rakieta

Instalowanie Rocket.Chat.

Przełącz na użytkownika rakiety

Sudo su - rakieta

Załaduj najnowszą stabilną wersję Rocket.Chat za pomocą Curl:

Curl -l https://relaress.Rocket.chat/laaterest/download -o rocket.chat.tgz

Po zakończeniu pobierania usuń archiwum i zmień nazwę katalogu w Rocket.Chat:

tar zxf rocket.chat.tgz mv pakiet rakiet.chat

Przejdź do katalogu rocket.chat/programs/server i zainstaluj wszystkie niezbędne pakiety NPM:

CD rocket.Chat/programs/server NPM install

Aby przetestować naszą instalację przed utworzeniem modułu SystemD i skonfigurowanie odwrotnego proxy za pomocą Nginx lub Apache, zainstalujemy niezbędne zmienne środowiskowe i uruchomimy serwer Rocket.Chat

Eksport portu = 3000 Eksport Root_url = http: //0.0.0.0: 3000 / Eksport Mongo_url = MongoDB: // LocalHost: 27017 / Rocketchat

Wróć do katalogu Rocket.Chat i uruchom serwer Rocket.Chat, wprowadzając następujące polecenia:

CD ../../ węzeł main.js

Jeśli nie ma błędów, powinieneś zobaczyć następujący wniosek:

? + ---------------------------------------------- +? |. Serwer działa |. ? + ---------------------------------------------- +? |. |. ? |. Rocket.Chat Wersja: 0.71.1 | ? |. Wersja Nodejs: 8.11.3 - x64 | ? |. Platforma: Linux | ? |. Port procesowy: 3000 | ? |. URL witryny: http: //0.0.0: 3000 / | ? |. Replikaset Oplog: Wyłączony | ? |. COMMITH HASH: E73DC78FFD | ? |. Zobowiązać się oddział: głowa | ? |. |. ? + ---------------------------------------------- +.

Zatrzymaj serwer Rocket.Chat za pomocą Ctrl + C i powrócić do użytkownika Sudo, wpisując wyjście.

Tworzenie modułu SystemD

Aby uruchomić Rocket.Chat jako usługę, musisz utworzyć plik modułu Rocketchat.Service w / etvice / SystemD / System / System.

sudo nano /etc/rsystemd/system/rocketchat.service.

Włóż następujący kod:

[Jednostka] Opis = Rocket.Chat Server After = Network.target nss-lookup.target Mongod.target [Service] StandardOutput = Syslog Standard EndicError = Syslog Syslogdentifier = Rocketchat Użytkownik = Rocket Environment = Mongo_url = Mongodb: // LocalHost: 27017 / Rocketchat Root_url = https: //chat.merionet.com port = 3000 Earthstart = / usr / Local / Bin / Node /opt/Rocket/rocket.Chat/main.js [Install] Panki = Multi-user.target

Powiedz SystemD, że stworzyliśmy nowy plik modułu i uruchom usługę Rocket.Chat, wykonując:

Sudo Systemctl Daemon-Reload Sudo SystemCtl Start Rocketchat

Sprawdź stan usługi:

Sudo SystemCtl Status Rocketchat

Wniosek powinien być taki:

* Rocketchat.Service - Rocket.Chat Serwer załadowany: załadowany (/etc/systemd/system/rocketchat.service; wyłączone; dostawca Preset: Włączone) Aktywny: Aktywny (Running) Od WED 2018-11-07 14:36:24 PST ; 5s temu Główne PID: 12693 (węzeł) Zadania: 10 (Limit: 2319) Krupa: / System

Wreszcie włącz automatyczne rozpoczęcie usługi Rocket.Chat podczas pobierania:

Sudo SystemCtl Włącz Rocketchat

Zakończ, zainstalowaliśmy Rocket.Chat ręcznie, możesz teraz przejść do konfigurowania odwrotnego proxy i inicjalizację systemu opisanego z etapu 3.

Wyniki

W niniejszej instrukcji dowiedziałeś się, jak zainstalować Rocket.Chat w Linux i jak skonfigurować Nginx i Apache jako tyłek proxy.

Aby dowiedzieć się więcej o Rocket.Chat Odwiedź stronę Dokumentacji.

Czytaj więcej