3574 views
--- title: WBO Online Collaborative Whiteboard auf Ubuntu 20.04 LTS installieren description: Installation eines digitalen Whiteboards zur kollaborativen Zusammenarbeit tags: OER, Whitebord, Online, Bildung, berufliche Bildung, HowTo, IT, Fachinformatiker lang: de-de license: https://creativecommons.org/licenses/by-sa/4.0/deed.de --- # WBO Online Collaborative Whiteboard auf Ubuntu 20.04 LTS installieren ###### tags: `OER` `Whitebord` `Online` `Bildung` `berufliche Bildung` `HowTo` `IT` `Fachinformatiker` :::info **Hinweis:** Dies ist eine Anleitung für die Installation des kollaborativen Whiteboard WBO. Die Software findet man hier: https://github.com/lovasoa/whitebophir **Hinweis für Ausbilder und IT-Fachlehrer:** Ihr könnt sicherlich viel besser die Hintergründe der einzelnen Schritte erklären und euch das HowTo zu eurer passenden Lehr- und Lernunterlage erweitern. Diese Datei ist für euch erstmal nur als anpassbarer "Ideengeber" zu sehen. Bitte remixen! Themen die man anknüpfen kann sind z.B.: - Serverdienste allgemein - Webprogrammierung - Services in Debian/Ubuntu - Superuser vs. unpriviligierte Nutzer - Nginx Konfiguration als Proxy - SSL via Let's Encrypt bzw. andere Sicherungsmaßnahmen - (Proxmox) LXC Container vs. VM vs. Hardware Server - ... <br> **Alles ist Open Source Software und kann kostenfrei in eurem Betrieb oder eurer Schule umgesetzt werden.** Und natürlich kann man das fertige Whiteboard dann auch mit den Azubis bzw. Schülerinnen und Schüler nutzen. Die werden das sicherlich mögen. <br>**Letzte Aktualisierung:** 14.05.2020 ::: ## Erstmal ausprobieren? Bevor du installierst darfst du natürlich gerne mal das Whiteboard ausprobieren. Einen Testserver gibt es unter: https://whiteboard.eldshort.de/ - Leider keine garantierte Verfügbarkeit! ## Vorbereitung Eine Installation von Ubuntu 20.04 LTS oder (wie in meinem Fall) einen Ubuntu 20.04 LTS Linux-Container auf einem Proxmox Host erstellen. - Andere Debian basierten Distributionen müssten auch funktionieren (ungetestet). - Vielleicht sogar auf dem Raspberry Pi :question: (ungetestet, gerne Feedback geben) ## Installation ### npm und git und whitebophir installieren Als (Superuser) die Pakete installieren und per git runterladen ```bash= apt install git npm cd /opt/ git clone https://github.com/lovasoa/whitebophir.git cd whitebophir npm install --production cd.. # unpriviligierter Nutzer www-data chown -R www-data:www-data whitebophir/ ``` ### Service erstellen (Superuser) ```bash= sudo nano /lib/systemd/system/whiteboard.service ``` Inhalt von ```/lib/systemd/system/whiteboard.service```: ```bash= [Unit] After=network.service [Service] User=www-data WorkingDirectory=/opt/whitebophir/ ExecStart= npm start Restart=always StandardOutput=syslog StandardError=syslog [Install] WantedBy=default.target ``` Den Service starten: ```Bash= sudo chmod 664 whiteboard.service sudo systemctl daemon-reload sudo systemctl enable whiteboard sudo systemctl start whiteboard ``` Der Server läuft jetzt auf Port 8080 der lokalen IP Adressen und wird beim Systemstart automatisch gestartet. ```mkdir /var/www/whiteboard``` Temporäre nginx Konfiguration (Superuser auf dem Proxy) ```bash nano /etc/nginx/sites-available/whiteboard ``` ```nginx= server { listen 80; listen [::]:80; server_name whiteboard.yourdomain.de; # Let's Encrypt location /.well-known/ { root /var/www/whiteboard; } } ``` ```bash ln -s /etc/nginx/sites-available/whiteboard /etc/nginx/sites-enabled/whiteboard ``` Mit ```sudo nginx -t``` den Syntax testen und dann mit ```sudo service nginx restart``` neustarten. :::info **Hinweis:** - ```Letsencrypt``` muss auf dem Proxy installiert sein, wenn man diese Zertifikate nutzen möchte. - Außerdem muss es im DNS System gültige Einträge geben. ::: ```bash= letsencrypt --webroot -w /var/www/whiteboard -d whiteboard.yourdomain.de certonly ``` Nginx Proxy Konfiguration (nach der Konfiguration von Letencrypt) ```nginx= server { listen 80; listen [::]:80; server_name whiteboard.yourdomain.de; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name whiteboard.yourdomain.de; ssl on; ssl_certificate /etc/letsencrypt/live/whiteboard.yourdomain.de/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/whiteboard.yourdomain.de/privkey.pem; ssl_prefer_server_ciphers on; ssl_dhparam /etc/nginx/ssl/dhp-2048.pem; # Let's Encrypt location /.well-known/ { root /var/www/whiteboard; } location / { proxy_pass http://IPvX_DES_SERVERS:8080; proxy_buffering off; proxy_buffer_size 4k; proxy_connect_timeout 300s; proxy_read_timeout 300s; proxy_send_timeout 300s; send_timeout 300s; # Enable proxy websockets for the noVNC console to work proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # Standard proxying headers proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header Host $host; } location /socket.io { proxy_pass http://IPvX_DES_SERVERS:8080/socket.io; proxy_buffering off; proxy_buffer_size 4k; proxy_connect_timeout 300s; proxy_read_timeout 300s; proxy_send_timeout 300s; send_timeout 300s; # Enable proxy websockets proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # Standard proxying headers proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $http_host; proxy_set_header Host $host; } } ``` Mit ```sudo nginx -t``` den Syntax testen und dann mit ```sudo service nginx restart``` neustarten. Mit der öffentlichen URL auf den Server gehen: ![](https://iffmd.fz-juelich.de/uploads/upload_128822bd79802ad45341c6b41b4b1a65.png) ```Erstelle ein privates Whiteboard``` klicken und das Whiteboard nutzen, wie man es mag. ![](https://iffmd.fz-juelich.de/uploads/upload_d360078c781edfd30530b5c83c68c833.png) ### Optionales :::info **Hinweis:** ```Letsencrypt``` Zertifikate kann man auch regelmäßig erneuern lassen: ``` sudo crontab -e ``` ```bash= # autorenew letsencrypt certificates 20 3 * * 1 /usr/bin/letsencrypt renew >> /var/log/le-renew.log # Reload nginx to use the new certificates 25 3 * * 1 /bin/systemctl reload nginx ``` ::: ### Updates :::danger **Wichtig:** Vor dem Update immer ein Container Backup machen und die Release Notes lesen! ::: ```bash= cd /opt/whitebophir git pull # unpriviligierter Nutzer www-data chown -R www-data:www-data /opt/whitebophir/ #Container Neustart reboot ``` ### Sonstige Hinweise: **Vorteile:** - Ist für mich ein Potenzialkandidat bei kleinen serverbasierten Elearningtools, da keinerlei Daten erhoben werden (außer das Whiteboard selbst). - Es wird stark an dem Tool, gearbeitet. Einer der Forks steuert grade super gute Erweiterungen bei. **Nachteile:** - Derzeit ist noch nirgendwo ein Impressum zu hinterlegen. - Ein Löschen des Whiteboards ist nicht möglich. Jeder mit dem Link kann aber den gesamten Inhalt löschen. ### Lizenz :::info ![](https://iffmd.fz-juelich.de/uploads/upload_35734002486332f26c6526983b965009.png) Dieses Dokuments ist **OER**. Inhalte stehen - sofern nichts anderes angegeben ist - unter der Lizenz [**CC BY-SA 4.0**](https://creativecommons.org/licenses/by-sa/4.0/legalcode.de).<br> Gewünschte Zitation: WBO Install von *Ulrich Ivens* mit Link zur Fundstelle und Lizenz<br> Kontakt/ Verbesserungsvorschläge: 📪 **Ulrich Ivens, Forschungszentrum Jülich GmbH**: [Webseite](https://fz-juelich.de/ausbildung), [Twitter @uivens](https://twitter.com/uivens) :::