controlpanel soll htcacheclean reinigen

YourDoom

New Member
hey ho...
ich weiß, mit apache2 restart kann man htcacheclean reinigen, so dass z.B. neu eingetragene domains und subdomains funktionieren...
aber geht es irgendwie ohne apache neu zu starten eine neue subdomain anzulegen (mit php) ?
grund dafür ist, dass alle paar minuten einmal die caches geleert werden sollen (bzw nur geleert werden, wenn eine neue subdomain eingetragen wird).
aber dabei will ich eben nicht, dass alle anderen webspaces für paar sekunden offline sind...
ich will dass alles weiter läuft, nur eben die caches geleert werden, ohne dass apache kurz offline ist...
weiß einer wie das mit php umsetzbar ist?
ich weiß nur:
exec("/etc/init.d/apache2 restart")
aber wie macht es z.B. ispconfig? jedesma wenn man ne neue seite einträgt, kann der doch nicht für 3 sekunden offline gehen oder?

vielen dank und mfg
 

YourDoom

New Member
hi nochma,
ich habe den befehl reload in der apache-datei gefunden (apache2 in init.d) und habs ma getestet und funktioniert wie ich es wollte...
nur immer wenn ich folgendes ausführe:
<?php
echo exec('/etc/init.d/apache2 reload');
?>

kommt die meldung failed!
hab das obere auch ma ausprobiert (das mit dem restart) und da kommt dann:
Restarting web server: apache2 failed!

die datei, die das restarten soll, befindet sich im verzeichnis von ispconfig... ich dachte mir deshalb dass der genug berechtigungen hat... ausserdem hab ich die dateien/verzeichnisse etc, init.d und apache2 chmod 777 gesetzt

weiß einer woran das liegen kann?
 

Till

Administrator
Ein reload des apache reicht aus, Du musst es aber als root ausführen. das heißt dass Du es nicht aus einem webinterface direkt machen kannst, sondern Du must mit einem daemon script arbeiten das als root läuft und einem davon getrennten webinterface, das als normaler www user läuft.
 

YourDoom

New Member
achso hm... ich dachte ispconfig ist in einem root-verzeichnis drin.
ich könnte ja im verzeichnis /root/ was hochladen, aber wie könnte ich dann das skript von dort ausführen?
am besten wäre es, wenn man es über die adresse ausführen könnte (also eine bestimmte adresse öffnen, damit man das ausführen kann, wie z.B. https://IP-VON-OVH/cron.php)
weil dann könnte ich ja bei jeder apacheveränderung über file_get_contents o.ä. die adresse aufrufen.
 

Till

Administrator
achso hm... ich dachte ispconfig ist in einem root-verzeichnis drin.

Das Verzeichnis in dem ein script liegt ist nicht relevant für dessen Berechtigungen wenn es ausgeführt wird.

wenn man es über die adresse ausführen könnte (also eine bestimmte adresse öffnen, damit man das ausführen kann, wie z.B. https://ip-von-ovh/cron.php)
weil dann könnte ich ja bei jeder apacheveränderung über file_get_contents o.ä. die adresse aufrufen.

Das geht so nicht, da ja das script dann wieder nur mit den rechten des apache laufen würde. Du musst dafür schon ein daemon script verwenden wie es ispconfig 2 macht oder aber einen cronjob wie in ispconfig 3.
 

Werbung

Top