Moin!
Meine Problemlösung ist ganz ähnlich wie Jörg das schon vorgeschlagen hatte: Ich habe mir einen Raspi gekauft (der so wenig Strom frisst, dass er gerne laufen darf); und auf diesem Raspi läuft ein Webserver. Ich habe mir dann per PHP eine kleine (passwortgeschützte) Oberfläche geschrieben, die in der Lage ist, den Server zu starten (per WoL) und wieder herunterzufahren (per shell_exec, ssh und shutdown-Befehl). Inzwischen kann ich damit sogar die einzelnen Serverdienste und ihr Startup-on-Boot-Verhalten managen.
Genau so! Einzige Ergänzung: Herunterfahren braucht root-rechte. Das habe ich mit ssh, einem (passwortlosen!) Key für einen speziellen "Benutzer" auf dem zu verwaltenden Rechner und mit einem Eintrag in /etc/sudoers (man 5 sudoers hilft) geregelt, der genau dieses für diesen "Benutzer" passwortlos erlaubt. Der Benutzer hat ein Skript als Shell:
#!/usr/bin/sudo /sbin/poweroff
exit;
und braucht sich nur anmelden:
<?php
$dummy=`/usr/bin/ssh -i ./data/shutdown_key shutdown@rechner`;
Für andere Dienste könnte man das halbwegs elegant und sicher abwandeln, in dem man entweder jeweils weitere solche Benutzer/Keys anlegt und für diese spezielle Skripte, wie
#!/usr/bin/sudo /usr/bin/service apache2 start
exit;
als deren Shell(!) (man 5 passwd hilft) schreibt oder denen eine gewöhnliche Shell gibt und Skripte anlegt, die in /etc/sudoers passwortlos erlaubt werden.
#!/bin/bash
if [ "$1"="apache2" ]; then
if [ -n "$2" ]; then
sudo /usr/bin/service apache2 $2 2>&1;
else
echo "Ja? Und was, bitte, soll der Apache tun?\n";
#…
fi
else
echo "Kein gültiger Dienst angegeben.\n";
fi
exit;
Jörg Reinholz