Document ROOT vor Start prüfen

casper99

New Member
Hi Leute,

ich betreibe u.a. einen Apache 2.0.54 auf meinem Debian Sarge.
Der Apache wird über ein selbst konfiguriertes Web-front end mit einigen Optionen gesteuert.
So können verschiedene Webhosting Kunden einen Pfad (innerhalb ihrer Home-Verzeichnisse) festlegen, der für ihre verschiedenen Domains als DOCUMENT_ROOT gilt. Soweit - so gut. Beim Einrichten, prüft mein script auch brav, ob es das Verzeichnis überhaupt gibt, und trägt es dann in die Apache Konfig. ein.

Problem: Ein Kunde trägt als Document ROOT für eine Domain den Pfad
"/var/www/web50/html/meine-domain.de/test" ein.

Nach 2 Tagen löscht er das Verzeichnis "test".
Der Apache wird fortan natürlich immer mit der Fehlermeldung starten
"Warning: DocumentRoot [/var/www/web50/html/meine-domain.de/test] does not exist"

Wie kann ich das umgehen?
Gibt es eine Direktive (IF DirExist) oder sowas, was ich in der Apache Konfig schreiben kann, oder wie lösen das all die anderen ISP-Tools (Confixx, Plesk, etc) ??

Wäre euch wirklich dankbar.
 
Hallo,

das ist keine Fehlermeldung sondern eine Warnung, der Apache startet trotzdem fehlerfrei. Einfachste Lösung ist ignorieren.

Ansonsten:
Code:
/etc/init.d/apache2 configtest
liefert die Warnung ohne Neustart.
 
Alles klar. Aber trotzdem sehr unschön.

Wäre es nicht auch möglich wenn ich fest einstelle

Domain --> DocumentRoot
-------------------------------------------------
domain1.de --> /var/www/kunde1/domain1.de/
mein-shop.de --> /var/www/kunde1/mein-shop.de/

Wenn der Kunde nun unbedingt will, daß mein-shop.de
auf "/var/www/kunde1/domain1.de/shop" zeigt...

Gibt es da eine bessere Lösung als DocumentRoot zu ändern?
Eventuell eine Rewrite Regel, die außerhalb des eigentlichen DocumentRoot zeigt?

Die Lösungen sollten auf jeden Fall sicher sein, daher würde mich sehr die Lösung der ISP Software interessieren!
 
Na gut. Dann verlasse ich mich darauf, mit guten Gewissen die Kunden selbst die DocumentRoot Pfade festlegen zu lassen, egal ob sie existieren oder nicht.

Mein Script checkt ja bereits, daß keine Pfade oberhalb des eigentlich erlaubten
"/var/www/kunde1/" möglich sind.

Die größte Angst ist halt, daß der Server wegen einer falschen Kundeneingabe nicht mehr hochkommt.

Aber diese Warnung zählt dann anscheinend nicht dazu.
 
Hallo,

Eventuell eine Rewrite Regel, die außerhalb des eigentlichen DocumentRoot zeigt?
auch da kann der Kunde das Verzeichnis löschen nachdem er es in die Adminoberfläche eingetragen hat.

die Lösung der ISP Software interessieren!
Kann ich Dir nur für Confixx sagen: unternimmt nichts gegen die Warnung im Logfile
 
Ich dachte, daß es bei einer Rewrite Regel eventuell keine Warnung gibt.
Aber wenn eine Warnung nicht kritisch für die Funktionsweise ist, dann kann / muss man damit leben.

Vielen Dank für Eure Mühe!
 
Hallo,

für den Admin ist die Warnung kein Problem, aber für den Kunden, seine Homepage ist nicht erreichbar. Wenn Du das superkorrekt handhaben willst solltest Du nicht überlegen wie man die Warnung aus dem Logfile bekommt, sondern wie man den Kunden warnt.

Integriere in Dein Frontend einen Cronjob der das z.B. stündlich prüft und dem Kunden eine Email schickt, wenn er eine Domain auf ein nicht vorhandenes Verzeichnis leitet (configtest aufrufen, aus der Warnung das Verzeichnis rauspicken, damit hat man den Kunden, Emailadresse aus einer Tabelle, Email schicken).

Die größte Angst ist halt, daß der Server wegen einer falschen Kundeneingabe nicht mehr hochkommt.
Das ist definitiv nicht der Fall.
 
Back
Top