Server im Cloudpit anlegen und Einstellungen setzen
Im Dogado-Cloudpit wird der vServer nach dem Domainnamen benannt, unter dem die Jitsi Meet Instanz verfügbar gemacht werden soll. In unserem Beispiel: meet.vps-dogado.de
.
Außerdem wird sichergestellt, dass neben der IPv4- auch eine IPv6-Adresse erstellt und zugeordnet ist, und bei beiden Adressen der Reverse-DNS-Eintrag passend gesetzt ist. Die dazugehörigen Einstellungen finden sich im Cloudpit unter "Cloud Server" > [Server wählen] > "Netzwerk".
Unter Cloudpit => Webhosting => [Domain] werden die DNS-Einträge für meet.vps-dogado.de
(bzw. die eigene Domain) gesetzt:
System aktualisieren und Jitsi-Paketquellen aktivieren
Zunächst wird das System auf den aktuellen Stand gebracht:
apt update
apt upgrade -y
Danach sollte der Server mit reboot
neu gestartet werden, um Updates und die Änderung des Hostnamens anzuwenden.
Da im Folgenden curl
verwendet werden soll, wird es zunächst installiert:
apt install -y curl
Nun werden die Jitsi-Paketquelle eingebunden. Die Debian-Repositories bieten zwar schon eine Version von Jitsi Meet an - diese ist jedoch stark veraltet. Da sich in letzter Zeit sehr viel am Jitsi-Projekt geändert hat, soll die aktuellste Version von Jitsi installiert werden.
Werden zuerst die PGP-Keys des Jitsi-Projekts auf dem System installiert:
... und die Paketquellen im System bekanntgegeben:
echo 'deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/' | tee /etc/apt/sources.list.d/jitsi-stable.list > /dev/null
Zum Schluss wird der Paketcache neu geladen:
apt update
Apache entfernen und Nginx installieren
Der Standardmäßig vorinstallierte Apache Webserver wird deinstalliert und durch den schlankeren Nginx-Webserver ersetzt:
systemctl stop apache2
apt remove --purge apache2
apt install nginx
Jitsi Meet installieren
Nun ist es soweit: Das jitsi-meet
Paket wird installiert:
apt install jitsi-meet
Während der Installation erscheinen zwei Dialoge mit Fragen. Wählt folgendes aus:
- Hostname:
meet.vps-dogado.de
(bzw. eure eigene Domain!) - "SSL-Certificate": "Generate a self-signed certificate" wählen (LE Zertifikat wird später nachinstalliert)
Mehr Angaben sind für's erste nicht zu machen. Damit nun wie gewünscht das Let's Encrypt (LE) Zertifikat für sichere Verbindungen genutzt wird, wird mit folgendem Kommando ein Script ausgeführt, welches sich um die Beantragung und Installation kümmert:
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Danach muss eine E-Mail Adresse eingegeben werden, an welche Benachrichtungen zum Status des Zertifikats geschickt werden (z.B. Warnung, wenn Zertifikat kurz vor dem Ablauf steht und die automatische Erneuerung fehlgeschlagen ist).
Certbot wird installiert und ein SSL-Zertifikat beantragt und installiert. Das Log sollte abschließen mit "Congratulations! Your certificate and chain have been saved at..."
Jitsi Meet sollte nun unter https://meet.vps-dogado.de/ laufen und bereits vollumfänglich nutzbar sein.
Zugang beschränken
Standardmäßig ist die Jitsi Meet Instanz öffentlich nutzbar. Jeder Nutzer kann ohne vorherige Anmeldung neue Konferenzräume erstellen und vorhandenen beitreten, sollten keine weiteren raumspezifischen Zutrittsbeschränkungen aktiv sein.
Wer das Erstellen von neuen Besprechungsräumen auf einen festen Nutzerkreis beschränken will, muss noch einige Änderungen an der Konfiguration von Jitsi Meet vornehmen:
In /etc/prosody/conf.avail/meet.vps-dogado.de.cfg.lua
wird anonymous
durch internal_hashed
ersetzt:
VirtualHost "meet.vps-dogado.de"
authentication = "internal_hashed"
Nach dem VirtualHost
Block (und vor dem Component "conference.meet.vps-dogado.de" "muc"
Block) wird ein neuer VirtualHost
Block definiert:
VirtualHost "guest.meet.vps-dogado.de"
authentication = "anonymous"
c2s_require_encryption = false
(die guest-Domain wird nur intern genutzt und muss nicht im öffentlichen DNS bekanntgemacht werden)
In /etc/jitsi/meet/meet.vps-dogado.de-config.js
: wird anonymousdomain
einkommentiert und auf die vorher erwähnte Domain gesetzt:
var config = {
// Connection
//
hosts: {
// XMPP domain.
domain: 'meet.vps-dogado.de',
// When using authentication, domain for guest users.
anonymousdomain: 'guest.meet.vps-dogado.de',
Außerdem wird auch die Jicofo Konfiguration angepasst:
echo "org.jitsi.jicofo.auth.URL=XMPP:meet.vps-dogado.de" >> /etc/jitsi/jicofo/sip-communicator.properties
Die betroffenen Jitsi Meet Services werden nun neu gestartet:
systemctl restart prosody
systemctl restart jicofo
systemctl restart jitsi-videobridge2
Einen neuen Benutzer anlegen
Um einen neuen Benutzer mit dem Benutzernamen tom
und dem Passwort tom123
anzulegen, wird folgendes Kommando ausgeführt:
prosodyctl register tom meet.vps-dogado.de tom123
Dieser Benutzer hat dann die Berechtigung, neue Jitsi Meet Besprechungsräume zu erstellen. Unangemeldete Nutzer können nur bestehenden Räumen beitreten (sofern diese nicht durch ein Besprechungsraumpasswort gesichert sind).
Die Anmeldedaten werden nach Betreten eines neuen Konferenzraums abgefragt, wenn eine Anmeldung als "Room Host" erfolgen soll.