Fortgeschritten: VHost Kontrolle (+ Subdomain Verwaltung)

Alles, was den Apache betrifft, kann hier besprochen werden.

Postby Oepfel » 12. June 2007 23:09

So bin wieder einen Schritt weiter. Das mit dem restart funktioniert, solange ich es über Start->Ausführen mache. Wie nun weiter verfahren, wenn ich das aber nun vie PHP-Script aufrufen möchte. Mit
Code: Select all
exec (C:/.....apache.exe -k restart)

hauts net hin ?

Danke schonmal im voraus.

mfg
Oepfel
User avatar
Oepfel
 
Posts: 78
Joined: 10. October 2006 23:16
Location: Wendelstein

Postby TTP » 09. August 2007 22:41

über php gehts nicht, weil exec nicht in windows implementiert ist :(

ich hab mir n programm geschrieben was ein verzeichnis überwacht, wenn dort eine datei geschrieben wird, dann führt es den restartbefehl aus :)
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby Oepfel » 09. August 2007 22:43

TTP wrote:ich hab mir n programm geschrieben was ein verzeichnis überwacht, wenn dort eine datei geschrieben wird, dann führt es den restartbefehl aus :)


Darf man an dem Programm teilhaben :)

mfg
Oepfel
User avatar
Oepfel
 
Posts: 78
Joined: 10. October 2006 23:16
Location: Wendelstein

Postby TTP » 10. August 2007 12:32

Hast du .NET 2.0 Framework installiert?

Sonst läuft´s nicht...
und der Apache muss als Service laufen, sonst geht´s anscheind nicht :(

Werde mein Programm mal umschreiben, dass es auch als Service läuft oder reicht dir ne normale .exe?
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby Wiedmann » 10. August 2007 12:38

über php gehts nicht, weil exec nicht in windows implementiert ist

Das ist falsch. exec() gibt es natürlich auch unter Windows.

Allerdings deaktiviert der Apache selbst den "-k" Parameter, wenn die apache/httpd.exe von einem eigenen Subprozess aus gestartet wird.

Hint:
und der Apache muss als Service laufen, sonst geht´s anscheind nicht

Wenn der Apache als Service läuft, kann man diesen Service von PHP aus steuern, wenn in PHP z.B. die Extension "win32service" installiert/aktiviert ist.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby TTP » 10. August 2007 13:46

mein ich doch ;)
Danke für die Korrektur ^^
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby Oepfel » 10. August 2007 21:10

TTP wrote:Hast du .NET 2.0 Framework installiert?

Sonst läuft´s nicht...


Ja hab ich

TTP wrote:Werde mein Programm mal umschreiben, dass es auch als Service läuft oder reicht dir ne normale .exe?


Als Service wäre mir lieber :)

DANKE
Oepfel
User avatar
Oepfel
 
Posts: 78
Joined: 10. October 2006 23:16
Location: Wendelstein

Postby TTP » 12. August 2007 20:04

ich meld mich sobald ich es geschafft hab meinen Service zu installieren... Ich bekomm bisher nur bei dem Versuch vom Installer "Im Ereignishandler OnAfterInstall von NG_ApacheRestart.ProjectInstaller ist eine Ausnahme aufgetreten.
System.Exception: Unable to open the Service for modification."


Ich meld mich nochmal, wenn das Prob gefixt ist.
Place
ohne Apachefriends wär ich in meiner Entwicklung weiter zurück ;)
User avatar
TTP
 
Posts: 310
Joined: 30. August 2003 19:38
Location: Wolfsburg

Postby Oepfel » 04. September 2007 14:02

TTP wrote:ich meld mich sobald ich es geschafft hab meinen Service zu installieren... Ich bekomm bisher nur bei dem Versuch vom Installer "Im Ereignishandler OnAfterInstall von NG_ApacheRestart.ProjectInstaller ist eine Ausnahme aufgetreten.
System.Exception: Unable to open the Service for modification."


Ich meld mich nochmal, wenn das Prob gefixt ist.


Würde mich für den Anfang auch erstmal mit der exe zufrieden geben. Vielleicht bekomme ich das dann ja selber hin.

DANKE
Oepfel
User avatar
Oepfel
 
Posts: 78
Joined: 10. October 2006 23:16
Location: Wendelstein

Postby Oepfel » 11. December 2007 12:36

Nachdem TTP ja anscheinend verschollen ist,habe ich mir nochmals gedanken gemacht und eine vorübergehende Lösung gefunden.

Ich habe eine Patch Datei angelegt mit:

NET STOP Apache2.2
NET START Apache2.2

Und lasse diese über die Geplanten Tasks ausführen. Da kann man sich ja dann einen Intervall einstellen, indem er die Batch Datei ausführen soll.
Somit wird dann (bei mir im 3 Stunden Takt) der Service Apache2.2 neu gestartet und eingetragene Änderungen in der vhost so neu geladen.

Nicht schön aber naja.
Wer bessere Ideen hat, kann gerne Vorschläge machen.

mfg
Oepfel
User avatar
Oepfel
 
Posts: 78
Joined: 10. October 2006 23:16
Location: Wendelstein

Postby Scory » 11. December 2007 17:39

Oepfel wrote:Gibt es dafür eine Möglichkeit ?


Nein, das ist alles Käse. Eine neue Subdomain und ein neuer VHOST bedeutet Neustart. Aber nicht "von hinten durch die Brust ins Auge", sondern schlicht auf dem Server Apache neu starten (im Terminal oder via Shell Script).

Das ist nun einmal ein fetter Eingriff und dann muss eben neu gestartet werden. Wenn es Dein eigener Server ist, könntest Du im crontab o.ä. eine regelmäßige Prüfung einbauen, ob neue Subdomains anzulegen sind und startest dann beispielsweise Mitternacht den Apache neu, dann steht am nächsten Tag alles zur Verfügung.

Das ist Expertenwissen und das ist eben alles nicht so einfach - falls Du jetzt jammern solltest, "wie geht das denn".

Grüße
Scory
Scory
 

Previous

Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests