Rocket.Chat - bezmaksas, atvērta pirmkoda, Enterprise Team Chat for Linux


Rocket.Chat ir bezmaksas, atvērtā koda, mērogojama, ļoti pielāgojama un droša platforma, kas ļauj sazināties un sadarboties ar savu komandu, koplietot failus un tērzēt reāllaikā. Tas ir starpplatformu un darbojas uz Linux, Windows, macOS, Android un iOS mobilajām operētājsistēmām.

Tas ir līdzīgs Slack un piedāvā tiešsaistes tērzēšanu, bezmaksas audio un video konferences, kanālus, viesu piekļuvi, ekrāna koplietošanu un failu koplietošanu. Lai nodrošinātu drošu saziņu, tā atbalsta LDAP grupas sinhronizāciju, divu faktoru autentifikāciju (2FA), pilnīgu šifrēšanu, vienreizēju pierakstīšanos un vairākus Oauth nodrošinātājus.

Svarīgi ir tas, ka būdams pilnībā atvērts avots, varat piekļūt tā pirmkodam, lai pilnībā pielāgotu, paplašinātu vai pievienotu jaunas funkcionalitātes, lai atbilstu jūsu komandas vai biznesa prasībām.

Šajā rakstā jūs uzzināsiet, kā instalēt un konfigurēt Rocket.Chat serveri un klientu Linux sistēmā.

1. darbība: Snaps instalēšana Linux

1. Vieglākais veids, kā instalēt Rocket. Tas ir, izmantojot Snaps - to atbalsta lielākā daļa, ja ne visi mūsdienu Linux izplatījumi, un tie ir droši, jo tie darbojas ierobežotā drošības smilškastē. Turklāt ar snaps varat arī automātiski atjaunināt, kad ir pieejama jauna pakotnes versija.

Vispirms pārliecinieties, ka jūsu sistēmā ir instalēta snapd pakotne, pretējā gadījumā instalējiet to, izmantojot noklusējuma pakotņu pārvaldnieku, kā parādīts.

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

2. Kad instalēšana ir pabeigta, jums jāaktivizē systemd vienība, kas pārvalda galveno snap sakaru ligzdu šādi. Ņemiet vērā, ka šī komanda sāks ligzdu un ļaus tai startēt sistēmas sāknēšanas laikā. Ubuntu tas jādara automātiski pēc pakotnes instalēšanas pabeigšanas.

$ sudo systemctl enable --now snapd.socket

Turklāt jūs varat iespējot klasisko snap atbalstu, izveidojot simbolisku saiti starp/var/lib/snapd/snap un/snap.

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

2. solis: Rocket.Chat instalēšana Linux

3. Tagad, kad esat instalējis Snapd, palaidiet šo komandu, lai instalētu rocketchat-server.
$sudo snap instalējiet rocketchat-serveri

4. Kad snap instalēšana ir pabeigta, jūsu rocket.chat serveris pēc noklusējuma sāks darboties un klausīties 3000 ostā. Atveriet tīmekļa pārlūku un ievadiet šādu adresi, lai sistēmā uzstādītu rocket.chat.

http://SERVER_IP:3000

5. Pēc iestatīšanas vedņa ielādes norādiet administratora lietotāja pilnu vārdu, lietotājvārdu, organizācijas e-pastu un paroli.

6. Pēc tam norādiet organizācijas informāciju (organizācijas veidu, nosaukumu, nozari, lielumu, valsti un vietni), pēc tam noklikšķiniet uz Turpināt.

7. Pēc tam norādiet servera informāciju (vietnes nosaukums, noklusējums, servera tips un arī iespējojiet 2FA vai ne). Pēc tam noklikšķiniet uz Turpināt.

8. Nākamajā lapā reģistrējiet serveri. Šeit ir divas iespējas, noklusējums ir izmantot iepriekš konfigurētus vārtejas un starpniekserverus, ko nodrošina Rocket.Chat (šī ir ieteicamā opcija).

Alternatīvi, jūs varat izvēlēties paturēt atsevišķi un izveidot kontus pie pakalpojumu sniedzējiem, atjaunināt iepriekš konfigurētos iestatījumus un arī atkārtoti kompilēt mobilās lietotnes ar saviem privātajiem sertifikātiem. Un noklikšķiniet uz Turpināt.

Iestatīšana ir pabeigta, un darbvieta ir gatava. Noklikšķiniet uz Pāriet uz savu darbvietu.

3. solis: Reversā starpniekservera konfigurēšana Rocket.Chat

9. Reversais starpniekserveris, piemēram, NGINX vai Apache, ļauj konfigurēt Rocket.Chat lietojumprogrammu, lai tā būtu pieejama, izmantojot domēnu vai apakšdomēnu (piemēram, http://chat.linux-console.net), nevis ierakstot servera adresi un lietojumprogrammas portu (piem., http://10.42.0.247:3000).

Turklāt Rocket.Chat ir vidējā līmeņa lietojumprogrammu serveris, kas neapstrādā SSL/TLS. Apgrieztais starpniekserveris ļauj arī konfigurēt SSL/TLS sertifikātus, lai iespējotu HTTPS.

10. Vispirms instalējiet NGINX pakotni, ja tā vēl nav instalēta jūsu sistēmā.

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

11. Kad pakotnes instalēšana ir pabeigta, palaidiet Nginx pakalpojumu, pagaidām ļaujiet tam automātiski startēt sistēmas sāknēšanas laikā un pārbaudiet tā statusu, lai pārliecinātos, ka tas darbojas.

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

12. Pēc tam, piemēram, direktorijā /etc/nginx/conf.d/ izveidojiet virtuālā servera bloķēšanas failu Rocket.Chat.

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

Pēc tam nokopējiet un ielīmējiet failā šādu konfigurāciju (aizstājiet chat.linux-console.net ar savu derīgo apakšdomēnu vai domēnu).

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

Saglabājiet failu un aizveriet to.

13. Pēc tam pārbaudiet, vai NGINX konfigurācijā nav sintakses problēmu. Ja tas ir kārtībā, restartējiet pakalpojumu Nginx, lai lietotu pēdējās izmaiņas.

$ sudo nginx -t
$ sudo systemctl restart nginx

14. Sāciet, instalējot Apache2 pakotni savā sistēmā, ja tā vēl nav instalēta.

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

15. Pēc tam sāciet un iespējojiet apache pakalpojumu un pārbaudiet, vai tas darbojas un darbojas šādi.

----- 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. Pēc tam izveidojiet virtuālo resursdatora failu Rocket.Chat lietojumprogrammai, piemēram, direktorijā/etc/apache2/sites-available/vai /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. Kopējiet un ielīmējiet tajā šādu konfigurāciju, aizstājiet chat.linux-console.net ar savu derīgo domēnu.

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

Saglabājiet failu un aizveriet to.

18. Uz Ubuntu un Debian iespējojiet nepieciešamos apache2 moduļus un restartējiet pakalpojumu, lai piemērotu pēdējās izmaiņas.

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

Vietnēs CentOS/RHEL un Fedora vienkārši restartējiet apache pakalpojumu.

# systemctl restart httpd

19. Tagad viss ir pareizi konfigurēts, atveriet broswer un ierakstiet folloiwng adresi. Lietotnei Rocket.Chat jābūt pieejamai, izmantojot jūsu domēnu, kas konfigurēts starpniekserverī.

http://chat.linux-console.net

20. Nākamais izšķirošais solis ir pievienot tērzēšanas pakalpojumam HTTPS sertifikāta drošības un privātuma priekšrocības. Ražošanas videi ieteicams izmantot Let’s Encrypt, kas ir bezmaksas un kuram uzticas lielākā daļa mūsdienu tīmekļa pārlūkprogrammu.

Ņemiet vērā, ka Let’s Encrypt ir automatizēts: jūs varat izmantot certbot - bezmaksas atvērtā koda rīku, lai automātiski iegūtu un instalētu vai vienkārši iegūtu un manuāli instalētu Let’s Encrypt sertifikātus galvenajos Linux izplatījumos un tīmekļa serveros.

4. solis: Rocket.Chat klientu instalēšana uz darbvirsmas

21. Visbeidzot, bet ne mazāk svarīgi, jūs varat lejupielādēt un instalēt Rocket.Chat darbvirsmas lietotni Linux, Mac vai Windows no Rocket.Chat projekta vietnes. Tas nodrošina arī mobilās lietotnes Android un iOS.

Lai instalētu darbvirsmas lietojumprogrammu operētājsistēmā Linux, atkarībā no Linux izplatīšanas lejupielādējiet pakotni deb (x64) vai rpm (x64).

$ 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. Pēc tam instalējiet paketi, izmantojot rpm pakotņu pārvaldnieku, kā parādīts.

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

23. Kad pakotnes instalēšana ir pabeigta, sistēmas izvēlnē meklējiet failu rocket.chat un palaidiet to. Pēc ielādes ievadiet sava servera URL, lai izveidotu savienojumu ar to, kā parādīts nākamajā ekrānuzņēmumā.