Alle Beiträge von mic91668

Migration einer BigBlueButton-Instanz

Es gibt scheinbar keinen automatisierten Weg die Daten einer alten
 zu einer neuen BigBlueButton-Instanz zu migrieren (Quelle)

Der im folgenden beschriebene Ansatz, die Datenbank 1:1 von der alten auf die neue Instanz zu kopieren hat nicht funktioniert. Nach dem Neustart der neuen Instanz bekam ich jedenfalls die Fehlermeldung:

500 Internal Server Error
If you are the administrator of this website, then please read this web application's log file and/or the web server's log file to find out what went wrong.

Ein mehrversprechenderer Migrationsansatz wäre eine datenbank-gestützte Migration, sprich mit einem PostGreSQL-Export und anschließenden Import.

Da für mich nur die Greenlight-Daten (v.a. User und Config) relevant sind und keine Recordings, beschränkt sich diese Anleitung hierauf.

Die Greenlight-Daten befinden sich im Root-Home und ich möchte sie in einen weniger geschützten Ordner kopieren:

bbb-conf –stop

sudo su

cp -r /root/greenlight/db /tmp/backup_greenlight

chmod -R o+rx /tmp/backup_greenlight/

Downloade /tmp/backup_greenlight mit WinSCP von alter Instanz auf lokalen Rechner (hat bei mir 5 Minuten gedauert, obwohl ich auf der Instanz nur 5 User hatte, die nur wenige Meetings hatten. 

Uploade backup_greenlight von Deinem lokalen Rechner mit WinSCP auf neue Instanz nach /tmp/backup_greenlight. Dies hat knapp 10 Minuten gedauert und war verbunden mit sehr langsamen Phasen und zahlreichen Verbindungsabbrüchen, die jedoch WinSCP allesamt gemeistert hat. Hinweis: Hier arbeite ich irgendwie unsauber, denn die urspünglichen Datei- und Ordnerrechte werden beim Upload überschrieben.

Auf neuer Instanz ausführen:

bbb-conf –stop

sudo su

rm -rf /root/greenlight/db

chown -R root:root /tmp/backup_greenlight

cp -r /tmp/backup_greenlight /root/greenlight/db

bbb-conf –start

BigBlueButton v2.2 auf Amazon EC2 erstellen

Disclaimer: Ich bin weder Linux- noch IT-Sicherheitsexperte – folgende Anleitung ist also mehr ein Entwurf, als eine für den Produktivbetrieb hinreichende Anleitung.

Weitere Anleitungen im Netz: Das BigBlueButton-Projekt hat eine offizielle Video-Installationsanleitung online gestellt, die sich aber auf BigBlueButton v2.0 bezieht und weder vollständig (keine Elastic IP, kein Greenlight) noch ausführlich ist (Wo hole ich mir die Instanz, wie verbinde ich mich per PuTTY mit der Instanz, …). Daher im folgenden eine hoffentlich vollständige und ausführliche Anleitung:

Miete Instanz mit Ubuntu 16.04

Update: Folgendes Setup hat in der Region Frankfurt im April insgesamt $210.38 gekostet.

Melde Dich in AWS Konsole an -> EC2 -> Launch Instance.

Choose AMIUbuntu 16.04 LTS – Xenial (HVM) – offizielle Canonical AMI findet sich im Amazon Marketplace.

Choose Instance-Type laut Doku:
If you want to install BigBlueButton on Amazon EC2, we recommend running BigBlueButton on a c5.xlarge (or greater CPU) instance. These newer compute instensive instances offer very close to bare-metal performance.

Add Storage:

  • empfohlene >500 GB
  • Außerdem Festplatte verschlüsseln.

Wenn man ein altes Schlüsselpaar nimmt – der private Schlüssel muss noch auffindbar sein! Wer ein neues Schlüsselpaar erzeugt, sollte den privaten Schlüssel als .ppk-File downloaden, da wir später PuTTY verwenden werden. Dieses .ppk-file für die Zukunft in keepass speichern.

Security Group („Firewall“) konfigurieren

siehe: 
https://github.com/bigbluebutton/bbb-install#configuring-the-firewall

Elastic IP

Elastic IP einrichten (da eine Instanz nach Stop und Start die public IP wechselt).

Anleitung

Domain registrieren

Hintergrund: Damit Browser Mikrofon und Webcam nicht sperren, muss auf der BigBlueButton-Instanz ein Zertifikat eingesetzt werden (z.B. LetEncrypt). Für LetsEncrypt braucht man jedoch eine Domainregistrierung. Hat man diese Domain dann schließlich einer IP zugeordnet (nächstes Kapitel), dann kann das Installationsskript von BigBlueButton bbb-install.sh das Zertifikat automatisch von LetsEncrypt ziehen.

Anleitung – die Einfachheit der Registrierung hat mich sehr überrascht, da ich das bei anderen Anbietern als wesentlich komplizierter in Erinnerung habe. Bis zur Erteilung der Domain hat das auch nur 1-2 Stunden gedauert.

Domain-IP-Zuordnung

Anleitung

Mit PuTTY auf Instanz verbinden 

  • Download PuTTY
  • Enter ubuntu@public-dns
  • Connection -> SSH -> Auth und klicke auf Browse und lade den .ppk-file hoch
  • Klicke Open-Button
Prüfe, ob die FQDN-IP-Zuordnung korrekt ist.

BigBlueButton installieren

Lies sicherheitshalber die komplette Installations-Anleitung erstmal genau und vollständig durch.

V.a. aber dieses Kapitel ist relevant: 
https://github.com/bigbluebutton/bbb-install#install-greenlight

Und dort v.a. folgendes Kommando:

sudo su

wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s — -v xenial-220 -s <DEINE_DOMAIN_FUERS_LETSENCRYPT_ZERTIFIKAT> -e
<DEINE_EMAILADRESSE_FUERS_LETSENCRYPT_ZERTIFIKAT> -g

Die reine BigBlueButton-Installation hat unter 10 Minuten gedauert.

Admin-Acoount anlegen:

cd greenlight/
docker exec greenlight-v2 bundle exec rake admin:create