Rocket.Chat - Open Source timski komunikacijski alat za Linux


Rocket.Chat je besplatna platforma otvorenog koda, skalabilna, vrlo prilagodljiva i sigurna platforma koja vam omogućava da komunicirate i sarađujete sa svojim timom, dijelite datoteke i razgovarate u realnom vremenu. To je više platforma i radi na Linux, Windows, macOS, Android i iOS mobilnim operativnim sistemima.

Sličan je Slacku i sadrži chat uživo, besplatne audio i video konferencije, kanale, pristup gostima, dijeljenje ekrana i dijeljenje datoteka. Da bi se osigurala sigurna komunikacija, podržava LDAP grupnu sinhronizaciju, dvofaktorsku autentifikaciju (2FA), end-to-end enkripciju, jednokratnu prijavu i nekoliko Oauth provajdera.

Ono što je važno, budući da je potpuno otvoren izvor, možete pristupiti njegovom izvornom kodu kako biste u potpunosti prilagodili, proširili ili dodali novu funkcionalnost kako bi zadovoljili zahtjeve vašeg tima ili poslovanja.

U ovom članku ćete naučiti kako da instalirate i konfigurišete Rocket.Chat server i klijent na Linux sistemu.

Korak 1: Instaliranje Snaps-a u Linuxu

1. Najlakši način za instaliranje Rocket.Chat je korištenje Snapsa – podržava ih većina ako ne i sve moderne Linux distribucije i one su sigurne jer rade ograničeni pod restriktivnim sigurnosnim sandboxom. Uz to, pomoću snap-ova, također možete automatski ažurirati kada je dostupna nova verzija paketa.

Prvo, uvjerite se da imate snapd paket instaliran na vašem sistemu, inače ga instalirajte koristeći svoj zadani upravitelj paketa kao što je prikazano.

sudo apt install snapd		#Ubuntu and Debian
sudo dnf install snapd		#Fedora 22+/CentOS/RHEL 8
sudo yum install snapd		#CentOS/RHEL 7

2. Kada se instalacija završi, morate omogućiti systemd jedinicu koja upravlja glavnom snap komunikacijskom utičnicom na sljedeći način. Imajte na umu da će ova komanda pokrenuti socket i omogućiti mu da se pokrene pri pokretanju sistema. Na Ubuntu, ovo bi trebalo biti urađeno automatski nakon što se instalacija paketa završi.

sudo systemctl enable --now snapd.socket

Dodatno, možete omogućiti klasičnu podršku za snap stvaranjem simboličke veze između /var/lib/snapd/snap i /snap.

 
sudo ln -s /var/lib/snapd/snap /snap

Korak 2: Instaliranje Rocket.Chat u Linux

3. Sada kada imate instaliran Snapd, pokrenite sljedeću naredbu da instalirate rocketchat-server.
$sudo snap install rocketchat-server

4. Kada se instalacija snap završi, vaš rocket.chat server će početi raditi i slušati na portu 3000 prema zadanim postavkama. Otvorite web pretraživač i unesite sljedeću adresu da postavite rocket.chat na sistemu.

http://SERVER_IP:3000

5. Nakon što se čarobnjak za postavljanje učita, navedite puno ime administrativnog korisnika, korisničko ime, organizacijsku e-poštu i lozinku.

6. Zatim unesite informacije o organizaciji (tip organizacije, naziv, industrija, veličina, država i web stranica), a zatim kliknite Nastavi.

7. Zatim navedite informacije o serveru (naziv web-mjesta, zadano, tip servera i također omogućite 2FA ili ne). Zatim kliknite Nastavi.

8. Na sljedećoj stranici registrirajte server. Ovdje postoje dvije opcije, zadana postavka je korištenje unaprijed konfigurisanih gateway-a i proksija koje pruža Rocket.Chat (ovo je preporučena opcija).

Alternativno, možete odabrati da ostanete samostalni i kreirate naloge kod provajdera usluga, ažurirate unapred konfigurisana podešavanja i ponovo kompajlirate mobilne aplikacije sa svojim privatnim sertifikatima. I kliknite Nastavi.

Podešavanje je završeno i vaš radni prostor je spreman. Kliknite na Idi na svoj radni prostor.

Korak 3: Konfiguriranje obrnutog proxyja za Rocket.Chat

9. Obrnuti proxy kao što je NGINX ili Apache omogućava vam da konfigurirate aplikaciju Rocket.Chat da bude dostupna preko domene ili poddomene (npr. http://chat.linux-console.net) umjesto upisivanja adrese servera i porta aplikacije (npr. http://10.42.0.247:3000 >).

Osim toga, Rocket.Chat je server aplikacija srednjeg nivoa koji ne rukuje SSL/TLS-om. Obrnuti proxy vam također omogućava da konfigurirate SSL/TLS certifikate da omogućite HTTPS.

Omogućite Nginx Reverse Proxy za Rocket.Chat

10. Prvo instalirajte NGINX paket ako još nije instaliran na vašem sistemu.

sudo apt apt install nginx		#Ubuntu/Debian 
sudo dnf install nginx		#Fedora 22+/CentOS/RHEL 8
sudo yum install nginx		#CentOS/RHEL 7

11. Kada se instalacija paketa završi, pokrenite Nginx servis, za sada omogućite da se automatski pokreće pri pokretanju sistema i provjerite njegov status kako biste bili sigurni da radi.

sudo systemctl enable --now nginx
sudo systemctl status nginx

12. Zatim kreirajte datoteku bloka virtuelnog servera za aplikaciju Rocket.Chat u direktoriju /etc/nginx/conf.d/, na primjer.

sudo vim /etc/nginx/conf.d/chat.linux-console.net.conf

Zatim kopirajte i zalijepite sljedeću konfiguraciju u datoteku (zamijenite chat.linux-console.net sa vašom važećom poddomenom ili domenom).

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;
    }
}

Sačuvajte datoteku i zatvorite je.

13. Zatim provjerite konfiguraciju NGINX za bilo kakav problem sa sintaksom. Ako je sve u redu, ponovo pokrenite Nginx servis da biste primijenili nedavne promjene.

sudo nginx -t
sudo systemctl restart nginx

Omogućite Apache Reverse Proxy za Rocket.Chat

14. Počnite tako što ćete instalirati Apache2 paket ako još nije instaliran na vašem sistemu.

sudo apt install apache2		#Ubuntu/Debian 
sudo dnf install httpd		#Fedora 22+/CentOS/RHEL 8
sudo yum install httpd		#CentOS/RHEL 7

15. Zatim pokrenite i omogućite apache uslugu i provjerite da li je pokrenuta i radi na sljedeći način.

----- 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. Zatim kreirajte virtuelnu datoteku hosta za aplikaciju Rocket.Chat pod /etc/apache2/sites-available/ ili >/etc/httpd/conf.d/ direktorij, na primjer.

----- 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. Kopirajte i zalijepite sljedeću konfiguraciju u njega, zamijenite chat.linux-console.net vašom važećom domenom.

<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>

Sačuvajte datoteku i zatvorite je.

18. Na Ubuntu i Debianu omogućite potrebne apache2 module i ponovo pokrenite uslugu da biste primijenili nedavne promjene.

sudo a2enmod proxy_http
sudo a2enmod proxy_wstunnel
sudo a2enmod rewrite
sudo systemctl restart apache2

Na CentOS/RHEL i Fedori, jednostavno ponovo pokrenite apache uslugu.

systemctl restart httpd

19. Sada je sve ispravno konfigurisano, otvorite svoj pretraživač i upišite sljedeću adresu. Aplikacija Rocket.Chat bi trebala biti dostupna koristeći vašu domenu konfiguriranu na proxy serveru.

http://chat.linux-console.net

20. Sljedeći ključni korak je dodavanje prednosti sigurnosti i privatnosti HTTPS certifikata vašoj usluzi za ćaskanje. Za proizvodno okruženje preporučujemo korištenje Let’s Encrypt koji je besplatan i kojem većina modernih web preglednika vjeruje.

Imajte na umu da je Let’s Encrypt automatiziran: možete koristiti certbot, besplatni alat otvorenog koda za automatsko preuzimanje i instalaciju ili jednostavno preuzimanje i ručno instaliranje Let’s Encrypt certifikata u mainstream Linux distribucijama i web serverima.

Korak 4: Instaliranje Rocket.Chat Clients na desktopu

21. Na kraju, ali ne i najmanje važno, možete preuzeti i instalirati Rocket.Chat desktop aplikaciju za Linux, Mac ili Windows sa Rocket.Chat-a > web stranica projekta. Također nudi mobilne aplikacije za Android i iOS.

Da biste instalirali radnu površinu na Linuxu, preuzeli ste deb (X64) ili RPM (X64) paket, ovisno o vašoj Linux distribuciji.

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. Zatim instalirajte paket koristeći dpkg ili rpm menadžer paketa kao što je prikazano.

sudo dpkg -i rocketchat_2.17.7_amd64.deb      #Ubuntu/Debian
sudo rpm -i rocketchat-2.17.7.x86_64.rpm      #CentOS/RedHat

23. Jednom kada je instalacija paketa završena, potražite rocket.chat u izborniku i pokrenite je. Nakon što se učita, unesite URL vašeg servera da se povežete s njim kao što je prikazano na sljedećem snimku ekrana.