Rocket.Chat – Libre, Open Source, Enterprise Team Chat alang sa Linux


Ang Rocket.Chat usa ka libre, open-source, scalable, customisable kaayo, ug luwas nga plataporma nga nagtugot kanimo sa pagpakigsulti ug pagtinabangay sa imong team, pagpaambit sa mga file, ug pag-chat sa tinuod nga panahon. Kini mao ang cross-platform ug kini midagan sa Linux, Windows, macOS, Android, ug iOS mobile operating system.

Susama kini sa Slack ug adunay mga live chat, libre nga audio ug video conferencing, mga channel, pag-access sa bisita, pagpaambit sa screen, ug pagpaambit sa file. Aron maseguro ang luwas nga komunikasyon, gisuportahan niini ang LDAP group synchronization, two-factor authentication (2FA), End-to-End encryption, Single Sign-On, ug daghang Oauth providers.

Importante, kay bug-os nga open-source, mahimo nimong ma-access ang source code niini aron hingpit nga i-customize, i-extend, o idugang ang bag-ong functionality aron matubag ang mga kinahanglanon sa imong team o negosyo.

Niini nga artikulo, mahibal-an nimo kung giunsa ang pag-install ug pag-configure sa Rocket.Chat server ug kliyente sa usa ka sistema sa Linux.

Lakang 1: Pag-instalar sa Snaps sa Linux

1. Ang pinakasayon nga paagi sa pag-instalar sa Rocket.Chat mao ang paggamit sa Snaps – gisuportahan sa kadaghanan kon dili man sa tanang modernong Linux distributions ug sila luwas tungod kay sila nagdagan ubos sa usa ka higpit nga security sandbox. Dugang pa, sa mga snap, mahimo ka usab nga mag-auto-update kung adunay bag-ong bersyon sa usa ka pakete.

Una, siguroha nga ikaw adunay snapd package nga na-install sa imong sistema, kung dili i-install kini gamit ang imong default package manager sama sa gipakita.

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

2. Kung kompleto na ang pag-instalar, kinahanglan nimo nga palihokon ang systemd unit nga nagdumala sa main snap communication socket ingon sa mosunod. Timan-i nga kini nga sugo magsugod sa socket ug makapahimo niini nga magsugod sa system boot. Sa Ubuntu, kini kinahanglan nga awtomatiko nga buhaton pagkahuman sa pag-install sa package.

$ sudo systemctl enable --now snapd.socket

Dugang pa, mahimo nimong palihokon ang klasiko nga suporta sa snap pinaagi sa paghimo og simbolikong sumpay tali sa /var/lib/snapd/snap ug /snap.

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

Lakang 2: Pag-instalar sa Rocket.Chat sa Linux

3. Karon nga na-install na nimo ang Snapd, padagana ang mosunod nga command para i-install ang rocketchat-server.
$sudo snap i-install ang rocketchat-server

4. Kung nahuman na ang pag-install sa snap, ang imong server sa rocket.chat magsugod sa pagdagan ug pagpaminaw sa port 3000 nga default. Ablihi ang usa ka web browser ug isulod ang mosunod nga adres aron ma-set up ang rocket.chat sa sistema.

http://SERVER_IP:3000

5. Human ma-load ang setup wizard, ihatag ang tibuok ngalan sa administratibong user, username, email sa organisasyon, ug password.

6. Sunod, ihatag ang impormasyon sa organisasyon (matang sa organisasyon, ngalan, industriya, gidak-on, nasud, ug website), dayon i-klik ang Padayon.

7. Sunod, ihatag ang impormasyon sa server (ngalan sa site, default, tipo sa server, ug mahimo usab ang 2FA o dili). Dayon i-klik ang Padayon.

8. Sa sunod nga panid, irehistro ang server. Adunay duha ka mga kapilian dinhi, ang default mao ang paggamit sa preconfigured nga mga ganghaan ug mga proxy nga gihatag sa Rocket.Chat (kini ang girekomenda nga kapilian).

Sa laing paagi, mahimo nimong pilion nga magpabilin nga mag-inusara ug maghimo og mga account sa mga service provider, mag-update sa preconfigured nga mga setting, ug usab i-compile ang mga mobile app gamit ang imong pribadong mga sertipiko. Ug i-klik ang Padayon.

Kompleto na ang setup ug andam na ang imong workspace. I-klik ang Lakaw ngadto sa imong workspace.

Lakang 3: Pag-configure sa Reverse Proxy para sa Rocket.Chat

9. Ang usa ka reverse proxy sama sa NGINX o Apache nagtugot kanimo sa pag-configure sa Rocket.Chat nga aplikasyon aron ma-access pinaagi sa usa ka domain o subdomain (e.g http://chat.linux-console.net) imbes nga i-type ang adres sa server ug application port (e.g. http://10.42.0.247:3000).

Dugang pa, ang Rocket.Chat usa ka middle-tier nga server sa aplikasyon nga wala magdumala sa SSL/TLS. Gitugotan ka usab sa usa ka reverse proxy nga i-configure ang mga sertipiko sa SSL/TLS aron mahimo ang HTTPS.

10. Una, i-install ang NGINX package kung wala pa kini ma-install sa imong system.

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

11. Kung kompleto na ang pag-install sa package, sugdi ang serbisyo sa Nginx, sa pagkakaron, pahimoa kini nga awtomatiko nga magsugod sa boot sa system ug susihon ang kahimtang niini aron masiguro nga kini nagdagan.

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

12. Sunod, paghimo ug virtual server block file para sa Rocket.Chat application ubos sa /etc/nginx/conf.d/ directory, pananglitan.

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

Dayon kopyaha ug idikit ang mosunod nga configuration sa file (ilisan ang chat.linux-console.net sa imong balido nga subdomain o domain).

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-save ang file ug isira kini.

13. Unya susiha ang NGINX configuration alang sa bisan unsang syntax nga isyu. Kung OK ra, i-restart ang serbisyo sa Nginx aron magamit ang bag-ong mga pagbag-o.

$ sudo nginx -t
$ sudo systemctl restart nginx

14. Sugdi pinaagi sa pag-instalar sa Apache2 nga pakete kung wala pa kini ma-install, sa imong sistema.

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

15. Sunod, sugdi ug i-enable ang serbisyo sa apache ug susiha kung nag-andar na ba kini sama sa mosunod.

----- 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. Sunod, paghimo ug virtual host file para sa Rocket.Chat application ubos sa /etc/apache2/sites-available/ o /etc/httpd/conf.d/ directory, pananglitan.

----- 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. Kopyaha ug idikit ang mosunod nga configuration niini, ilisan ang chat.linux-console.net sa imong balido nga domain.

<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-save ang file ug isira kini.

18. Sa Ubuntu ug Debian makapahimo sa gikinahanglan nga apache2 modules ug i-restart ang serbisyo aron magamit ang bag-ong mga kausaban.

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

Sa CentOS/RHEL ug Fedora, i-restart lang ang serbisyo sa apache.

# systemctl restart httpd

19. Karon ang tanan na-configure sa husto, ablihi ang imong broswer ug i-type ang mosunod nga adres. Ang Rocket.Chat nga aplikasyon kinahanglang ma-access gamit ang imong domain nga gi-configure sa proxy server.

http://chat.linux-console.net

20. Ang sunod nga hinungdanon nga lakang mao ang pagdugang sa mga benepisyo sa seguridad ug pagkapribado sa usa ka sertipiko sa HTTPS sa imong serbisyo sa chat. Alang sa usa ka palibot sa produksiyon, girekomenda namon ang paggamit sa Let's Encrypt nga libre ug gisaligan sa kadaghanan sa mga modernong web browser.

Timan-i nga ang Let's Encrypt kay awtomatiko: mahimo nimong gamiton ang certbot, usa ka libre nga open-source nga himan aron awtomatikong makuha ug ma-install o yano nga makuha ug mano-mano nga i-install ang Let's Encrypt nga mga sertipiko sa mainstream nga mga distribusyon sa Linux ug mga web server.

Lakang 4: Pag-instalar sa mga Kliyente sa Rocket.Chat sa Desktop

21. Katapusan apan dili labing gamay, mahimo nimong i-download ug i-install ang usa ka Rocket.Chat desktop app para sa Linux, Mac, o Windows gikan sa website sa proyekto nga Rocket.Chat. Naghatag usab kini og mga mobile apps alang sa Android ug iOS.

Aron ma-install ang desktop application sa Linux, mag-download ka ug deb (x64) o rpm(x64) nga pakete depende sa imong distribusyon sa Linux.

$ 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. Dayon i-install ang package gamit ang rpm package manager sama sa gipakita.

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

23. Kung kompleto na ang pag-instalar sa package, pangitaa ang rocket.chat sa System Menu ug ilunsad kini. Human kini ma-load, isulod ang URL sa imong server aron makonektar niini sama sa gipakita sa mosunod nga screenshot.