Rocket.Chat - brezplačen, odprtokodni klepet Enterprise Team za Linux


Rocket.Chat je brezplačna, odprtokodna, razširljiva, zelo prilagodljiva in varna platforma, ki vam omogoča komunikacijo in sodelovanje s svojo ekipo, skupno rabo datotek in klepet v realnem času. Je večplastna in deluje v operacijskih sistemih Linux, Windows, macOS, Android in iOS.

Podoben je Slacku in vključuje klepet v živo, brezplačne avdio in video konference, kanale, dostop gostov, skupno rabo zaslona in skupno rabo datotek. Da bi zagotovil varno komunikacijo, podpira sinhronizacijo skupin LDAP, dvofaktorsko overjanje (2FA), šifriranje od konca do konca, enotno prijavo in več ponudnikov Oauth.

Pomembno je, da ste v celoti odprtokodni in lahko dostopate do njegove izvorne kode, da v celoti prilagodite, razširite ali dodate novo funkcionalnost, ki ustreza zahtevam vaše ekipe ali podjetja.

V tem članku boste izvedeli, kako namestiti in konfigurirati strežnik in odjemalec Rocket.Chat v sistemu Linux.

1. korak: Namestitev Snaps v Linux

1. Rocket.Chat je najlažje namestiti z uporabo Snaps - podpira jih večina, če ne vse sodobne distribucije Linuxa, in so varne, ker delujejo pod omejenim varnostnim peskovnikom. Poleg tega lahko s posnetki samodejno posodobite, ko je na voljo nova različica paketa.

Najprej zagotovite, da je paket snapd nameščen v vašem sistemu, sicer pa ga namestite s privzetim upraviteljem paketov, kot 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. Ko je namestitev končana, morate sistemsko enoto, ki upravlja glavno vtičnico za hitro povezavo, omogočiti na naslednji način. Upoštevajte, da bo ta ukaz zagnal vtičnico in omogočil zagon ob zagonu sistema. V Ubuntuju je to treba storiti samodejno po končani namestitvi paketa.

$ sudo systemctl enable --now snapd.socket

Poleg tega lahko omogočite klasično podporo za snap z ustvarjanjem simbolične povezave med/var/lib/snapd/snap in/snap.

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

2. korak: Namestitev programa Rocket.Chat v Linux

3. Zdaj, ko imate nameščen Snapd, zaženite naslednji ukaz za namestitev rocketchat-strežnika.
$sudo snap namestite rocketchat-server

4. Ko je namestitev snap končana, se bo strežnik rocket.chat privzeto začel izvajati in poslušati na vratih 3000. Odprite spletni brskalnik in vnesite naslednji naslov, da v sistemu nastavite rocket.chat.

http://SERVER_IP:3000

5. Ko se čarovnik za namestitev naloži, vnesite polno ime, uporabniško ime, e-poštni naslov in geslo skrbniškega uporabnika.

6. Nato navedite informacije o organizaciji (vrsta organizacije, ime, panoga, velikost, država in spletno mesto) in kliknite Nadaljuj.

7. Nato navedite podatke o strežniku (ime spletnega mesta, privzeto, vrsta strežnika in omogočite tudi 2FA ali ne). Nato kliknite Nadaljuj.

8. Na naslednji strani registrirajte strežnik. Tu sta na voljo dve možnosti, privzeto je uporaba vnaprej nastavljenih prehodov in posredniških strežnikov, ki jih ponuja Rocket.Chat (to je priporočljiva možnost).

Lahko pa se odločite, da ostanejo samostojni in ustvarite račune pri ponudnikih storitev, posodobite vnaprej nastavljene nastavitve in mobilne aplikacije znova sestavite z zasebnimi potrdili. In kliknite Nadaljuj.

Namestitev je končana in vaš delovni prostor je pripravljen. Kliknite Pojdi v svoj delovni prostor.

3. korak: Konfiguriranje povratnega proxyja za Rocket.Chat

9. Povratni proxy, kot je NGINX ali Apache, vam omogoča, da aplikacijo Rocket.Chat nastavite tako, da bo dostopna prek domene ali poddomene (npr. Http://chat.linux-console.net), namesto da vnesete naslov strežnika in vrata aplikacije (npr. http://10.42.0.247:3000).

Poleg tega je Rocket.Chat srednji strežnik aplikacij, ki ne obdeluje SSL/TLS. Povratni proxy vam omogoča tudi konfiguriranje potrdil SSL/TLS, da omogočite HTTPS.

10. Najprej namestite paket NGINX, če še ni nameščen v 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. Ko je namestitev paketa končana, zaženite storitev Nginx, za zdaj omogočite samodejni zagon ob zagonu sistema in preverite njeno stanje, da se prepričate, da deluje.

$ sudo systemctl enable --now nginx
$ sudo systemctl status nginx

12. Nato v imeniku /etc/nginx/conf.d/ ustvarite datoteko bloka navideznega strežnika za aplikacijo Rocket.Chat.

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

Nato v datoteko kopirajte in prilepite naslednjo konfiguracijo (chat.linux-console.net nadomestite z veljavno poddomeno ali domeno).

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

Datoteko shranite in zaprite.

13. Nato v konfiguraciji NGINX preverite morebitne težave s skladnjo. Če je v redu, znova zaženite storitev Nginx, da uporabite nedavne spremembe.

$ sudo nginx -t
$ sudo systemctl restart nginx

14. Začnite z namestitvijo paketa Apache2 v sistem, če še ni nameščen.

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

15. Nato zaženite in omogočite storitev apache in preverite, ali deluje in deluje na naslednji 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. Nato ustvarite navidezno gostiteljsko datoteko za aplikacijo Rocket.Chat v imeniku/etc/apache2/sites-available/ali /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. Kopirajte in prilepite naslednjo konfiguracijo, nadomestite chat.linux-console.net s svojo veljavno domeno.

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

Datoteko shranite in zaprite.

18. V Ubuntuju in Debianu omogočite zahtevane module apache2 in znova zaženite storitev, da uporabite nedavne spremembe.

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

Na CentOS/RHEL in Fedora preprosto znova zaženite storitev apache.

# systemctl restart httpd

19. Zdaj je vse pravilno konfigurirano, odprite brskalnik in vnesite naslednji naslov. Do aplikacije Rocket.Chat bi morali dostopati z uporabo vaše domene, konfigurirane v strežniku proxy.

http://chat.linux-console.net

20. Naslednji ključni korak je, da v svojo storitev klepeta dodate varnostne in zasebne prednosti potrdila HTTPS. Za produkcijsko okolje priporočamo uporabo Let’s Encrypt, ki je brezplačna in ji zaupa večina sodobnih spletnih brskalnikov.

Upoštevajte, da je Let’s Encrypt avtomatiziran: lahko uporabite certbot, brezplačno odprtokodno orodje, da samodejno dobite in namestite ali preprosto pridobite in ročno namestite potrdila Let’s Encrypt v običajne distribucije Linuxa in spletne strežnike.

4. korak: Namestitev odjemalcev Rocket.Chat na namizje

21. Nenazadnje lahko s spletnega mesta projekta Rocket.Chat prenesete in namestite namizno aplikacijo Rocket.Chat za Linux, Mac ali Windows. Ponuja tudi mobilne aplikacije za Android in iOS.

Če želite namizno aplikacijo namestiti v Linux, naložite paket deb (x64) ali rpm (x64), odvisno od vaše distribucije 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. Nato namestite paket z upravljalnikom paketov rpm, kot 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. Ko je namestitev paketa končana, poiščite rocket.chat v sistemskem meniju in ga zaženite. Ko se naloži, vnesite URL strežnika, da se povežete z njim, kot je prikazano na spodnjem posnetku zaslona.