Nun möchte ich auch mal was beisteuern :
Bei mir stellte sich in den letzten Tagen das Problem, dass amule die Internetverbindung lahmlegte. Das widerrum nervte meine Freundin zimlich arg und zwang mich dazu mir eine Möglichkeit einfallen zu lassen, wie sie den deamon starten und beenden kann ohne, dass ich sie gleich in die Bedienung der Shell einweisen muss.
Herausgekommen ist folgendes :
Der Deamon wird über ein php script gestartet bzw beendet. Der user www-data (der User, der den webserver startet) führt mit sudo die notwendigen befehle aus.
Und so funktionierts :
Als erstes muss das Paket sudo installiert werden. Nun müssen in der Datei /etc/sudoers die entsprechenden Einträge erzeugt werden, die es dem User erlauben bestimmte Befehle als Root auszuführen. Bei mir sieht das so aus:
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
www-data ALL=NOPASSWD: /etc/init.d/amuled start
www-data ALL=NOPASSWD: /etc/init.d/amuled stop
Das entsprechende Init-Script habe ich aus dem Wiki.
Denkt daran den User www-data entsprechend eurer Konfiguration abzuändern.
Nun zum PHP Teil:
Der Code um aMule zu starten sieht so aus :
system("sudo /etc/init.d/amuled start");
?>
Wenn ihr also eine php-Datei mit diesem Inhalt Erzeugt, sie auf eurem Webserver installiert und dann aufruft, wird der aMule Deamon gestartet.
Beenden funktioniert genau so, nur der Parameter ändert sich.
Kann das überhaupt irgendjemand brauchen ? ?(
bei Interesse kann ich auch eine fertige Version mit einer unglaublich tollen html Seite mit 2 Buttons zum starten und beenden posten. :]