Rocket.Chat - Εργαλείο επικοινωνίας ομάδας ανοιχτού κώδικα για Linux


Το Rocket.Chat είναι μια δωρεάν, ανοιχτού κώδικα, επεκτάσιμη, εξαιρετικά προσαρμόσιμη και ασφαλής πλατφόρμα που σας επιτρέπει να επικοινωνείτε και να συνεργάζεστε με την ομάδα σας, να μοιράζεστε αρχεία και να συνομιλείτε σε πραγματικό χρόνο. Είναι cross-platform και τρέχει σε λειτουργικά συστήματα για κινητά Linux, Windows, macOS, Android και iOS.

Είναι παρόμοιο με το Slack και διαθέτει ζωντανή συνομιλία, δωρεάν διάσκεψη ήχου και βίντεο, κανάλια, πρόσβαση επισκέπτη, κοινή χρήση οθόνης και κοινή χρήση αρχείων. Για να διασφαλιστεί η ασφαλής επικοινωνία, υποστηρίζει συγχρονισμό ομάδας LDAP, έλεγχο ταυτότητας δύο παραγόντων (2FA), κρυπτογράφηση από άκρο σε άκρο, ενιαία σύνδεση και αρκετούς παρόχους Oauth.

Είναι σημαντικό ότι, όντας πλήρως ανοιχτού κώδικα, μπορείτε να αποκτήσετε πρόσβαση στον πηγαίο κώδικα του για να προσαρμόσετε πλήρως, να επεκτείνετε ή να προσθέσετε νέα λειτουργικότητα για να καλύψετε τις απαιτήσεις της ομάδας ή της επιχείρησής σας.

Σε αυτό το άρθρο, θα μάθετε πώς να εγκαταστήσετε και να ρυθμίσετε τον διακομιστή και τον πελάτη Rocket.Chat σε ένα σύστημα Linux.

Βήμα 1: Εγκατάσταση Snaps σε Linux

1. Ο ευκολότερος τρόπος εγκατάστασης του Rocket.Chat είναι με χρήση Snaps – υποστηρίζονται από τις περισσότερες αν όχι όλες τις σύγχρονες διανομές Linux και είναι ασφαλείς επειδή εκτελούνται περιορισμένα κάτω από ένα περιοριστικό sandbox ασφαλείας. Επιπλέον, με τα snaps, μπορείτε επίσης να κάνετε αυτόματη ενημέρωση όταν είναι διαθέσιμη μια νέα έκδοση ενός πακέτου.

Αρχικά, βεβαιωθείτε ότι έχετε εγκαταστήσει το πακέτο snapd στο σύστημά σας, διαφορετικά εγκαταστήστε το χρησιμοποιώντας τον προεπιλεγμένο διαχειριστή πακέτων, όπως φαίνεται.

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

2. Όταν ολοκληρωθεί η εγκατάσταση, πρέπει να ενεργοποιήσετε τη μονάδα systemd που διαχειρίζεται την κύρια υποδοχή επικοινωνίας snap ως εξής. Σημειώστε ότι αυτή η εντολή θα ξεκινήσει την υποδοχή και θα της επιτρέψει να ξεκινήσει κατά την εκκίνηση του συστήματος. Στο Ubuntu, αυτό θα πρέπει να γίνει αυτόματα μετά την ολοκλήρωση της εγκατάστασης του πακέτου.

$ sudo systemctl enable --now snapd.socket

Επιπλέον, μπορείτε να ενεργοποιήσετε την κλασική υποστήριξη snap δημιουργώντας μια συμβολική σύνδεση μεταξύ /var/lib/snapd/snap και /snap.

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

Βήμα 2: Εγκατάσταση του Rocket.Chat στο Linux

3. Τώρα που έχετε εγκαταστήσει το Snapd, εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε τον rocketchat-server.

4. Όταν ολοκληρωθεί η snap εγκατάσταση, ο διακομιστής σας rocket.chat θα αρχίσει να εκτελείται και να ακούει στη θύρα 3000 από προεπιλογή. Ανοίξτε ένα πρόγραμμα περιήγησης ιστού και εισαγάγετε την ακόλουθη διεύθυνση για να ρυθμίσετε το rocket.chat στο σύστημα.

http://SERVER_IP:3000

5. Μετά τη φόρτωση του οδηγού εγκατάστασης, δώστε το πλήρες όνομα, το όνομα χρήστη, τη διεύθυνση ηλεκτρονικού ταχυδρομείου του οργανισμού και τον κωδικό πρόσβασης του διαχειριστή.

6. Στη συνέχεια, δώστε τις πληροφορίες οργάνωσης (τύπος οργανισμού, όνομα, κλάδος, μέγεθος, χώρα και ιστότοπος) και, στη συνέχεια, κάντε κλικ στην επιλογή Συνέχεια.

7. Στη συνέχεια, δώστε τις πληροφορίες διακομιστή (όνομα τοποθεσίας, προεπιλογή, τύπος διακομιστή και ενεργοποιήστε επίσης το 2FA ή όχι). Στη συνέχεια κάντε κλικ στο Continue.

8. Στην επόμενη σελίδα, καταχωρήστε τον διακομιστή. Υπάρχουν δύο επιλογές εδώ, η προεπιλογή είναι να χρησιμοποιήσετε τις προρυθμισμένες πύλες και τους διακομιστή μεσολάβησης που παρέχονται από το Rocket.Chat (αυτή είναι η προτεινόμενη επιλογή).

Εναλλακτικά, μπορείτε να επιλέξετε να διατηρήσετε αυτόνομο και να δημιουργήσετε λογαριασμούς με παρόχους υπηρεσιών, να ενημερώσετε προδιαμορφωμένες ρυθμίσεις και επίσης να μεταγλωττίσετε εκ νέου τις εφαρμογές για κινητά με τα ιδιωτικά πιστοποιητικά σας. Και κάντε κλικ στο Continue.

Η εγκατάσταση ολοκληρώθηκε και ο χώρος εργασίας σας είναι έτοιμος. Κάντε κλικ στην Μετάβαση στον χώρο εργασίας σας.

Βήμα 3: Διαμόρφωση του Reverse Proxy για το Rocket.Chat

9. Ένας αντίστροφος διακομιστής μεσολάβησης όπως NGINX ή Apache σάς επιτρέπει να διαμορφώσετε την εφαρμογή Rocket.Chat ώστε να είναι προσβάσιμη μέσω ενός τομέα ή υποτομέα (π.χ. http://chat.linux-console.net) αντί να πληκτρολογήσετε τη διεύθυνση του διακομιστή και τη θύρα εφαρμογής (π.χ. http://10.42.0.247:3000 ).

Επιπλέον, ο Rocket.Chat είναι ένας διακομιστής εφαρμογών μεσαίου επιπέδου που δεν χειρίζεται SSL/TLS. Ένας αντίστροφος διακομιστής μεσολάβησης σάς επιτρέπει επίσης να διαμορφώσετε τα πιστοποιητικά SSL/TLS για να ενεργοποιήσετε το HTTPS.

Ενεργοποίηση Nginx Reverse Proxy για Rocket.Chat

10. Αρχικά, εγκαταστήστε το πακέτο NGINX εάν δεν έχει εγκατασταθεί ακόμα στο σύστημά σας.

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

11. Μόλις ολοκληρωθεί η εγκατάσταση του πακέτου, ξεκινήστε την υπηρεσία Nginx, προς το παρόν, ενεργοποιήστε την να ξεκινά αυτόματα κατά την εκκίνηση του συστήματος και ελέγξτε την κατάστασή της για να βεβαιωθείτε ότι εκτελείται.

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

12. Στη συνέχεια, δημιουργήστε ένα αρχείο μπλοκ εικονικού διακομιστή για την εφαρμογή Rocket.Chat στον κατάλογο /etc/nginx/conf.d/, για παράδειγμα.

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

Στη συνέχεια, αντιγράψτε και επικολλήστε την ακόλουθη διαμόρφωση στο αρχείο (αντικαταστήστε το chat.linux-console.net με τον έγκυρο υποτομέα ή τον τομέα σας).

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

Αποθηκεύστε το αρχείο και κλείστε το.

13. Στη συνέχεια, ελέγξτε τη διαμόρφωση NGINX για οποιοδήποτε συντακτικό πρόβλημα. Εάν είναι εντάξει, επανεκκινήστε την υπηρεσία Nginx για να εφαρμόσετε τις πρόσφατες αλλαγές.

$ sudo nginx -t
$ sudo systemctl restart nginx

Ενεργοποίηση Apache Reverse Proxy για Rocket.Chat

14. Ξεκινήστε εγκαθιστώντας το πακέτο Apache2 εάν δεν έχει εγκατασταθεί ακόμα, στο σύστημά σας.

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

15. Στη συνέχεια, ξεκινήστε και ενεργοποιήστε την υπηρεσία apache και ελέγξτε εάν είναι ενεργοποιημένη και εκτελείται ως εξής.

----- 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. Στη συνέχεια, δημιουργήστε ένα εικονικό αρχείο κεντρικού υπολογιστή για την εφαρμογή Rocket.Chat κάτω από το /etc/apache2/sites-available/ ή το /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. Αντιγράψτε και επικολλήστε την ακόλουθη διαμόρφωση σε αυτήν, αντικαταστήστε το chat.linux-console.net με τον έγκυρο τομέα σας.

<VirtualHost *:80>
    ServerAdmin 
    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>

Αποθηκεύστε το αρχείο και κλείστε το.

18. Στο Ubuntu και στο Debian ενεργοποιήστε τις απαιτούμενες μονάδες apache2 και επανεκκινήστε την υπηρεσία για να εφαρμόσετε τις πρόσφατες αλλαγές.

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

Σε CentOS/RHEL και Fedora, απλώς επανεκκινήστε την υπηρεσία apache.

# systemctl restart httpd

19. Τώρα όλα έχουν ρυθμιστεί σωστά, ανοίξτε το πρόγραμμα περιήγησής σας και πληκτρολογήστε την παρακάτω διεύθυνση. Η εφαρμογή Rocket.Chat θα πρέπει να είναι προσβάσιμη χρησιμοποιώντας τον τομέα σας που έχει διαμορφωθεί στον διακομιστή μεσολάβησης.

http://chat.linux-console.net

20. Το επόμενο κρίσιμο βήμα είναι να προσθέσετε τα πλεονεκτήματα ασφάλειας και απορρήτου ενός πιστοποιητικού HTTPS στην υπηρεσία συνομιλίας σας. Για περιβάλλον παραγωγής, συνιστούμε τη χρήση του Let’s Encrypt, το οποίο είναι δωρεάν και το εμπιστεύονται τα περισσότερα σύγχρονα προγράμματα περιήγησης ιστού.

Λάβετε υπόψη ότι το Let’s Encrypt είναι αυτοματοποιημένο: μπορείτε να χρησιμοποιήσετε το certbot, ένα δωρεάν εργαλείο ανοιχτού κώδικα για αυτόματη λήψη και εγκατάσταση ή απλώς λήψη και εγκατάσταση πιστοποιητικών Let’s Encrypt σε κύριες διανομές Linux και διακομιστές ιστού.

Βήμα 4: Εγκατάσταση προγραμμάτων-πελατών Rocket.Chat στην επιφάνεια εργασίας

21. Τελευταίο αλλά εξίσου σημαντικό, μπορείτε να κατεβάσετε και να εγκαταστήσετε μια εφαρμογή Rocket.Chat για επιτραπέζιους υπολογιστές για Linux, Mac ή Windows από το Rocket.Chat ιστότοπος του έργου. Παρέχει επίσης εφαρμογές για κινητά για Android και iOS.

Για να εγκαταστήσετε την εφαρμογή επιτραπέζιου υπολογιστή σε Linux, κάνετε λήψη ενός πακέτου deb (x64) ή rpm (x64) ανάλογα με τη διανομή 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. Στη συνέχεια, εγκαταστήστε το πακέτο χρησιμοποιώντας τη διαχείριση πακέτων rpm όπως φαίνεται.

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

23. Μόλις ολοκληρωθεί η εγκατάσταση του πακέτου, αναζητήστε το rocket.chat στο Μενού συστήματος και ξεκινήστε το. Αφού φορτωθεί, εισαγάγετε τη διεύθυνση URL του διακομιστή σας για να συνδεθείτε σε αυτόν όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.