Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| public:sonstiges:unterhaltung:spiele:switche_versenken [2021/09/19 03:43] – angelegt netali | public:sonstiges:unterhaltung:spiele:switche_versenken [2021/10/14 20:34] (aktuell) – netali | ||
|---|---|---|---|
| Zeile 44: | Zeile 44: | ||
| * Nun kann mit oben genannten Beispielwerten der erste Switch so konfiguriert werden: | * Nun kann mit oben genannten Beispielwerten der erste Switch so konfiguriert werden: | ||
| * '' | * '' | ||
| + | |||
| + | ===== Einrichtung des Servers ===== | ||
| + | Für die Erklärung wird von folgenden Beispielwerten ausgegangen (Erläuterungen folgen unten): | ||
| + | * Der Server hat die IP '' | ||
| + | * Die SNMP-Community lautet '' | ||
| + | * Der SNMP-Trap-Handler liegt unter ''/ | ||
| + | * Das Frontend wird unter ''/ | ||
| + | * Das Backend wird unter ''/ | ||
| + | * Das venv für das Backend liegt unter ''/ | ||
| + | * Der WSGI-Socket liegt unter ''/ | ||
| + | * Die systemd-Unit für das Backend liegt unter ''/ | ||
| + | |||
| + | Die Einrichtung erfolgt nun so: | ||
| + | - Software installieren: | ||
| + | * '' | ||
| + | - snmptrapd einrichten: | ||
| + | - Das passende Handle-Script aus [[https:// | ||
| + | * Hier liegen aktuell Handle-Scripts für 2650er und 54er Switche vor. Falls andere Switche verwendet werden, kann mithilfe des dev-handle-Scripts nachgeschaut werden, wie die OIDs für das Linkup-Event und die Portnummer heißen und dann kann entsprechend ein Script abgewandelt werden. | ||
| + | - Die snmptrapd.conf unter ''/ | ||
| + | * < | ||
| + | authCommunity log, | ||
| + | traphandle default / | ||
| + | </ | ||
| + | - snmptrapd aktivieren und starten '' | ||
| + | - Installieren und Konfigurieren des Backends | ||
| + | - Das [[https:// | ||
| + | - Eine MySQL-Datenbank anlegen und mit dem Datenbank-Schema aus dem Backend-Repo befüllen und auch gleich einen MySQL-Benutzer mit Zugriff auf diese DB anlegen | ||
| + | - Ein venv für das Backend anlegen | ||
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| + | - '' | ||
| + | - Unter Beispielsweise ''/ | ||
| + | * < | ||
| + | from flaskapp.app import app | ||
| + | |||
| + | if __name__ == " | ||
| + | app.run() | ||
| + | </ | ||
| + | - Unter Beispielsweise ''/ | ||
| + | * < | ||
| + | [uwsgi] | ||
| + | chdir = / | ||
| + | wsgi-file = wsgi.py | ||
| + | callable = app | ||
| + | |||
| + | master = true | ||
| + | processes = 5 | ||
| + | |||
| + | socket = / | ||
| + | chmod-socket = 660 | ||
| + | vacuum = true | ||
| + | |||
| + | die-on-term = true | ||
| + | </ | ||
| + | - Socket-Verzeichnis unter Beispielsweise ''/ | ||
| + | - Backend-Beispielconfig kopieren und anpassen | ||
| + | * Die Config befindet sich in diesem Beispiel unter ''/ | ||
| + | * Am Ende muss dort eine Datei namens '' | ||
| + | * Die '' | ||
| + | - Die systemd-Unit für das Backend anlegen (mit unseren Beispielpfaden): | ||
| + | * < | ||
| + | [Unit] | ||
| + | Description=uWSGI Instanz für swv-backend | ||
| + | After=network.target | ||
| + | |||
| + | [Service] | ||
| + | User=www-data | ||
| + | Group=www-data | ||
| + | WorkingDirectory=/ | ||
| + | Environment=" | ||
| + | ExecStart=/ | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | - Die systemd-Unit aktivieren und starten: | ||
| + | * '' | ||
| + | - Installieren und Konfigurieren des Frontends | ||
| + | - Das [[https:// | ||
| + | - Im ausgecheckten Repo unter '' | ||
| + | - Frontend bauen: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | - Den nginx Konfigurieren: | ||
| + | * Erneut mit unseren Beispielwerten: | ||
| + | * < | ||
| + | server { | ||
| + | listen 80 default_server; | ||
| + | listen [::]:80 default_server; | ||
| + | root / | ||
| + | |||
| + | index index.html index.htm index.nginx-debian.html; | ||
| + | |||
| + | server_name _; | ||
| + | |||
| + | location / { | ||
| + | try_files $uri $uri/ =404; | ||
| + | } | ||
| + | | ||
| + | location /api/ { | ||
| + | uwsgi_pass unix:/// | ||
| + | include uwsgi_params; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | - Den nginx reloaden: | ||
| + | * '' | ||
| + | - Fertig (Wenn alles geklappt hat, dann sollte das Spiel nun von beiden Laptops aus unter '' | ||
| + | - Wenn eine Runde fertig ist, kann das Spiel händisch durch das aufrufen von '' | ||