Root-Server Tutorial

ROOT-SERVER TUTORIAL

Installation von Wirow auf Ubuntu 22.04

Lerne, wie man Wirow (ein freies, quelloffenes und webbasiertes Videokonferenzprogramm) auf Ubuntu 22.04 installiert.

Einleitung

Dieses Tutorial beschreibt, wie man Wirow auf Ubuntu 22.04 installiert.

Die benötigte Zeit, um diesem Tutorial zu folgen, beträgt ungefähr 10 - 20 Minuten.

Das Tutorial wurde auf Ubuntu 22.04 (Juli 2023) getestet.

In diesem Tutorial wird die Beispiel-IP 123.123.123.123 verwendet.
Diese Hostname muss durch den Namen Ihres eigenen Servers ersetzt werden, wenn Sie den in diesem Tutorial beschriebenen Ablauf durchführen.
Wir werden auch die Subdomain konferenz.example.com in diesem Tutorial verwenden. Ersetzen Sie diese durch Ihre eigene Domain.

Anforderungen

Ein VPS 200 ist für dieses Tutorial ausreichend.

Schritt 1 - IP auslesen

  1. Melde dich im SCP (Server Control Panel) unter https://www.servercontrolpanel.de an.
  2. Klicke auf den Server, den du verwenden möchtest.
  3. Wenn du dich bereits im Tab "Allgemein" befindest, gibt es unten rechts ein "Netzwerk"-Fenster.
  4. Hier kannst du die IP deines Servers finden (unter IPv4).
  5. Notiere dir diese Adresse.

Schritt 2 - DNS konfigurieren

  1. Melde dich im CCP (Customer Control Panel) unter https://www.customercontrolpanel.de an.
  2. Klicke in der Seitenleiste auf der linken Seite auf "Domains".
  3. Suche die gewünschte Domain und klicke auf die Lupe neben der Domain.
  4. In dem neuen Fenster klicke auf "DNS".
  5. Scrolle nach unten, bis es leere Felder gibt.
  6. Schreibe in das erste Feld deinen Subdomain-Namen (ich empfehle "konferenz" oder einen anderen leicht merkbaren Namen).
  7. Wähle im Dropdown-Menü "A".
  8. In das letzte Feld schreibst du die IP deines Servers (aus Schritt 1).
  9. Klicke auf "DNS-Einträge speichern".

Schritt 3 - Server vorbereiten

Zuerst musst du dich über SSH in deinen Server einloggen

  1. Gib sudo -s ein, um Root-Rechte zu erhalten.
  2. Gib dein Passwort ein und drücke Enter.
  3. Gib nun apt update -y && apt upgrade -y && apt remove -y nginx apache2 lighttpd && apt autoremove -y && apt install -y wget unzip zip ein, um den Server zu aktualisieren, alle bereits installierten Webserver zu entfernen und benötigte Pakete zu installieren.
  • Falls ein rosafarbenes Fenster mit dem Titel "Pending kernel upgrade" angezeigt wird, drücke einmal Enter um fortzufahren.
  • Falls ein rosafarbenes Fenster mit dem Titel "Daemons using outdated libraries" angezeigt wird, drücke einmal Enter um fortzufahren.
  1. Gib exit ein und drücke Enter, um die Root-Konsole zu verlassen.
  1. Gehe auf (wirow.io)[wirow.io] und klicke auf "EAP" in der Menüleiste.
  2. Gib jetzt deine E-Mail-Adresse und deinen Namen ein und klicke auf "Request Access" (du kannst "None" in das Feld "Company" eingeben).
  3. Du erhältst eine E-Mail mit einem Download-Link.
  4. Kopiere den Link.

Schritt 5 - Wirow starten

  1. Gib wget ein und füge dann den Link ein, den du in Schritt 4 kopiert hast, danach drücke Enter.
  2. Gib unzip wirow.zip ein, um die heruntergeladene Datei zu entpacken.
  3. Gib sudo /usr/sbin/setcap 'cap_net_bind_service=+ep' ./wirow ein, um wirow zu erlauben, Port 80 und 443 zu verwenden (du wirst nach dem Passwort des Root-Benutzers gefragt).
  4. Gib ./wirow -n konferenz.example.com -a PASSWORT ein, um wirow zu starten. (Ersetze konferenz.example.com durch deine Subdomain und PASSWORT durch ein Passwort deiner Wahl).
  5. Navigiere in deinem Browser zu deiner Domain und gib das Passwort ein, das du in Schritt 5.3 mit dem Benutzernamen "admin" gewählt hast, um dich bei wirow anzumelden.
  6. Klicke auf den großen "Admin"-Button in der Mitte.
  7. Klicke auf das Benutzer-Symbol in der oberen rechten Ecke.
  8. Klicke auf den Bearbeiten-Button neben dem Benutzer "admin".
  9. Gib ein neues Passwort ein und klicke auf "Speichern". (Du kannst hier auch den Benutzernamen ändern oder eine E-Mail-Adresse hinzufügen).
  10. Drücke Strg+C im Terminal, um wirow zu stoppen.

Schritt 6 - Wirow automatisch starten

Wir wollen, dass Wirow automatisch startet, wenn der Server startet.

  1. Gib sudo nano /etc/systemd/system/wirow.service ein, um eine neue systemd-Service-Datei zu erstellen.
  2. Füge den folgenden Code in die Datei ein:
[Unit]
Description=Wirow - A free and open source web based video conferencing tool
Documentation=https://github.com/wirow-io/wirow-server
After=network.target

[Service]
Type=simple
User=[BENUTZERNAME]
WorkingDirectory=/home/[BENUTZERNAME]/
ExecStart=/home/[BENUTZERNAME]/wirow -n konferenz.example.com
Restart=on-failure

[Install]
WantedBy=multi-user.target
  1. Ersetze [BENUTZERNAME] mit dem Benutzer, unter dem du die wirow-Dateien in Schritt 5.2 extrahiert hast.
  2. Ersetze konferenz.example.com mit deiner Domain.
  3. Verlasse die Datei, indem du Strg + X und dann Y und dann Enter drückst.
  4. Gib sudo systemctl daemon-reload ein, um den systemd-Daemon neu zu laden.
  5. Gib sudo systemctl enable wirow ein, um den Service zu aktivieren.
  6. Gib sudo systemctl start wirow ein, um den Service zu starten.

Schritt 7 - Firewall aufsetzen

Wir brauchen eine Firewall, um unseren Server vor unerwünschten Verbindungen zu schützen.

Wir werden ufw (Uncomplicated Firewall) verwenden, um die Firewall einzurichten, da sie einfach zu benutzen und zu konfigurieren ist und außerdem auf Ubuntu vorinstalliert ist.

  1. Gib ufw allow ssh ein, um SSH-Verbindungen zu erlauben.
  2. Gib ufw allow http ein, um HTTP-Verbindungen zu erlauben.
  3. Gib ufw allow https ein, um HTTPS-Verbindungen zu erlauben.
  4. Gib ufw enable ein, um die Firewall zu aktivieren.
  5. Drücke zur BestätigungY und dann Enter.

Fazit

Jetzt hast du Wirow erfolgreich installiert und so eingerichtet, dass es beim Start automatisch gestartet wird.

Deine Wirow-Instanz ist ab jetzt unter deiner Domain verfügbar (z.B. https://konferenz.example.com).

Vielen Dank, dass du dieses Tutorial benutzt hast!

License

Copyright (c) 2023 Konstantin Protzen

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Contributor's Certificate of Origin

By making a contribution to this project, I certify that:

  1. The contribution was created in whole or in part by me and I have the right to submit it under the license indicated in the file; or

  2. The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same license (unless I am permitted to submit under a different license), as indicated in the file; or

  3. The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it.

  4. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the license(s) involved.

Veröffentlicht am 20.4.2023 von Konstantin Protzen

Tutorial einreichen

Erhalte einen 60€ netcup Gutschein für jedes veröffentlichte Tutorial.