===== Babylon 5 Web UI =====
==== Beschreibung ====
Ist unter https://babylon5.manhart.space/ aufrufbar. Dort findet man eine Übersicht aller intern erreichbaren Services. Man kann unter Serverinfo vordefinierte Befehle am Server absetzen.
Aufgrund der engen Verzahnung mit dem Host-System lasse ich es aktuell nicht in einem Container laufen.
FIXME Überlegen, wie man es "containerizen" kann.
==== Befehl hinzufügen ====
FIXME **Diese Sektion muss auf ihre Aktualität geprüft werden...**
Um einen Befehl hinzuzufügen muss dieser in der Datei $docroot/babylon5/sysmon.php hinzugefügt werden.
zB:
$array = array('Top' => 'top -b -n 1',
'free HDD Space' => 'df -h',
'Memory Usage' => 'vmstat',
'List open files' => 'lsof',
'Netstat' => 'netstat',
'PHP Info' => 'phpinfo',
'DLNA Reindex' => 'sudo /etc/init.d/minidlna force-reload'
);
wird zu
$array = array('Top' => 'top -b -n 1',
'free HDD Space' => 'df -h',
'HDD SMART' => 'sudo smartctl --all /dev/sda',
'Memory Usage' => 'vmstat',
'List open files' => 'lsof',
'Netstat' => 'netstat',
'PHP Info' => 'phpinfo',
'DLNA Reindex' => 'sudo /etc/init.d/minidlna force-reload'
);
damit man die HDD SMART Werte auslesen kann.
Hier ist noch die Besonderheit zu beachten, dass alle Befehle, welche sudo (root Zugriff) benötigen noch ins file /etc/sudoers eingetragen werden müssen, damit keine Passwort-Abfrage stattfindet.
=== sudoers editieren ===
# visudo
im nano dann am Ende folgende Zeile hinzufügen:
www-data ALL = (root) NOPASSWD: $PFAD_ZUM_BEFEHL
Danach noch
# service sudo restart
das Service neu starten und man kann diesen Befehl aus dem PHP-Script aufrufen.