Rocket.Chat - Mugt, açyk çeşme, Linux üçin kärhana topary söhbet


“Rocket.Chat” mugt, açyk çeşme, ulaldylyp bilinýän, ýokary düzülip bilinýän we ygtybarly platforma bolup, toparyňyz bilen aragatnaşyk saklamaga we hyzmatdaşlyga, faýl paýlaşmaga we real wagtda söhbetdeş bolmaga mümkinçilik berýär. Bu platforma bolup, Linux, Windows, macOS, Android we iOS ykjam operasiýa ulgamlarynda işleýär.

Slack-a meňzeýär we göni söhbetdeşlik, mugt ses we wideo konferensiýasy, kanallar, myhmanlara giriş, ekrany paýlaşmak we faýl paýlaşmak aýratynlyklary bar. Ygtybarly aragatnaşygy üpjün etmek üçin LDAP toparynyň sinhronlaşmagyny, iki faktorly tanamaklygy (2FA), End-to-End şifrlemesini, Signeke girmek we birnäçe Oauth üpjünçisini goldaýar.

Möhüm zat, doly açyk çeşme bolmak bilen, toparyňyzyň ýa-da iş talaplaryňyza laýyk gelýän täze funksiýany doly özleşdirmek, giňeltmek ýa-da goşmak üçin deslapky koduna girip bilersiňiz.

Bu makalada Linux ulgamynda Rocket.Chat serwerini we müşderisini nädip gurmalydygyny we sazlamalydygyny öwrenersiňiz.

1-nji ädim: Linux-da Snaps gurmak

1. “Rocket.Chat” -y gurnamagyň iň aňsat usuly, “Snaps” -y ulanmak - häzirki zaman Linux paýlaýjylarynyň hemmesi bolmasa, köpler tarapyndan goldanýar we çäklendiriji howpsuzlyk çägesi astynda işleýändigi sebäpli howpsuz. Mundan başga-da, gysga wagtyň içinde bukjanyň täze wersiýasy elýeterli bolanda awtomatiki täzeläp bilersiňiz.

Ilki bilen, ulgamyňyza snapd paketiniň gurnalandygyna göz ýetiriň, ýogsam görkezilişi ýaly deslapky paket dolandyryjyňyzy ulanyp guruň.

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

2. Gurmak tamamlanandan soň, esasy aragatnaşyk rozetkasyny aşakdaky ýaly dolandyrýan systemd bölümini işletmeli. Bu buýrugyň rozetkany başlajakdygyny we ulgam ýüklemesinde başlamagyna mümkinçilik berjekdigine üns beriň. Ubuntu-da, paket gurmak gutarandan soň awtomatiki usulda edilmeli.

$ sudo systemctl enable --now snapd.socket

Mundan başga-da,/var/lib/snapd/snap we/snap arasynda simwoliki baglanyşyk döredip, klassiki gysga goldaw goldawyny döredip bilersiňiz.

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

2-nji ädim: Linux-da Rocket.Chat gurmak

3. “Snapd” gurnanyňyzdan soň, raketa-serweri gurmak üçin aşakdaky buýrugy işlediň.
$sudo snap roketchat-serwer guruň

4. Tutuş gurnama işleri tamamlanandan soň, “rocket.chat” serweriňiz 3000-nji portda işlemäge we diňlemäge başlar. Web brauzerini açyň we ulgamda rocket.chat gurmak üçin aşakdaky adresi giriziň.

http://SERVER_IP:3000

5. Gurnama ussasy ýüklenenden soň, administratiw ulanyjynyň doly adyny, ulanyjy adyny, gurama e-poçta we parolyny beriň.

6. Ondan soň guramaçylyk maglumatlary beriň (guramanyň görnüşi, ady, senagaty, ululygy, ýurdy we web sahypasy), soňra Dowam et düwmesine basyň.

7. Ondan soň serwer maglumatyny beriň (sahypanyň ady, deslapky, serwer görnüşi, şeýle hem 2FA işlediň ýa-da ýok). Soňra Dowam et düwmesine basyň.

8. Indiki sahypada serweri hasaba alyň. Bu ýerde iki wariant bar, deslapky görnüşde Rocket.Chat tarapyndan üpjün edilen deslapky düzülen şlýuzalary we proksi ulanmak (bu maslahat berilýän wariant).

Ativea-da bolmasa, özbaşdak saklamagy we hyzmat üpjün edijiler bilen hasap açmagy, öňünden düzülen sazlamalary täzeläp, ykjam programmalary şahsy şahadatnamalaryňyz bilen täzeden düzüp bilersiňiz. Dowam et düwmesine basyň.

Gurnama doly we iş ýeriňiz taýýar. Iş ýeriňize gitmek basyň.

3-nji ädim: “Rocket.Chat” üçin ters proksi düzmek

9. NGINX ýa-da Apache ýaly ters proksi, “Rocket.Chat” programmasyny serweriň salgysyny we amaly portuny ýazmagyň ýerine domen ýa-da subdomain (meselem http://chat.linux-console.net) arkaly elýeterli edip düzmäge mümkinçilik berýär. http://10.42.0.247:3000).

Mundan başga-da, “Rocket.Chat” SSL/TLS-i dolandyrmaýan orta derejeli programma serweridir. Ters proksi, HTTPS-i işletmek üçin SSL/TLS şahadatnamalaryny düzmäge mümkinçilik berýär.

10. Ilki bilen, ulgamyňyzda entek gurulmadyk bolsa, NGINX paketini guruň.

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

11. Bukjany gurnamak gutaransoň, Nginx hyzmatyny başlaň, häzirlikçe ulgam ýüklemesinden awtomatiki başlamaga we işleýändigine göz ýetirmek üçin ýagdaýyny barlamaga mümkinçilik beriň.

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

12. Ondan soň, meselem, /etc/nginx/conf.d/ katalogynyň aşagyndaky Rocket.Chat programmasy üçin wirtual serwer blok faýly dörediň.

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

Soňra aşakdaky konfigurasiýany faýla göçüriň (chat.linux-console.net-ny dogry subdomain ýa-da domeniňiz bilen çalşyň).

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

Faýly ýazdyryň we ýapyň.

13. Soňra sintaksis meselesi üçin NGINX konfigurasiýasyny barlaň. Gowy bolsa, soňky üýtgeşmeleri ulanmak üçin Nginx hyzmatyny täzeden açyň.

$ sudo nginx -t
$ sudo systemctl restart nginx

14. Apache2 paketini entek gurulmadyk bolsa, ulgamyňyza gurup başlaň.

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

15. Ondan soň, apache hyzmatyny başlaň we işlediň we aşakdaky ýaly işleýändigini ýa-da işlemeýändigini barlaň.

----- 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. Ondan soň, meselem,/etc/apache2/sites-available/ýa-da /etc/httpd/conf.d/ katalogynyň aşagynda “Rocket.Chat” programmasy üçin wirtual host faýly dörediň.

----- 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. Aşakdaky konfigurasiýany göçüriň we ýelmäň, chat.linux-console.net-ny dogry domeniňiz bilen çalyşyň.

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

Faýly ýazdyryň we ýapyň.

18. Ubuntu we Debian-da zerur apache2 modullaryny işlediň we soňky üýtgeşmeleri ulanmak üçin hyzmaty täzeden açyň.

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

CentOS/RHEL we Fedora-da diňe apache hyzmatyny täzeden açyň.

# systemctl restart httpd

19. Indi hemme zat dogry düzüldi, brauzeriňizi açyň we folloiwng adresini ýazyň. “Rocket.Chat” programmasy proksi serwerinde düzülen domeniňizi ulanyp elýeterli bolmaly.

http://chat.linux-console.net

20. Indiki möhüm ädim, söhbet hyzmatyňyza HTTPS şahadatnamasynyň howpsuzlygy we gizlinlik peýdalaryny goşmakdyr. Önümçilik gurşawy üçin, häzirki zaman web brauzerleriniň köpüsi tarapyndan mugt we ygtybarly “Let Encrypt” ulanmagy maslahat berýäris.

Geliň, şifrlemek awtomatlaşdyrylan: Üns beriň: Linux-yň esasy paýlanyşlarynda we web serwerlerinde Let Encrypt şahadatnamalaryny awtomatiki almak we gurmak ýa-da el bilen gurmak üçin mugt açyk çeşme guraly bolan certbot ulanyp bilersiňiz.

4-nji ädim: “Rocket.Chat” müşderilerini iş stoluna gurmak

21. Iň soňkusy, “Rocket.Chat” taslamasynyň web sahypasyndan Linux, Mac ýa-da Windows üçin “Rocket.Chat” iş stoly programmasyny göçürip alyp bilersiňiz. Şeýle hem, Android we iOS üçin ykjam programmalar bilen üpjün edýär.

Linux-da iş stoly programmasyny gurmak üçin Linux paýlanyşyňyza baglylykda deb (x64) ýa-da rpm (x64) bukjasyny göçürip alýarsyňyz.

$ 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. Soňra görkezilişi ýaly rpm paket dolandyryjysyny ulanyp bukjany guruň.

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

23. Bukjany gurnamak tamamlanandan soň, Ulgam menýusyndan rocket.chat gözläň we işe giriziň. Loadüklenenden soň, aşakdaky skrinshotda görkezilişi ýaly oňa birikmek üçin serweriňiziň URL-sini giriziň.