Website-Suche

So integrieren Sie Spreed Me WebRTC mit NextCloud


Ziel von Spreed ME WebRTC ist es, den Menschen private Text- und Audio-/Video-Chats zurückzugeben. Es ist wie eine kostenlose Open-Source- und selbstgehostete Alternative zu Google Hangouts. In früheren Tutorials haben wir besprochen, wie man Spreed WebRTC mithilfe des Docker-Images installiert. Dieses Tutorial zeigt Ihnen, wie Sie Spreed WebRTC mit NextCloud integrieren.

Um diesem Tutorial folgen zu können, wird davon ausgegangen, dass Sie bereits einen NextCloud-Server mit aktiviertem HTTPS eingerichtet haben und unsere vorherigen Tutorials zur Installation von Spreed WebRTC befolgt haben.

Sobald Sie dieses Tutorial abgeschlossen haben, haben Sie die Möglichkeit:

  • Starten Sie über die NextCloud-Installation privaten Text-, Audio-/Video-Chat mit NextCloud-Benutzern oder Nicht-NextCloud-Benutzern.
  • Teilen Sie Dateien von NextCloud oder speichern Sie freigegebene Dateien in NextCloud.
  • Teilen Sie Ihren Computerbildschirm oder Ihr YouTube-Video.

Also ohne weitere Umschweife, fangen wir an.

Gleicher Ursprung

Um die Screensharing-Funktion nutzen zu können, müssen wir Spreed und NextCloud auf demselben Ursprung laufen lassen. Gleicher Ursprung bedeutet, dass auf Spreed und Nextcloud über dasselbe Protokollschema, denselben Domänennamen und dieselbe Portnummer zugegriffen werden kann.

Wenn also auf Ihre Nextcloud-Installation zugegriffen wird über

https://nextcloud.your-domain.com

Anschließend können Sie Spreed WebRTC in einem Unterverzeichnis Ihrer NextCloud-Installation ablegen.

https://nextcloud.your-domain.com/webrtc

Damit sie den gleichen Ursprung haben.

BasePath ändern

Um Spreed WebRTC darüber zu informieren, dass über das Unterverzeichnis /webrtc darauf zugegriffen wird, müssen wir die Datei server.conf bearbeiten.

sudo nano /etc/spreed/server.conf

Suchen Sie die folgende Zeile.

;basePath = /some/sub/path/

Ändern Sie es in

basePath = /webrtc

Speichern und schließen Sie die Datei. Starten Sie dann den Spreed WebRTC-Server neu, damit die Änderungen wirksam werden.

Wenn Sie Spreed über das offizielle PPA unter Ubuntu 16.04 installiert haben, starten Sie es neu mit:

sudo systemctl restart spreed-webrtc

Wenn Sie Spreed mit dem Docker-Image installiert haben, starten Sie den Docker-Container neu mit:

sudo docker restart my-spreed-webrtc

Reverse-Proxy einrichten

Um Spreed WebRTC in einem Unterverzeichnis der NextCloud-Installation zu platzieren, müssen wir einen Reverse-Proxy einrichten. Wir können entweder Apache oder Nginx verwenden. Sehen wir uns zunächst an, wie man es mit Apache macht.

Apache Reverse Proxy-Konfiguration

Öffnen Sie die https-Version der virtuellen Hostdatei von NextCloud.

sudo nano /etc/apache2/sites-available/nextcloud-ssl.conf

Fügen Sie dann die folgenden Zeilen über ein.

<Location /webrtc>
  ProxyPass http://127.0.0.1:8080/webrtc
  ProxyPassReverse /webrtc
</Location>

<Location /webrtc/ws>
  ProxyPass ws://127.0.0.1:8080/webrtc/ws
</Location>

ProxyVia On
ProxyPreserveHost On
RequestHeader set X-Forwarded-Proto 'https' env=HTTPS

Speichern und schließen Sie die Datei. Führen Sie dann den folgenden Befehl aus, um einige Apache-Module zu aktivieren, damit der Proxy funktioniert.

sudo a2enmod proxy proxy_http proxy_wstunnel headers

Laden Sie Apache neu, damit die Änderungen wirksam werden.

sudo systemctl reload apache2

Jetzt sollten Sie über das Unterverzeichnis /webrtc Ihrer NextCloud-Installation auf Spreed WebRTC zugreifen können. Wenn Ihr Browser Sie auffordert, auf Ihre Kamera zuzugreifen, klicken Sie auf Zulassen.

Nginx Reverse Proxy-Konfiguration

Öffnen Sie Ihre NextCloud-Serverblockdatei.

sudo nano /etc/nginx/conf.d/nextcloud.conf

Fügen Sie die folgenden Zeilen unter den https server-Kontext ein.

location ^~ /webrtc {               
         proxy_pass http://127.0.0.1:8080;
         proxy_http_version 1.1;
         proxy_set_header Upgrade $http_upgrade;
         proxy_set_header Connection "upgrade";
         proxy_set_header X-Forwarded-Proto $scheme;
         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_buffering             on;
         proxy_ignore_client_abort   off;
         proxy_redirect              off;
         proxy_connect_timeout       90;
         proxy_send_timeout          90;
         proxy_read_timeout          90;
         proxy_buffer_size           4k;
         proxy_buffers               4 32k;
         proxy_busy_buffers_size     64k;
         proxy_temp_file_write_size  64k;
         proxy_next_upstream         error timeout invalid_header http_502 http_503 http_504;
}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration und laden Sie sie neu.

sudo nginx -t

sudo systemctl reload nginx

Jetzt sollten Sie über das Unterverzeichnis /webrtc Ihrer NextCloud-Installation auf Spreed WebRTC zugreifen können. Wenn Ihr Browser Sie auffordert, auf Ihre Kamera zuzugreifen, klicken Sie auf Zulassen.

Installation der Spreed ME NextCloud-App

Gehen Sie zum NextCloud App Store.

Klicken Sie dann links auf die Registerkarte Tools. Suchen Sie die Spreed.ME-App. Klicken Sie auf die Schaltfläche Aktivieren.

Gehen Sie als Nächstes zur Nextcloud-Administratorseite, klicken Sie auf Zusätzliche Einstellungen und scrollen Sie nach unten zum Ende der Seite. Sobald Sie den Abschnitt Spreed.ME sehen, klicken Sie auf die Schaltfläche Spreed WebRTC-Konfiguration generieren.

Kopieren Sie nun die von der Spreed.ME-App generierte Spreed WebRTC-Konfiguration und vergessen Sie nicht, auf Einstellungen speichern zu klicken.

Benennen Sie dann /etc/spreed/server.conf in /etc/spreed/server.conf.bak um.

sudo mv /etc/spreed/server.conf /etc/spreed/server.conf.bak

Erstellen Sie eine neue server.conf-Datei.

sudo nano /etc/spreed/server.conf

Und fügen Sie die Spreed WebRTC-Konfiguration in die Datei ein. Speichern und schließen Sie die Datei. Starten Sie den Spreed WebRTC-Server neu.

sudo systemctl restart spreed-webrtc

Wenn Sie Spreed WebRTC mit dem Docker-Image ausführen, müssen Sie zunächst die Zeile listen=127.0.0.1:8080 in server.conf auskommentieren, indem Sie ein Semikolon hinzufügen.

; listen = 127.0.0.1:8080

Anschließend sollten Sie den vorhandenen Spreed WebRTC-Container stoppen und entfernen.

sudo docker stop my-spreed-webrtc

sudo docker rm my-spreed-webrtc

Als nächstes müssen Sie einen neuen Spreed WebRTC-Container starten und auch /var/www/nextcloud/apps/spreedme/extra/ in den Container einhängen. Ersetzen Sie /var/www/nextcloud durch Ihren eigenen NextCloud-Webroot-Pfad.

sudo docker run -d --name my-spreed-webrtc -p 8080:8080 -p 8443:8443 -v /etc/spreed:/etc/spreed -v /var/log/spreed:/var/log/spreed -v /var/www/nextcloud/apps/spreedme/extra:/var/www/nextcloud/apps/spreedme/extra -i -t spreed/webrtc -c /etc/spreed/server.conf

Zugriff auf Spreed ME über NextCloud

Sobald die oben genannten Schritte erledigt sind, rufen Sie die Speed.ME-App über die NextCloud-Weboberfläche auf.

Und jetzt können Sie direkt über die NextCloud-Installation auf den Spreed ME-Chatroom zugreifen.

Um Nicht-Nextcloud-Benutzer zum Beitritt zum Raumchat einzuladen, müssen Sie zunächst das temporäre Passwort aktivieren, indem Sie zur Nextcloud-Administratorseite > Zusätzliche Einstellungen > Spree.ME > Erweitert gehen Einstellungen. Überprüfen Sie dann OWNCLOUD_TEMPORARY_PASSWORD_LOGIN_ENABLED. Speichern Sie Ihre Einstellungen.

Nun erscheint neben dem Spreed.ME-Chatroom ein Schlüsselsymbol, mit dem Sie ein temporäres Passwort generieren können.

Hinweis: Mit NextCloud 11 wurde eine weitere App namens Spreed Video Calls eingeführt, mit der Nextcloud-Benutzer Videoanrufe tätigen können. Dies unterscheidet sich von der Spreed ME-App.

Das ist es!

Ich hoffe, dieses Tutorial hat Ihnen bei der Integration von Spreed ME WebRTC mit NextCloud geholfen. Wie immer gilt: Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie unseren kostenlosen Newsletter. Sie können uns auch auf Google+, Twitter oder unserer Facebook-Seite folgen.

Verwandte Artikel