Rocket.Chat - Timski komunikacijski alat otvorenog koda za Linux


Rocket.Chat je besplatna, otvorenog koda, skalabilna, vrlo prilagodljiva i sigurna platforma koja vam omogućuje komunikaciju i suradnju sa svojim timom, dijeljenje datoteka i razgovor u stvarnom vremenu. Višeplatformski je i radi na mobilnim operativnim sustavima Linux, Windows, macOS, Android i iOS.

Sličan je Slacku i ima chat uživo, besplatne audio i video konferencije, kanale, pristup za goste, dijeljenje zaslona i dijeljenje datoteka. Kako bi se osigurala sigurna komunikacija, podržava grupnu sinkronizaciju LDAP, dvofaktorsku autentifikaciju (2FA), end-to-end enkripciju, jedinstvenu prijavu i nekoliko Oauth pružatelja usluga.

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

U ovom ćete članku naučiti kako instalirati i konfigurirati poslužitelj i klijent Rocket.Chat na Linux sustavu.

Korak 1: Instaliranje Snapsa u Linuxu

1. Najlakši način da instalirate Rocket.Chat je pomoću Snaps – podržava ih većina ako ne i sve moderne distribucije Linuxa i sigurni su jer rade zatvoreni pod restriktivnim sigurnosnim sandboxom. Osim toga, sa snapovima možete i automatski ažurirati kada je dostupna nova verzija paketa.

Najprije provjerite imate li paket snapd instaliran na vašem sustavu, inače ga instalirajte koristeći 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 je instalacija dovršena, trebate omogućiti jedinicu systemd koja upravlja glavnom snap komunikacijskom utičnicom na sljedeći način. Imajte na umu da će ova naredba pokrenuti utičnicu i omogućiti joj da se pokrene pri dizanju sustava. Na Ubuntu ovo bi se trebalo učiniti automatski nakon dovršetka instalacije paketa.

sudo systemctl enable --now snapd.socket

Osim toga, 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: Instalacija Rocket.Chat u Linuxu

3. Sada kada ste instalirali Snapd, pokrenite sljedeću naredbu da instalirate rocketchat-server.
$sudo snap instalirajte rocketchat-poslužitelj

4. Kada brza instalacija završi, vaš rocket.chat poslužitelj počet će raditi i slušati na priključku 3000 prema zadanim postavkama. Otvorite web preglednik i unesite sljedeću adresu za postavljanje rocket.chat na sustav.

http://SERVER_IP:3000

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

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

7. Zatim navedite informacije o poslužitelju (naziv web-mjesta, zadani, tip poslužitelja i također omogućite 2FA ili ne). Zatim kliknite Nastavi.

8. Na sljedećoj stranici registrirajte poslužitelj. Ovdje postoje dvije opcije, zadana je upotreba unaprijed konfiguriranih pristupnika i proxyja koje nudi Rocket.Chat (ovo je preporučena opcija).

Alternativno, možete odabrati da ostanete samostalni i kreirate račune kod davatelja usluga, ažurirate unaprijed konfigurirane postavke i također ponovno kompajlirate mobilne aplikacije sa svojim privatnim certifikatima. I kliknite Nastavi.

Postavljanje je dovršeno i vaš radni prostor je spreman. Kliknite Idi na svoj radni prostor.

Korak 3: Konfiguriranje obrnutog proxyja za Rocket.Chat

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

Osim toga, Rocket.Chat je poslužitelj aplikacija srednje razine koji ne rukuje SSL/TLS-om. Obrnuti proxy vam također omogućuje konfiguriranje SSL/TLS certifikata za omogućavanje HTTPS-a.

Omogući Nginx Reverse Proxy za Rocket.Chat

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

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

11. Nakon dovršetka instalacije paketa, pokrenite uslugu Nginx, za sada je omogućite da se automatski pokrene pri pokretanju sustava i provjerite njen status kako biste bili sigurni da radi.

sudo systemctl enable --now nginx
sudo systemctl status nginx

12. Zatim stvorite datoteku bloka virtualnog poslužitelja za aplikaciju Rocket.Chat u /etc/nginx/conf.d/ direktoriju, 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 svojom valjanom 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;
    }
}

Spremite datoteku i zatvorite je.

13. Zatim provjerite ima li u konfiguraciji NGINX sintakse problema. Ako je u redu, ponovno pokrenite uslugu Nginx za primjenu nedavnih promjena.

sudo nginx -t
sudo systemctl restart nginx

Omogući Apache Reverse Proxy za Rocket.Chat

14. Započnite instaliranjem paketa Apache2 ako još nije instaliran na vašem sustavu.

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 uslugu apache i provjerite radi li kako slijedi.

----- 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 stvorite datoteku virtualnog hosta za aplikaciju Rocket.Chat pod /etc/apache2/sites-available/ ili /etc/httpd/conf.d/ imenik, 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 nju, zamijenite chat.linux-console.net svojom valjanom 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>

Spremite datoteku i zatvorite je.

18. Na Ubuntuu i Debianu omogućite potrebne module apache2 i ponovno pokrenite uslugu za primjenu nedavnih promjena.

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

Na CentOS/RHEL i Fedora jednostavno ponovno pokrenite apache uslugu.

systemctl restart httpd

19. Sada je sve ispravno konfigurirano, otvorite svoj preglednik i upišite sljedeću adresu. Aplikacija Rocket.Chat trebala bi biti dostupna pomoću vaše domene konfigurirane na proxy poslužitelju.

http://chat.linux-console.net

20. Sljedeći ključni korak je dodavanje prednosti sigurnosti i privatnosti HTTPS certifikata vašoj usluzi chata. Za produkcijsko 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 dobivanje i instaliranje ili jednostavno dobivanje i ručno instaliranje Let’s Encrypt certifikata u glavnim distribucijama Linuxa i web poslužiteljima.

Korak 4: Instaliranje Rocket.Chat klijenata na stolno računalo

21. Posljednje, ali ne manje važno, možete preuzeti i instalirati Rocket.Chat desktop aplikaciju za Linux, Mac ili Windows s Rocket.Chat web stranica projekta. Također nudi mobilne aplikacije za Android i iOS.

Da biste instalirali desktop aplikaciju na Linuxu, morate preuzeti deb (x64) ili rpm(x64) paket, ovisno o vašoj distribuciji Linuxa.

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 upravitelj 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. Nakon dovršetka instalacije paketa, potražite rocket.chat u Izborniku sustava i pokrenite ga. Nakon što se učita, unesite URL svog poslužitelja da biste se povezali s njim kao što je prikazano na sljedećoj snimci zaslona.