---
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)
:::