deamon per weboberfläche steuern
deamon per weboberfläche steuern
Hallo,
ich such ein perl-script dass mir zeigt/erklärt/veranschaulicht wie ich daemons per weboberfläche steuern (start/stop/restart) kann.
gerne auch php
vielen dank für jeden tipp/link,
saucer
P.S: Danke auch für gute Google Schlagwörter (Dameon & Webinterface war nicht hilfreich)
ich such ein perl-script dass mir zeigt/erklärt/veranschaulicht wie ich daemons per weboberfläche steuern (start/stop/restart) kann.
gerne auch php
vielen dank für jeden tipp/link,
saucer
P.S: Danke auch für gute Google Schlagwörter (Dameon & Webinterface war nicht hilfreich)
Re: deamon per weboberfläche steuern
Kann dir zwar nicht mit einem Skript dienen, kann dir aber gerne das Prinzip erklären - zumindest wie wir es machen:
Ich machs mal am Beispiel DNS.
Unser Interface verwaltet Server, Domains und zugehörige DNS-Einträge. In der named.conf wird eine named.admin.conf inkludiert und bei Bedarf neu geschrieben. Wird eine neue Domain angelegt, so wird diese in der DB eingetragen und erhält den Status 'create'. Der Primary weiss nun, dass die named.admin.conf neu geschrieben werden muss. Danach wird die Zonefile erstellt und anschliessend Bind neu gestartet. Der neue Status der Domain ist 'active'.
Der Secondary findet nun eine Domain mit dem Status 'active' und weiss, dass er ebenfalls die named.admin.conf neu schreiben muss. Dies tut er und setzt den Status auf 'full_active', womit der Fall erledigt ist. Anschliessend ein Bind reload auf dem Secondary und er holt sich die Zonefiles vom Primary.
Das Backend läuft via Cronjob. Natürlich ist das nur das Grundprinzip, weitere Dinge sind auch nötig wie z.B. die Erlaubnis für alle vorhandene Secondaries die Zone zu laden.
Hoffe geholfen zu haben.
Gruß,
Nico
Ich machs mal am Beispiel DNS.
Unser Interface verwaltet Server, Domains und zugehörige DNS-Einträge. In der named.conf wird eine named.admin.conf inkludiert und bei Bedarf neu geschrieben. Wird eine neue Domain angelegt, so wird diese in der DB eingetragen und erhält den Status 'create'. Der Primary weiss nun, dass die named.admin.conf neu geschrieben werden muss. Danach wird die Zonefile erstellt und anschliessend Bind neu gestartet. Der neue Status der Domain ist 'active'.
Der Secondary findet nun eine Domain mit dem Status 'active' und weiss, dass er ebenfalls die named.admin.conf neu schreiben muss. Dies tut er und setzt den Status auf 'full_active', womit der Fall erledigt ist. Anschliessend ein Bind reload auf dem Secondary und er holt sich die Zonefiles vom Primary.
Das Backend läuft via Cronjob. Natürlich ist das nur das Grundprinzip, weitere Dinge sind auch nötig wie z.B. die Erlaubnis für alle vorhandene Secondaries die Zone zu laden.
Hoffe geholfen zu haben.
Gruß,
Nico
Re: deamon per weboberfläche steuern
Hallo nico und danke für deinen ausführlichen text,
war interessant zu lesen und gab mir ein paar denkanstösse :)
Für mich allerdings ungeeignet - ich möchte auf meinem apachen im intranet zwei daemonen steuern lassen. zum einen einen gameserver und zum anderen den mldonkey da wenn die dauernd laufen würden unsere ressourcen erschöpft wären... ich möchte quasi meinen mitbewohnern die möglichkeit geben den mldonkey zu stoppen oder aber den gameserver zu starten wenn es denn "nötig" ist :)
ssh-zugriff will ich nicht einrichten denn ich will ja dabei auch was lernen
war interessant zu lesen und gab mir ein paar denkanstösse :)
Für mich allerdings ungeeignet - ich möchte auf meinem apachen im intranet zwei daemonen steuern lassen. zum einen einen gameserver und zum anderen den mldonkey da wenn die dauernd laufen würden unsere ressourcen erschöpft wären... ich möchte quasi meinen mitbewohnern die möglichkeit geben den mldonkey zu stoppen oder aber den gameserver zu starten wenn es denn "nötig" ist :)
ssh-zugriff will ich nicht einrichten denn ich will ja dabei auch was lernen
Re: deamon per weboberfläche steuern
Und warum genau ist diese Lösung dann für dich ungeeignet?
Re: deamon per weboberfläche steuern
@saucer: im grund wurde von ihm doch eine möglichkeit beschrieben, wie man es regeln kann.Nico82 wrote:Und warum genau ist diese Lösung dann für dich ungeeignet?
nochmal im kurzdurchgang:
1) MySQL-Datenbank mit einer Tabelle in der Befehele gespeichert werden:
id | command | status
2) Ein (Root)-Cronjob ruft alle x Minuten die Datei check_cronjob.php auf, die wiederrum in der MySQL-Tabelle nachsieht, ob Einträge vorhanden snid, die noch nicht abgearbeitet wurde (status = 0); diese werden dann via shell_exec() oder ähnlichen PHP Befehlen ausgeführt!
Abschließend noch den status = 1 setzten, damit er beim nächsten Mal nicht erneut ausgeführt wird (alternativ kannst du ihn auch löschen)
Re: deamon per weboberfläche steuern
Du brauchst nicht mal eine Datenbank, simple Textfiles reichen doch auch schon...
Z.B.:
Wenn (z.B. mit if then)
File exisitert
dann starte/stoppe Daemon
und lösche File.
Das ganze wären bei 2 Daemons 4 Bedingungen, d.h. jeweils ein File für starte und stoppe.
Wie du die Files erzeugst, ist egal - Perl (via CGI), PHP, C, C++, Hasenblem oder was auch immer ;)
Z.B.:
Wenn (z.B. mit if then)
File exisitert
dann starte/stoppe Daemon
und lösche File.
Das ganze wären bei 2 Daemons 4 Bedingungen, d.h. jeweils ein File für starte und stoppe.
Wie du die Files erzeugst, ist egal - Perl (via CGI), PHP, C, C++, Hasenblem oder was auch immer ;)
Re: deamon per weboberfläche steuern
klar reicht ein textfile aus. mit einer mysql datenbank lässt sich aber auch im nachhinein einfach ein weiteren daemon kontrollieren, indem eben der entsprechende befehl in die db geschrieben wird. mit textfiles wäre es ein wenig mehr arbeit :)
Re: deamon per weboberfläche steuern
Dafür schieße ich nicht mit Kanonen auf Mikroben ;)niklas_ wrote:klar reicht ein textfile aus. mit einer mysql datenbank lässt sich aber auch im nachhinein einfach ein weiteren daemon kontrollieren, indem eben der entsprechende befehl in die db geschrieben wird. mit textfiles wäre es ein wenig mehr arbeit :)
Re: deamon per weboberfläche steuern
Mit PHP kann man auch viel "unfug" anstellen.
Wenn der Apache als root läuft könntest du z.b. solch ein PHP Script benutzen um die DB zu stoppen:
P.S.: Wenn du den Apache als Root laufen lässt wäre es gut wenn du diesen nicht auf Produktiven Systemen Einsetzt. 
Wenn der Apache als root läuft könntest du z.b. solch ein PHP Script benutzen um die DB zu stoppen:
Code: Select all
<?php
echo "MySQL wird gestoppt...";
system("/etc/init.d/mysql stop");
echo "MySQL gestoppt !";
?>
Re: deamon per weboberfläche steuern
Wenn du das zulässt, hast du aber nicht mit PHP viel Unfang angestellt, sondern mit deinem Server allgemein.Wenn der Apache als root läuft könntest du z.b. solch ein PHP Script benutzen um die DB zu stoppen:
PHP ist dann nur noch Mittel zum Zweck
