Rocket.Chat – atvirojo kodo komandos komunikacijos įrankis, skirtas Linux


Rocket.Chat yra nemokama atvirojo kodo, keičiamo dydžio, labai tinkinama ir saugi platforma, leidžianti bendrauti ir bendradarbiauti su komanda, bendrinti failus ir kalbėtis realiuoju laiku. Jis yra kelių platformų ir veikia „Linux“, „Windows“, „MacOS“, „Android“ ir „iOS“ mobiliosiose operacinėse sistemose.

Jis panašus į Slack ir turi tiesioginį pokalbį, nemokamas garso ir vaizdo konferencijas, kanalus, svečio prieigą, ekrano bendrinimą ir failų bendrinimą. Kad būtų užtikrintas saugus ryšys, palaikomas LDAP grupės sinchronizavimas, dviejų veiksnių autentifikavimas (2FA), šifravimas nuo galo iki galo, vienkartinis prisijungimas ir keli „Oauth“ teikėjai.

Svarbu tai, kad būdami visiškai atvirojo kodo, galite pasiekti jo šaltinio kodą, kad galėtumėte visiškai tinkinti, išplėsti arba pridėti naujų funkcijų, kad atitiktų jūsų komandos ar verslo reikalavimus.

Šiame straipsnyje sužinosite, kaip įdiegti ir konfigūruoti Rocket.Chat serverį ir klientą Linux sistemoje.

1 veiksmas: „Snaps“ diegimas sistemoje „Linux“.

1. Lengviausias būdas įdiegti Rocket.Chat yra naudoti Snaps – juos palaiko dauguma, jei ne visi, šiuolaikiniai Linux platinimai ir jie yra saugūs nes jie veikia apriboti ribojančia saugumo smėlio dėže. Be to, naudodami „snaps“, galite automatiškai atnaujinti, kai yra nauja paketo versija.

Pirmiausia įsitikinkite, kad jūsų sistemoje įdiegtas snapd paketas, kitu atveju įdiekite jį naudodami numatytąją paketų tvarkyklę, kaip parodyta.

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

2. Kai diegimas bus baigtas, turite įgalinti sisteminį įrenginį, kuris valdo pagrindinį snap ryšio lizdą, kaip nurodyta toliau. Atminkite, kad ši komanda paleis lizdą ir leis jį paleisti sistemos įkrovos metu. Naudojant Ubuntu, tai turėtų būti daroma automatiškai, kai paketas bus įdiegtas.

sudo systemctl enable --now snapd.socket

Be to, galite įgalinti klasikinį snap palaikymą sukurdami simbolinę nuorodą tarp /var/lib/snapd/snap ir /snap.

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

2 veiksmas: „Rocket.Chat“ diegimas sistemoje „Linux“.

3. Dabar, kai įdiegėte Snapd, paleiskite šią komandą, kad įdiegtumėte rocketchat-server.
$sudo snap įdiegti rocketchat-server

4. Kai snap diegimas bus baigtas, rocket.chat serveris pradės veikti ir klausytis prievado 3000 pagal numatytuosius nustatymus. Atidarykite žiniatinklio naršyklę ir įveskite šį adresą, kad sistemoje nustatytumėte rocket.chat.

http://SERVER_IP:3000

5. Įkėlus sąrankos vedlį pateikite visą administruojančio naudotojo vardą, naudotojo vardą, organizacijos el. pašto adresą ir slaptažodį.

6. Tada pateikite organizacijos informaciją (organizacijos tipą, pavadinimą, pramonės šaką, dydį, šalį ir svetainę), tada spustelėkite Tęsti.

7. Tada pateikite serverio informaciją (svetainės pavadinimą, numatytuosius nustatymus, serverio tipą, taip pat įgalinkite 2FA ar ne). Tada spustelėkite Tęsti.

8. Kitame puslapyje užregistruokite serverį. Čia yra dvi parinktys. Pagal numatytuosius nustatymus reikia naudoti iš anksto sukonfigūruotus šliuzus ir tarpinius serverius, kuriuos teikia Rocket.Chat (tai rekomenduojama parinktis).

Arba galite pasirinkti išlaikyti atskirą ir kurti paskyras pas paslaugų teikėjus, atnaujinti iš anksto sukonfigūruotus nustatymus ir iš naujo kompiliuoti mobiliąsias programas naudodami savo privačius sertifikatus. Ir spustelėkite Tęsti.

Sąranka baigta ir jūsų darbo sritis paruošta. Spustelėkite Eiti į savo darbo sritį.

3 veiksmas: „Rocket.Chat“ atvirkštinio tarpinio serverio konfigūravimas

9. Atvirkštinis tarpinis serveris, pvz., NGINX arba Apache, leidžia konfigūruoti programą Rocket.Chat, kad ji būtų pasiekiama per domeną arba padomenį (pvz., http://chat.linux-console.net), o ne įvesti serverio adresą ir programos prievadą (pvz., http://10.42.0.247:3000 >).

Be to, Rocket.Chat yra vidutinio lygio programų serveris, kuris neapdoroja SSL/TLS. Atvirkštinis tarpinis serveris taip pat leidžia sukonfigūruoti SSL/TLS sertifikatus, kad įgalintumėte HTTPS.

Įgalinti „Nginx Reverse Proxy“ skirtą „Rocket.Chat“.

10. Pirmiausia įdiekite NGINX paketą, jei jis dar neįdiegtas jūsų sistemoje.

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

11. Baigę diegti paketą, paleiskite „Nginx“ paslaugą, kol kas įgalinkite ją automatiškai paleisti sistemos paleidimo metu ir patikrinkite jo būseną, kad įsitikintumėte, jog ji veikia.

sudo systemctl enable --now nginx
sudo systemctl status nginx

12. Tada sukurkite virtualaus serverio bloko failą Rocket.Chat programai kataloge /etc/nginx/conf.d/, pavyzdžiui.

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

Tada nukopijuokite ir įklijuokite toliau nurodytą konfigūraciją į failą (pakeiskite chat.linux-console.net galiojančiu padomeniu arba domenu).

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

Išsaugokite failą ir uždarykite jį.

13. Tada patikrinkite NGINX konfigūraciją, ar nėra sintaksės problemų. Jei viskas gerai, iš naujo paleiskite „Nginx“ paslaugą, kad pritaikytumėte naujausius pakeitimus.

sudo nginx -t
sudo systemctl restart nginx

Įgalinti „Apache“ atvirkštinį tarpinį serverį „Rocket.Chat“.

14. Pradėkite įdiegdami Apache2 paketą, jei jis dar neįdiegtas, savo sistemoje.

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

15. Tada paleiskite ir įgalinkite „apache“ paslaugą ir patikrinkite, ar ji veikia, kaip nurodyta toliau.

----- 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. Tada sukurkite virtualios prieglobos failą, skirtą programai Rocket.Chat /etc/apache2/sites-available/ arba >/etc/httpd/conf.d/ kataloge, pvz.

----- 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. Nukopijuokite ir įklijuokite toliau nurodytą konfigūraciją, pakeiskite chat.linux-console.net galiojančiu domenu.

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

Išsaugokite failą ir uždarykite jį.

18. „Ubuntu“ ir „Debian“ įgalinkite reikiamus „apache2“ modulius ir iš naujo paleiskite paslaugą, kad pritaikytumėte naujausius pakeitimus.

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

„CentOS/RHEL“ ir „Fedora“ tiesiog iš naujo paleiskite „apache“ paslaugą.

systemctl restart httpd

19. Dabar viskas tinkamai sukonfigūruota, atidarykite naršyklę ir įveskite toliau pateiktą adresą. Programa Rocket.Chat turėtų būti pasiekiama naudojant tarpiniame serveryje sukonfigūruotą domeną.

http://chat.linux-console.net

20. Kitas svarbus žingsnis – prie pokalbių paslaugos pridėti HTTPS sertifikato saugos ir privatumo privalumus. Gamybos aplinkai rekomenduojame naudoti Leisk šifruoti, kuri yra nemokama ir patikima daugelyje šiuolaikinių žiniatinklio naršyklių.

Atminkite, kad Let’s Encrypt yra automatizuotas: galite naudoti certbot – nemokamą atvirojo kodo įrankį, kad automatiškai gautumėte ir įdiegtumėte arba tiesiog gautumėte ir rankiniu būdu įdiegtumėte Let’s Encrypt sertifikatus pagrindiniuose Linux platinimuose ir žiniatinklio serveriuose.

4 veiksmas: „Rocket.Chat“ klientų diegimas darbalaukyje

21. Galiausiai galite atsisiųsti ir įdiegti Rocket.Chat darbalaukio programą, skirtą „Linux“, „Mac“ arba „Windows“ sistemoje, iš Rocket.Chat > projekto svetainė. Ji taip pat teikia mobiliąsias programas, skirtas Android ir iOS.

Norėdami įdiegti darbalaukio programą Linux sistemoje, atsisiųskite deb (x64) arba rpm (x64) paketą, priklausomai nuo jūsų Linux platinimo.

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. Tada įdiekite paketą naudodami dpkg arba rpm paketų tvarkyklę, kaip parodyta.

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

23. Baigę diegti paketą, Sistemos meniu ieškokite rocket.chat ir paleiskite jį. Kai jis bus įkeltas, įveskite savo serverio URL, kad prisijungtumėte prie jo, kaip parodyta toliau pateiktoje ekrano kopijoje.