Menue anzeigen

da_user's Homepage :: Technik, Strom & Programmieren :: Server-HTTP-Services-Dashboard

Bild "Headbanner:Headbanner-2.gif"

Server-HTTP-Services-Dashboard


Ich habe mir als Home-Server ein System auf Basis von OMV eingerichtet. Da sammelt sich dann einiges an diversen HTTP-Diensten an: Das OMV-Controll-Center, Emby zur Medienverwaltung, Filebot zum einsortieren der Medien, TV-Headend für SAT-TV, usw. usf.
Alle nicht unter einer schönen URL, sondern über deren Port erreichbar. Das versuchte ich dann erstmal mit einem NGNINX-Server als Reverseproxy welcher "sprechende URLs" auflösen hätte sollen (omv.fritz.box/emby) in den Griff zu bekommen.
Leider war nicht jeder Dienst dazu zu überreden, mit einem Reverseproxy zusammenzuarbeiten. Also musste eine andere Lösung her.
Geworden ist es dann das vorliegende PHP-Skript. Prinzipiell drei foreach-Schleifen und einem Parser: eine listet sämtliche .png Dateien in einem Verzeichnis auf uns sammelt diese. Anschließend wird die Liste alphabetisch sortiert und mit der zweiten foreach-Schleife dem Parser übergeben. Der zerlegt den Dateinamen in den Diensttitel und den zugehörigen Port. Das passiert in einer Klasse die in der Datei "ClassServices.php" steckt und von "index.php" aufgerufen wird. Letztere geht dann mit der dritten foreach-Schleife jeden Dienst durch und "echot" den dann in das HTML. Das sieht dann so aus:
Bild "Technik, Strom & Programmieren:Screenshot.png"
Beim NGINX-Serverplugin für OMV muss zum aktivieren von PHP erst ein Pool erstellt werden und dieser dem Server unter "PHP-FPM-Pool zugeteilt werden.
Kurze Bedienungsanleitung:
In der Standardkonfiguration kommen die Logodateien als PNG-Bild in den Ordner "/Logos". Sie sollten dabei 200x200 Pixel groß sein.
Die Dateinamen müssen hierbei so aufgebaut sein:
'Dienst_Name_Port.png'
  • "Dienst_Name" ist hierbei durch den anzuzeigenden Text zu ersetzen, Unterstriche werden hierbei durch Leerzeichen ersetzt.
  • "Port" ist durch den jeweillgen Port zu ersetzen. Ist der letzte Abschnitt nach einem Unterstrich keine Ziffer, wird der Standardport 80 verwendet.

Beispiel:
"OMV_Admin_80.png" => Text: "OMV Admin", URL: "host:80"
Die Dienste werden alphabetisch sortiert. Die Sortierung kann beeinflusst werden, in dem dem Dateinamen eine Ziffer gefolgt von einem Unterstrich vorangestellt wird. Diese Ziffer wird nach der alphabetischen Sortierung gelöscht:
"1_Emby_8096.png" => Text: "Emby", URL: "host:8096"
Im Skript sollte noch die Variable "$HostName" angepasst werden. Das "http://" wird hierbei automatisch ergänzt.

/!\ Warnung  /!\
Ich empfehle dieses Skript nur im lokalen Netzwerk verfügbar zu halten. Ich rate deutlich davon ab, dieses Skript auf einem Server der im Internet  erreichbar ist einzusetzen.

Lizenz und Anleitung ist in der Readme zu finden.
Download: @=Technik, Strom & Programmieren:Server-HTTP-Services-Dashboard_V1.0.0.zip=@

Top