Nextcloud/Talk/HPB: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „== Einzelnachweise ==↵<references />“ durch „“
 
(40 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


= Beschreibung =
= Beschreibung =
== Komponenten ==
; Komponenten
{| class="wikitable sortable"  
{| class="wikitable sortable"  
|-  
|-  
! Aufgabe !! Komponenten !! Link !! Beschreibung
! Komponente !! Aufgabe !! Link !! Beschreibung
|-  
|-  
| WebRTC Gateway || Janus  || [[Nextcloud:Talk:HPB:Janus]] ||  
| Janus || WebRTC Gateway || [[Nextcloud/Talk:HPB:Janus]] ||  
|-   
|-   
| Messaging Server || NATS  || [[Nextcloud:Talk:HPB:NATS]] || NATS ermöglicht es Anwendungen und Diensten Daten auszutauschen, die in Nachrichten unterteilt sind. Clients stellen über eine URL eine Verbindung zum NATS-Server her und können anschließend Nachrichten zu einem bestimmten Betreff abonnieren oder veröffentlichen.
| NATS || Messaging Server || [[Nextcloud/Talk:HPB:NATS]] ||  
|-   
|-   
| Signaling-Servern || head  || [[Nextcloud:Talk:HPB:Signaling-Server]] || Der Signaling-Server (https://github.com/strukturag/nextcloud-spreed-signaling) ermöglicht Clients, die eine direkte Verbindung zueinander aufbauen wollen, den Austausch von Informationen, die dies gewährleisten. Möchte sich ein Client A mit einem Client B verbinden, '''signalisiert''' er dies dem Signaling-Server. Sollte Client B der Verbindungsanfrage zustimmen, übermittelt dieser seine Verbindungsinformationen an den Signaling-Server, der diese an Client A weiterreicht. Daraufhin erfolgt der direkte Verbindungsaufbau zwischen den Clients A und B.
| Signaling-Servern || Signaling-Servern || [[Nextcloud/Talk:HPB:Signaling-Server]] ||  
|-
| Webserver Frontend  || Webserver Frontend || [[Nextcloud/Talk:HPB:Apache]] ||
|}
|}


= Installation =
= Installation =
== Vorbereitung ==
== Server-Daten ==
=== Schlüssel (keys) erstellen ===
;<api-Key> für Janus
$ '''openssl rand -base64 16'''


;Hash-Key
{| class="wikitable sortable"
  $ '''openssl rand -hex 16'''
|-
! Server !! URL
|-  
| Nextcloud-Server || cloud.foxtom.de
|-  
| TURN-Server || turn.foxtom.de:5349
|-
| Signaling Server || signaling.foxtom.de
|}


;Block-Key  
= Konfiguration =
  $ '''openssl rand -hex 16'''
== Schlüssel (keys) erstellen ==
{| class="wikitable sortable"
|-
! Aufgabe !! Befehl
|-
| Api-Key für Janus  || openssl rand -base64 16
|- 
| Hash-Key  || openssl rand -hex 16
|- 
| Block-Key || openssl rand -hex 16
|- 
  | Secret Key für die Nextcloud || openssl rand -hex 16
|}


;Secret Key für die Nextcloud
;siehe auch '''[[Openssl]]'''
$ '''openssl rand -hex 16'''


; openssl
== Einbinden in Nextcloud Talk ==
* Option '''rand''' Pseudozufallszeichenketten einer bestimmten Kodierung und der angegebenen Länge erzeugt werden.
siehe '''[[Nextcloud/Talk:HPB:Einbinden in Nextcloud Talk]]'''
* Option '''base64'''
** wird eine Zeichenkette aus Zahlen, Groß- & Kleinbuchstaben, sowie den Zeichen '+' und '/' generiert
* Option '''hex''' eine Zeichenkette aus Hexadezimalzahlen erzeugt wird.


== Firewall konfigurieren ==
# apt install ufw


== Server-Daten ==
# ufw allow http
  '''Nextcloud-Server:''' cloud.foxtom.de
# ufw allow https
  '''TURN-Server:'''      cloud.foxtom.de:5349
  # ufw allow ssh
  '''Signaling Server:''' signaling.foxtom.de
  # ufw allow 5349/tcp
  # ufw allow 5349/udp


<!--
# ufw enable
TODO
* Was machen und bedeuten die folgenden Kommandos?
* Warum brauchen wir diese Schlüssel?
* Sind die vorgeschlagenen Einstellungen sicher genug?
* Wie ist mit diesen Daten umzugehen?
-->


= Konfiguration =
# ufw status
== Einbinden in Nextcloud Talk ==
Status: active
siehe '''[[Nextcloud:Talk:HPB:Einbinden in Nextcloud Talk]]'''
To                        Action      From
--                        ------      ----
80/tcp                    ALLOW      Anywhere                 
443/tcp                    ALLOW      Anywhere                 
22/tcp                    ALLOW      Anywhere                 
5349/tcp                  ALLOW      Anywhere                 
5349/udp                  ALLOW      Anywhere                 
80/tcp (v6)                ALLOW      Anywhere (v6)           
443/tcp (v6)              ALLOW      Anywhere (v6)           
22/tcp (v6)                ALLOW      Anywhere (v6)           
5349/tcp (v6)              ALLOW      Anywhere (v6)           
5349/udp (v6)              ALLOW      Anywhere (v6)


== Dateien ==
== Dateien ==


= Anwendungen =
= Anwendung =
[[Category:Nextcloud:Verwaltung]]


= Sicherheit =
= Sicherheit =
= Dokumentation =
= Dokumentation =
== Projekt-Homepage ==
== Projekt ==
# https://github.com/strukturag/nextcloud-spreed-signaling


= Links =
= Links =
== Siehe auch ==
== Siehe auch ==
# https://de.wikipedia.org/wiki/WebRTC
== Weblinks ==
== Weblinks ==
<!-- '''TODO: ''' Linke beschreiben und ich Gruppen aufteilen -->
# https://github.com/strukturag/nextcloud-spreed-signaling
# https://de.wikipedia.org/wiki/WebRTC
# https://decatec.de/home-server/nextcloud-talk-mit-eigenem-signaling-server-high-performance-backend/
# https://decatec.de/home-server/nextcloud-talk-mit-eigenem-signaling-server-high-performance-backend/
# https://decatec.de/home-server/nextcloud-auf-ubuntu-server-20-04-lts-mit-nginx-mariadb-php-lets-encrypt-redis-und-fail2ban/  
# https://decatec.de/home-server/nextcloud-auf-ubuntu-server-20-04-lts-mit-nginx-mariadb-php-lets-encrypt-redis-und-fail2ban/  
Zeile 76: Zeile 99:
# https://decatec.de/home-server/docker-auf-ubuntu-server/
# https://decatec.de/home-server/docker-auf-ubuntu-server/


== Einzelnachweise ==
<references />


= Testfragen =
 
<div class="toccolours mw-collapsible mw-collapsed">
 
''Testfrage 1''
 
<div class="mw-collapsible-content">'''Antwort1'''</div>
[[Kategorie:Nextcloud/Talk]]
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>

Aktuelle Version vom 2. Juni 2024, 09:45 Uhr

Nextcloud Talk High Performance Backend

Beschreibung

Komponenten
Komponente Aufgabe Link Beschreibung
Janus WebRTC Gateway Nextcloud/Talk:HPB:Janus
NATS Messaging Server Nextcloud/Talk:HPB:NATS
Signaling-Servern Signaling-Servern Nextcloud/Talk:HPB:Signaling-Server
Webserver Frontend Webserver Frontend Nextcloud/Talk:HPB:Apache

Installation

Server-Daten

Server URL
Nextcloud-Server cloud.foxtom.de
TURN-Server turn.foxtom.de:5349
Signaling Server signaling.foxtom.de

Konfiguration

Schlüssel (keys) erstellen

Aufgabe Befehl
Api-Key für Janus openssl rand -base64 16
Hash-Key openssl rand -hex 16
Block-Key openssl rand -hex 16
Secret Key für die Nextcloud openssl rand -hex 16
siehe auch Openssl

Einbinden in Nextcloud Talk

siehe Nextcloud/Talk:HPB:Einbinden in Nextcloud Talk

Firewall konfigurieren

# apt install ufw
# ufw allow http
# ufw allow https
# ufw allow ssh
# ufw allow 5349/tcp
# ufw allow 5349/udp
# ufw enable
# ufw status
Status: active

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
22/tcp                     ALLOW       Anywhere                  
5349/tcp                   ALLOW       Anywhere                  
5349/udp                   ALLOW       Anywhere                  
80/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6)             
22/tcp (v6)                ALLOW       Anywhere (v6)             
5349/tcp (v6)              ALLOW       Anywhere (v6)             
5349/udp (v6)              ALLOW       Anywhere (v6)

Dateien

Anwendung

Sicherheit

Dokumentation

Projekt

  1. https://github.com/strukturag/nextcloud-spreed-signaling

Links

Siehe auch

  1. https://de.wikipedia.org/wiki/WebRTC

Weblinks

  1. https://decatec.de/home-server/nextcloud-talk-mit-eigenem-signaling-server-high-performance-backend/
  2. https://decatec.de/home-server/nextcloud-auf-ubuntu-server-20-04-lts-mit-nginx-mariadb-php-lets-encrypt-redis-und-fail2ban/
  3. https://decatec.de/home-server/nextcloud-talk-mit-eigenem-turn-server-coturn/
  4. https://decatec.de/linux/lets-encrypt-zertifikate-mit-acme-sh-und-nginx/
  5. https://decatec.de/home-server/rsa-und-ecdsa-zertifikate-mit-nginx-hybrid-loesung/
  6. https://decatec.de/home-server/tlsv1-3-unter-ubuntu-server-18-04-lts-mit-nginx/
  7. https://decatec.de/home-server/docker-auf-ubuntu-server/