Unternehmenskommunikation mit Synapse

In diesem Beitrag werden wir uns die Installation von Synapse ansehen, Ein proprietärer Server, der es uns ermöglicht, die Messaging-Kommunikation zwischen unseren Benutzern zu kontrollieren und zu sichern, ein Gleichnis von Slack. Wir werden in der Lage sein, ihnen über eine mobile App oder eine Website sicheren Zugang zu Besprechungsräumen zu gewähren, Private Nachrichten, Active Directory-Integration, mit Jitsi, Nächste Cloud…

Ein Tool, das es uns viel schneller macht, unser Arbeitsleben über Kanäle oder Räume zu organisieren, in denen Benutzer ihre Bedürfnisse austauschen können, Eine echte Alternative zu E-Mail, Mannschaften, Slack und mehr. Sie werden in der Lage sein, zu chatten, Dateien senden, Videokonferenzen integriert mit unserem Jitsi, oder was ich gesagt habe, Wenn Sie Nextcloud haben, können wir den Client nativ integrieren.

Gestartet! Matrix ist ein offenes Protokoll und Netzwerk für die dezentrale Kommunikation, wo Benutzer über öffentliche und private Server an öffentlichen und privaten Chatrooms teilnehmen können (“Heim-Server”); sowie jeder Kunde Ihrer Wahl, genau wie wir es mit E-Mail tun. Ziel ist es, ein freies und offenes globales Netzwerk für die Ende-zu-Ende-verschlüsselte Kommunikation bereitzustellen, ohne Einbußen bei der Benutzerfreundlichkeit, und so in der Lage zu sein, Nutzer davon zu befreien, in den Apps bestimmter Hersteller gefangen zu sein, , die heute zu den gebräuchlichsten.

Synapse ist die am häufigsten installierte Matrix-Homeserver-Implementierung, ist in Python geschrieben 3 und es ist Open Source. In diesem Beitrag werden wir mehrere Dinge sehen:

  • Installieren von Synapse
  • Aktivieren Sie den Reverse-Proxy mit Nginx
  • Installieren des Element-Clients
  • Integration der Active Directory-Authentifizierung.
  • Installieren Sie Element-web
  • Jitsi-Integration
  • Integration mit Nextcloud

Installieren von Synapse

Um die Installation durchzuführen, verlassen wir uns auf einen Ubuntu-Server 21.04 die wir aktualisieren und mit einer statischen IP versehen. Wir beginnen mit der Installation der Anforderungen:

sudo apt install build-essential python3-dev libffi-dev python3-pip python3-setuptools sqlite3 libssl-dev virtualenv libjpeg-dev libxslt1-dev

Wir laden das Repository und die Schlüssel herunter, um Matrix Synapse endgültig zu installieren:

sudo apt install -y lsb-release wget apt-transport-https sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg erledigt "1_i386.deb [signiert von=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) hauptsächlich" | sudo tee /etc/apt/sources.list.d/matrix-org.list sudo apt update sudo apt install matrix-synapse-py3

Die nächste Frage wird uns ins Auge springen, Wir müssen den FQDN-Namen des Servers angeben, so etwas wie matrix.mydomain.eso, dass Sie sich auf Ihren DNS-Servern registrieren und gegen die IP dieses Rechners auflösen müssen.

Wenn wir anonyme Statistiken senden möchten, um die Nutzung zu verbessern,

Wir initiieren und ermöglichen den Service:

Sudo SystemCTL Start Matrix-Synapse.service sudo SystemCTL Enable Matrix-Synapse.service

Bearbeiten der Synapse-Konfigurationsdatei: /etc/matrix-synapse/homeserver.yaml und wir sehen den Listening-Port, Die Hörrichtung (Wir können gehen 127.0.0.1 ob wir mit dem Reverse-Proxy zugreifen werden), wenn wir TLS wollen, oder wichtig, wenn wir es den Nutzern ermöglichen wollen, sich frei in unserer Umgebung zu registrieren, Oder nicht:

...
- Hafen: 8008
    TLS: Typ "Falsch": HTTP-x_forwarded: Echte bind_addresses: ['0.0.0.0']

    Betriebsmittel:
      - Namen: [Kunde, Föderation]
        komprimieren: FALSCH
...
enable_registration: FALSCH
...

Wenn wir Änderungen vornehmen, starten wir den Dienst neu:

sudo systemctl restart matrix-synapse.service

Und wenn wir in bind_address von 0.0.0.0 Wir werden in der Lage sein, einen Browser zu öffnen und zu überprüfen, ob der Dienst ausgeführt wird, Wir öffnen gegen HTTP://DIRECCION_IP_SYNAPSE:8008

Reverse-Proxy

Wie wir sehen können, unsere Synapse läuft unter HTTP, Als nächstes werden wir Nginx installieren und den Zugriff auf Synapse mithilfe von Reverse-Proxy- und SSL-Verschlüsselung ermöglichen. Also los geht's, Wir haben Nginx installiert, Wir starten es und markieren es als automatischen Start mit dem System:

sudo apt install nginx sudo systemctl start nginx.service sudo systemctl enable nginx.service

Wir haben die Konfigurationsdatei für die Synapse-Website erstellt, Wir nennen es zum Beispiel '/etc/nginx/sites-available/synapse’ und zumindest werden wir den Beispiel-FQDN, den ich Ihnen überlasse, durch den eines jeden von Ihnen ersetzen:

Server {
       Zuhören 80;
       server_name matrix.meinedomain.eso;
       Rückgabe 301 https://$server_name$request_uri;
}

Server {
    Zuhören 443 SSL-Verbindung;
    Zuhören [::]:443 SSL-Verbindung;
    server_name matrix.meinedomain.eso;

    ssl_certificate /etc/ssl/certs/wildcard_midominio_eso.cer;
    ssl_certificate_key /etc/ssl/certs/wildcard_midominio_eso.key;

    # If you don't wanna serve a site, Kommentieren Sie dies aus root /var/www/html;
    Index index.html index.htm;

    Lage /_matrix {
      proxy_pass http://127.0.0.1:8008;
      proxy_set_header X-Forwarded-For $remote_addr;
    }
    Speicherort /.well-known/matrix/server {
      Rückgabe 200 '{"m.server": "matrix.midominio.eso:443"}';
      add_header Content-Type application/json;
    }
    Standort /.bekannt/matrix/kunde {
      Rückgabe 200 '{"m.homeserver": {"base_url": "https://matrix.midominio.eso"},"m.identity_server": {"base_url": "https://vector.im"}}';
      add_header Content-Type application/json;
      add_header "Zugriffskontrolle-Zulassen-Ursprung" *;
    }
}

Creamos un enlace para habilitar el sitio de Synapse y reiniciamos Nginx:

sudo ln -s /etc/nginx/sites-available/synapse /etc/nginx/sites-enabled/ sudo systemctl restart nginx.service

Si todo ha ido bien podremos validarlo abriendo un navegador contra https://DIRECCION_IP_SYNAPSE/.bekannte/matrix/server

Element

Nicht schlecht, um sich mit unserem Synapse-Server zu verbinden, Wir können jeden Kunden verwenden, wie wir oben gesagt haben, das gebräuchlichste ist vielleicht Element, früher bekannt als Riot. Nun, Element kann direkt von https://app.element.io oder wir können Herunterladen eines Clients Örtlich, für unsere Fenster, Linux (Englisch), Mac, Android oder iOS.

Sobald das Element geöffnet ist, Wir müssen angeben, dass wir das Konto auf unserem eigenen Server gehostet haben, Wir geben unseren FQDN an und können uns einloggen. Aber bevor wir uns einloggen… Werden wir ein Konto haben müssen?? Nein? Nicht schlecht. Wenn wir Synapse bereits gegen unser LDAP konfiguriert haben, können wir versuchen, uns mit unserem Active Directory-Benutzer anzumelden, Wenn nicht,, Wir müssen lokale Benutzer verwenden. Um lokale Benutzer zu erstellen, müssen wir Benutzern die Registrierung ermöglichen, und dafür erinnern wir uns, In der Konfigurationsdatei setzen wir 'enable_registration: STIMMT’ und wir starten den Dienst neu. Nun konnten wir ein Benutzerkonto erstellen. Aber natürlich, Vorsicht vor offenen Datensätzen, Es ist wahr, dass Sie in der Konfiguration sehen werden, dass wir möglicherweise einen vorherigen gemeinsamen geheimen Schlüssel benötigen und diese daher nicht validiert werden, Setzen Sie ein CAPCHA… Normalerweise lassen wir die Datensätze deaktiviert.

Und nichts, wenn wir jetzt eintreten, begrüßt uns Element, Ermöglicht es uns, Nachrichten an Kontakte zu senden, Erkunden Sie öffentliche Räume oder erstellen Sie Gruppenchats unter anderem.

Element selbst hat keine Komplikationen, Benutzer haben täglich mit dieser Art von Tools zu tun, Aber dieser hier ist Open Source, Sicher, verschlüsselt und läuft in unserem Rechenzentrum, Keine Datenlecks oder mit maximaler Privatsphäre.

Konfiguration für Active Directory

Am bequemsten ist es, die Synapse-Authentifizierung in Ihre Active Directory-Domäne zu integrieren, hierfür, Zuerst installieren wir den LDAP-Konnektor und schließlich geben wir in der Synapse-Konfiguration die Daten unseres LDAP an. Wir installieren zuerst die Anforderungen:

sudo apt-get install matrix-synapse-ldap3 -y

Bearbeiten der Synapse-Konfigurationsdatei (/etc/matrix-synapse/homeserver.yaml) und im entsprechenden Abschnitt die folgenden Einstellungen hinzugefügt:

password_providers:
    - Modul: "ldap_auth_provider. LdapAuthProvider"
      Konfiguration:
        ermöglichte: Echter URI: "LDAP (Englisch)://DIRECCION_IP_DC:389"
        start_tls: Falscher Untergrund: "ou=OU_2,ou=OU_1,dc=BEREICH,dc=ÖRTLICH"
        Attribute:
           uid: "sAMAccountName"
           Post: "Post"
           Name: "givenName"
        bind_dn: "cn=USUARIO_LDAP_SYNAPSE,ou=OU_2,ou=OU_1,dc=BEREICH,dc=ÖRTLICH"
        bind_password: "PASSWORT"
        #Filter: "(objectClass=posixKonto)"

Wo gut, wir könnten ein paar zusätzliche Zeilen gegen einen anderen DC hinzufügen, sowie dass LDAPS vorzugsweise besser durch die 636 und mit TLS und in der BaseDN werden wir die Basis haben, von der aus die Benutzer nach uns suchen werden, sowie wenn wir einen zusätzlichen Filter setzen möchten…

Und sobald wir den Synapse-Dienst neu gestartet haben, können wir versuchen, uns mit unseren Domain-Benutzern anzumelden.

sudo systemctl restart matrix-synapse.service

element-web

Auf dem Synapse-Server selbst können wir Element-web installieren, damit wir vermeiden können, dass Benutzer auf die Element-Website gehen müssen, um zu sprechen oder einen Client offline zu installieren. Element-web wird uns die gleiche GUI zur Verfügung stellen, die jedoch auf unserem Server läuft (in Nginx), einen Web-Client, los.

Also, Wir erstellen das Verzeichnis, in dem wir element-web speichern werden, Wir haben es heruntergeladen, Wir installieren GNUPG, Die Schlüssel & Wir installieren sie, Wir entpacken das Element, Wir erstellen einen symbolischen Link und korrigieren die Berechtigungen; Finalmente crearemos nuestro fichero de configuración:

sudo mkdir -p /var/www/html/element cd /var/www/html/element sudo wget https://github.com/vector-im/element-web/releases/download/v1.7.34/element-v1.7.34.tar.gz sudo apt install -y gnupg sudo wget https://github.com/vector-im/element-web/releases/download/v1.7.34/element-v1.7.34.tar.gz.asc sudo gpg --keyserver keyserver.ubuntu.com --search-keys D******@ri**.Im
sudo gpg --verify element-v1.7.34.tar.gz.asc sudo tar -xzvf element-v1.7.34.tar.gz sudo ln -s element-v1.7.34 element sudo chown www-data:www-data -R element cd element sudo cp config.sample.json config.json

Editamos el fichero de configuración (/var/www/html/element/element/config.json), modificamos la 'base_url’ con el FQDN completo de Synapse (matrix.midominio.eso); y 'server_name’ con el nombre del dominio (midominio.eso). Bleibend:

{
    "default_server_config": {
        "m.homeserver": {
            "base_url": "https://matrix.midominio.eso",
            "server_name": "midominio.eso"
        },
        "m.identity_server": {
            "base_url": "https://matrix.midominio.eso"
        }
    },
...

Wir erstellen die Konfigurationsdatei für Nginx:

Server {
       Zuhören 80;
       server_name element.meinedomain.eso;
       Rückgabe 301 https://$server_name$request_uri;
}

Server {
    Zuhören 443 SSL-Verbindung;
    Zuhören [::]:443 SSL-Verbindung;
    server_name element.meinedomain.eso;

    ssl_certificate /etc/ssl/certs/wildcard_mi_dominio.cer;
    ssl_certificate_key /etc/ssl/certs/wildcard_mi_dominio.key;

    root /var/www/html/element/element;
    Index index.html;

    Ort / {
        try_files $uri $uri/ =404;
    }
}

Wir aktivieren die Website und starten Nginx neu:

sudo ln -s /etc/nginx/sites-available/element /etc/nginx/sites-enabled/ sudo systemctl restart nginx.service

Und wir haben versucht, mit einem Browser auf https zuzugreifen://element.mydomain.eso et voilà! Wir werden jetzt in der Lage sein, uns mit unseren Benutzern direkt im Web anzumelden, und ich werde Ihnen nicht sagen, ob wir den Start anpassen…

Jitsi-Integration

Wenn wir unsere Eigener Server Jitsi-basierte Videokonferenzen, Wir können es in Element-Web integrieren und wenn sie einen Anruf oder Videoanruf tätigen möchten, oder Gruppe, Nutzen Sie unsere Ressourcen, Alles bleibt zu Hause, sicher, Verschlüsselung… Bearbeiten Sie einfach die element-web-Konfigurationsdatei (/var/www/html/element/element/config.json) in den Jitsi-Bereich und geben Sie unseren FQDN ein:

},
"Jitsi": {
    "preferredDomain": "jitsi.meinedomain.eso"
}

Und es würde super cool aussehen!

Integration mit Nextcloud

Komm schon, wir sind fertig… Das ist das Gleiche, wenn Sie ein eigenes Dateiaustauschsystem oder noch mehr einen Hub haben, mit dem Sie Ihre Benutzer verbinden können Nächste Cloud Sie werden in der Lage sein, eine APA mit einer App in die Nextcloud-Oberfläche selbst zu integrieren

Auf Nextcloud, Angemeldet mit einem Konto mit Administratorrechten, Gehen wir zu den Apps > Integration > und wir suchen nach 'Element für Nextcloud', Anklicken “Herunterladen und aktivieren”.

Wenn wir zum Teil Einstellungen gehen, Im Seitenmenü sehen wir einen neuen Abschnitt namens "Element", Wir müssen die URL des Element-Webservers konfigurieren.

Und jetzt haben Benutzer ein zusätzliches Symbol in der oberen Leiste, wo sie direkt reden können, interagiere mit dem Rest der Klassenkameraden… kostbar!

Brunnen, von denen ich hoffe, dass Sie sie interessant fanden, Vielen Dank an alle, die in sozialen Netzwerken Likes und Empfehlungen geben, Umarmungen an tod@s!

Empfohlene Beiträge

Verfasser

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Zögern Sie nicht, mich zu kontaktieren, Ich werde versuchen, dir zu helfen, wann immer ich kann, Teilen ist Leben ;) . Genießen Sie Dokumente!!!