Εγκατάσταση Nextcloud για τις ανάγκες ενός οργανισμού
Σε αυτό το άρθρο, θα παρουσιάσουμε έναν οδηγό για το πώς να δημιουργήσετε ένα Matrix, Element και Jitsi Homeserver, καθώς και γιατί να θέλετε να το κάνετε. Αυτό το άρθρο βασίστηκε στην εμπειρία που αποκτήθηκε από την εγκατάσταση των Matrix / Element / Jitsi για εσωτερική χρήση στον Οργανισμό Ανοιχτών Τεχνολογιών (ΕΕΛ/ΛΑΚ). To άρθρο στα Αγγλικά.
Matrix
Όπως αναφέρει η σελίδα εισαγωγής τους, το Matrix είναι ένα φιλόδοξο νέο οικοσύστημα ανοιχτού λογισμικού για ενοποιημένα άμεσα μηνύματα και VoIP. Τα βασικά στοιχεία που πρέπει να γνωρίζετε για να ξεκινήσετε να το λειτουργείτε είναι:
- Τα πάντα στο Matrix συμβαίνουν σε ένα δωμάτιο. Τα δωμάτια είναι κατανεμημένα και δεν υπάρχουν σε κάποιον συγκεκριμένο κεντρικό διακομιστή. Τα δωμάτια μπορούν να βρεθούν χρησιμοποιώντας ψευδώνυμα ευκολίας όπως
#matrix:matrix.org
ή#test:localhost:8448
. - Τα αναγνωριστικά χρήστη του Matrix μοιάζουν με
@matthew:matrix.org
(αν και στο μέλλον θα είναι δυνατή η αναζήτηση χρησιμοποιώντας ένα αναγνωριστικό τρίτου μέρους (3PID): διεύθυνση ηλεκτρονικού ταχυδρομείου, αριθμό τηλεφώνου κ.λπ. αντί των αναγνωριστικών χρήστη Matrix)
Η συνολική αρχιτεκτονική είναι:
Φυσικά, με το Matrix, μπορείτε ακόμα να δημιουργήσετε έναν μη ενοποιημένο διακομιστή (αυτό έχουμε κάνει εσωτερικά στην ΕΕΛ/ΛΑΚ) και να βεβαιωθείτε έτσι, ότι τα δεδομένα επικοινωνίας σας περιέχονται με ασφάλεια μόνο στην υποδομή σας, με την προφανή συνέπεια να μπορείτε να βρείτε και μιλήστε με χρήστες και σε δωμάτια που είναι εγγεγραμμένα στον δικό σας διακομιστή.
Το Matrix είναι εξαιρετικά αρθρωτό, επομένως μπορείτε να χρησιμοποιήσετε μόνο τα στοιχεία που χρειάζεστε, αλλά όλες οι εγκαταστάσεις έχουν τουλάχιστον τα παρακάτω:
- Synapse homeserver – αποθήκευση των δεδομένων σας και διαχείριση της παρουσίας σας στο δίκτυο Matrix
- Βάση δεδομένων PostgreSQL για το Synapse. Μπορείτε είτε να εγκαταστήσετε PostgreSQL στον ίδιο διακομιστή με το Synapse είτε να χρησιμοποιήσετε έναν εξωτερικό διακομιστή PostgreSQL.
- Διακομιστής Coturn STUN / TURN για κλήσεις ήχου / βίντεο WebRTC
- Δωρεάν Let’s Encrypt πιστοποιητικό TLS, το οποίο διασφαλίζει τη σύνδεση με το διακομιστή Synapse και το περιβάλλον εργασίας χρήστη Element web
- Περιβάλλον εργασίας, το οποίο έχει διαμορφωθεί για να συνδεθείτε στον δικό σας διακομιστή Synapse από προεπιλογή. Αυτό με τις περισσότερες λειτουργίες και το πιο συχνά χρησιμοποιούμενο είναι το Element.
- Ένας διακομιστής Matrix Identity. Μπορείτε είτε να χρησιμοποιήσετε το Sydent ή το πιο προηγμένο ma1sd.
- Διακομιστής αλληλογραφίας, μέσω του οποίου όλες οι υπηρεσίες Matrix στέλνουν εξερχόμενα μηνύματα ηλεκτρονικού ταχυδρομείου (μπορούν να ρυθμιστούν ώστε να μεταδίδονται μέσω άλλου διακομιστή SMTP)
- Διακομιστής ιστού, που “ακούει” στις θύρες 80 και 443 – στέκεται μπροστά από όλες τις άλλες υπηρεσίες.
Element
Όπως αναφέραμε παραπάνω, θα χρειαστείτε ένα περιβάλλον εργασίας για να συνδεθείτε με την εγκατάσταση του Matrix homeserver. Το Element (παλαιότερα γνωστό ως Riot / Vector), όχι μόνο έχει μια εξαιρετική διεπαφή χρήστη και τις περισσότερες δυνατότητες ως web client, αλλά έχει και εγγενείς εφαρμογές για Windows, Linux, Android και iOS, τις οποίες μπορείτε να χρησιμοποιήσετε για να συνδεθείτε στον διακομιστή σας.
Jitsi
Το Jitsi είναι μια συλλογή έργων Ανοιχτού Κώδικα παροχής υπερσύγχρονων δυνατοτήτων τηλεδιάσκεψης που είναι ασφαλείς, εύχρηστες και εύκολες στη φιλοξενία. Ενώ το Element / Matrix προσφέρει επικοινωνία φωνής και βίντεο P2P μέσω WebRTC, απαιτείται το Jitsi για τη δημιουργία διασκέψεων με περισσότερους από δύο συμμετέχοντες. Όταν ρυθμιστεί, μπορείτε να προσθέσετε widget Jitsi σε δωμάτια Matrix όπου όλοι μπορούν να συμμετάσχουν στη βιντεοδιάσκεψη και να καταργήσετε το widget όταν τελειώσετε. Επίσης, μπορείτε να χρησιμοποιήσετε το Jitsi ως αυτόνομη εφαρμογή, για βιντεοδιασκέψεις με οποιονδήποτε, ανεξάρτητα από το εάν έχουν λογαριασμούς Matrix ή όχι.
Δυνατότητες
Bridges
Μια σημαντική δυνατότητα του Matrix είναι η ικανότητά του να συνδεθεί με άλλες υπηρεσίες, με μονάδες που ονομάζονται γέφυρες. Με αυτόν τον τρόπο, μπορείτε να χρησιμοποιήσετε την εγκατάσταση Matrix / Element ως ένα ενοποιημένο περιβάλλον για πρόσβαση σε διάφορες πλατφόρμες για αποστολή και λήψη μηνυμάτων. Μια μη εξαντλητική λίστα υπηρεσιών στις οποίες μπορείτε να αποκτήσετε πρόσβαση μέσω γεφυρών είναι:
- Telegram με χρήση του mautrix-telegram
- Whatsapp με χρήση του mautrix-whatsapp
- Facebook με χρήση του mautrix-facebook
- Google Hangouts με χρήση του mautrix-hangouts
- IRC με χρήση του matrix-appservice-irc
- Discord με χρήση του matrix-appservice-discord
- Slack με χρήση του matrix-appservice-slack
- ConcourseCI και άλλες υπηρεσίες που παρέχουν webhooks συμβατά με το Slack, με χρήση του matrix-appservice-webhooks
- Email με χρήση του Email2Matrix
- SMS με χρήση του matrix-sms-bridge
Μπορείτε να μάθετε περισσότερα σχετικά με τις γέφυρες, τις μεθόδους γεφύρωσης και τις συμβατές πλατφόρμες ανταλλαγής μηνυμάτων, στην αντίστοιχη ενότητα του matrix.org.
Widgets
Εάν εγκαταστήσετε έναν διαχειριστή ενοποιήσεων, όπως το Dimension, ή χρησιμοποιείτε τον προεπιλεγμένο που παρέχεται από το Element στο scalar.vector.im, μπορείτε να δείτε και να διαμορφώσετε όλες τα πρόσθετα σας, μέσα στο περιβάλλον του Element. Οι διαχειριστές ενοποιήσεων λαμβάνουν δεδομένα διαμόρφωσης και μπορούν να τροποποιήσουν γραφικά στοιχεία, να στείλουν προσκλήσεις σε δωμάτια και να ορίσουν επίπεδα ισχύος εκ μέρους σας. Διαχειρίζονται επίσης bots, widgets και πακέτα αυτοκόλλητων. Όταν προσθέτετε ένα γραφικό στοιχείο σε ένα δωμάτιο, ενσωματώνετε ένα iframe της web εφαρμογής στο δωμάτιο, ώστε όλοι οι συμμετέχοντες να μπορούν να το δουν. Οι επιλογές widget περιλαμβάνουν Jitsi Conferences, YouTube Videos, συμβάντα Google Calendar, δημόσια Έγγραφα Google και οποιαδήποτε ιστοσελίδα που επιτρέπει την ενσωμάτωσή της σε iframe.
Bots
Τα bots είναι ένα ισχυρό χαρακτηριστικό του Matrix το οποίο, εκτός από το να επιτρέπει τη λειτουργία των γεφυρών, μπορεί να παρέχει λειτουργίες αυτοματισμού και διαλειτουργικότητας με άλλες υπηρεσίες. Τα bots είναι, στην ουσία, εικονικοί χρήστες που μπορούν να λαμβάνουν εντολές ως μηνύματα που τους αποστέλλονται ή στην αίθουσα στην οποία ανήκουν και δημοσιεύουν τα αποτελέσματα της εργασίας τους ως απάντηση. Μπορούν να χρησιμοποιηθούν για την αποστολή αυτοματοποιημένων μηνυμάτων, την παρακολούθηση ροών RSS και Twitter, GitHub issues, Gitlab issues και Trello boards, και πολλά άλλα.
Μπορείτε να μάθετε περισσότερα σχετικά με τα διαθέσιμα bots στην αντίστοιχη ενότητα του matrix.org.
Εγκατάσταση
Η υποδομή που χρησιμοποιήσαμε για την εγκατάστασή μας είναι μια εικονική μηχανή που φιλοξενείται στο Okeanos-Knossos, εξοπλισμένη με:
- 8 πυρήνες CPU
- 8 Gb RAM
- 130 Gb Αποθηκευτικού Χώρου (Ίσως χρειαστείτε περισσότερα εάν θέλετε να αποθηκεύσετε πολλά αρχεία – όπως εικόνες, έγγραφα κ.λπ. – ή θα μπορούσατε να χρησιμοποιήσετε μια εξωτερική υπηρεσία αποθήκευσης για αυτά τα αρχεία)
- Στατικές δημόσιες IPv4 και IPv6 διευθύνσεις
Έχουμε επίσης συνδέσει την εγκατάστασή μας με τον LDAP server μας, χρησιμοποιώντας το matrix-synapse-ldap3 πρόσθετο αυθεντικοποίησης χρηστών LDAP, έτσι ώστε οι χρήστες μας να έχουν πρόσβαση στον διακομιστή Matrix χωρίς να χρειάζεται να εγγραφούν ξανά.
Μπορείτε να χρησιμοποιήσετε αυτό το καλοδιατηρημένο ansible playbook για να εγκαταστήσετε και να διαμορφώσετε όλες τις υπηρεσίες και τα στοιχεία του Matrix που θέλετε, σε οργανωμένα κοντέινερ με χρήση Docker. Διαφορετικά, μπορείτε να ακολουθήσετε τις οδηγίες στην GitHub σελίδα κάθε στοιχείου για να το εγκαταστήσετε χειροκίνητα. Μπορείτε επίσης να χρησιμοποιήσετε το παρακάτω βίντεο και τη συνοδευτική ανάρτηση ιστολογίου του.
Όπως υποδηλώνει η τεκμηρίωση του playbook, μπορείτε να εγκαταστήσετε το απαιτούμενο λογισμικό στο CentOS (7.0+), διανομές που βασίζονται στο Debian (Debian 9 / Stretch +, Ubuntu 16.04+) και Archlinux , αλλά το Jitsi υποστηρίζεται επίσημα στο Ubuntu 18.04 LTS, γι ‘αυτό σας προτείνουμε να επιλέξετε αυτήν τη διανομή εάν σκοπεύετε να εγκαταστήσετε και το Jitsi.
Συμπεράσματα
Η κατοχή ενός Matrix homeserver και η χρήση της εφαρμογής Element μπορεί να σας βοηθήσει, όχι μόνο να έχετε ένα ασφαλές σύστημα επικοινωνίας, αλλά και να συμμετάσχετε στη μεγάλη κοινότητα του Matrix, να είστε πιο οργανωμένοι και αποτελεσματικοί, έχοντας τα περισσότερα, αν όχι όλα, τα απαραίτητα μέσα επικοινωνίας σε μια ενοποιημένη πλατφόρμα. Εάν επιλέξετε να ρυθμίσετε τα πάντα μόνοι σας, μπορεί να συναντήσετε μια απότομη καμπύλη εκμάθησης, αλλά οι αυτόματες λύσεις εγκατάστασης και η λεπτομερής τεκμηρίωση το αντισταθμίζουν. Είτε πρόκειται για συνομιλίες μέσω άμεσων μηνυμάτων, φωνής ή βίντεο, Matrix, Element, Jitsi και τα κατάλληλα πρόσθετα μπορούν να εξυπηρετήσουν αξιόπιστα ακόμη και τις πιο προηγμένες ανάγκες επικοινωνίας.