Proxyserver für eine Berufsschule!

Hi,
PHP:
shell_exec
Dafür muss dein Apache aber die Rechte dazu haben, diesen Befehl auszuführen, solltest du daher vielleicht mit sudo verbinden.
Mit freundlichen Grüßen
Flobbie
 
Noch angenehmer wäre, einen Cronjob einzurichten, der eine Txt-Datei in dem Web-Verzeichnis prüft.

Erläuterung: Bei Änderungen, die einen Neustart oder einen Reload erfordern schreibt Dein PHP-Skript in eine txt-Datei (von mir aus auch mit htaccess geschütztes Unterverzeichnis) eine 1.

Der Cronjob wird in einem kurzen Intervall (5-60 Sekunden) ausgeführt. Steht in der besagten Txt-Datei eine 1, heisst das für den Cronjob, dass er den Daemon neu starten soll und anschließend die txt-Datei löscht / leert / anderweitig modifiziert.

--marneus
 
Ja so eine Idee mit sudo hatte ich auch schon im Hinterkopf.

Noch angenehmer wäre, einen Cronjob einzurichten, der eine Txt-Datei in dem Web-Verzeichnis prüft.
Soweit klar. Diese Lösung hätte aber für mich einen entscheidenden Nachteil: Wenn ein Schüler seine Aufgaben gelöst hat, soll ihm das Internet per Mausklick offen stehen. Er wird mich also mit erwartungsfrohen Augen ansehen. Und da könnte sich eine Minute schon recht lang anfühlen. Eine sudo-Lösung sollte per Mausklick sofort wirksam werden.


Pfiffikus,
der nicht weiß, wie viel CPU-Last es beansprucht, wenn ein Cronjob mehrmals in der Minute diese Datei überprüft
 
Das wäre zu vernachlässigen. Nimm einen Intervall von 15 Sekunden (soviel Zeit hat jeder Schüler!) und achte darauf, dass das PHP Skript keine Veränderungen mehr nach einem Neustart Auftrag vornimmt. Der nächste Schüler muss dann eben 30 Sekunden warten.

--marneus
 
So, fertig.

Habe mir ein PHP-Skript zusammengestellt. Jeder Rechner kann in drei Zustände geschaltet werden:
  • Intern - Nur Interne Seiten lassen sich aufrufen. In diese Whitelist lassen sich noch weitere externe Seiten einbinden, zum Beispiel die eigene Seite der Schule.
  • Gefiltert - Seiten, die keinen Bezug zum Unterricht erwarten lassen, werden blockiert. Dazu zählen StudiVZ, Ebay, Lustich.de und solche Dinge.
    Das ist der Normalzustand, der zumeist eingestellt ist. Das Internet lässt sich so für unterschiedlichste Recherchen nutzen, ohne dass die Schüler größeren Verlockungen ausgesetzt sind.
  • Frei - Das Surfen unterliegt keinen Beschränkungen.

Die drei Zustände werden im Interface farblich gekennzeichnet, wie Rechner 13, 14 und 15 verdeutlichen.

Mit einem Klick auf die jeweiligen Wörter lässt sich eine Umschaltung vormerken - durch ein X gekennzeichnet. Rechner10 soll nur intern, Rechner11 frei surfen können. Beide können aber momentan nur gefiltert surfen.


Erst durch einen Klick auf "Umschalten" werden die vorgemerkten Veränderungen wirksam. Squid braucht mitunter mehrere Sekunden, um durchzustarten. Das soll möglichst nur ein einziges Mal für alle Umschaltungen passieren.

Der Unix-Benutzer wwwrun wurde per sudo ermächtigt, den squid durchzustarten. Hab mich gegen einen cron-Job entschieden.


Die Pflege der Daten übernimmt eine andere bekannte Datenbankanwendung.


Pfiffikus,
der keine Lust hat, eine eigene PHP-Eingabemaske zu schreiben
 

Attachments

  • interface.jpg
    interface.jpg
    37.2 KB · Views: 114
  • eingaben.jpg
    eingaben.jpg
    75.4 KB · Views: 110
Back
Top