You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@httpd.apache.org by Oliver Siegmar <ma...@ultimate-systems.de> on 2002/04/18 11:28:40 UTC
Massenhosting
Hallo zusammen,
da ich bei einem Web-Hoster mittlerweile relativ viele Webs zu
administrieren habe, möchte ich gerne von der "normalen" VirtualHost-Lösung
auf die mit VirtualDocumentRoot umsteigen. Ein VHost-Eintrag sieht derzeit
so aus:
<VirtualHost *>
ServerName www.domainname.de
DocumentRoot /var/www/www.domainname.de
CustomLog "|/usr/sbin/cronolog
/var/www/www.domainname.de/logs/%Y/%B/access%d.log" combined
ErrorLog "|/usr/sbin/cronolog
/var/www/www.domainname.de/logs/%Y/%B/error%d.log"
</VirtualHost>
Durch die Verwendung von VirtualDocumentRoot könnte dies dann etwa so
aussehen:
<VirtualHost *>
ServerName DNS
UseCanonicalName Off
VirtualDocumentRoot /var/www/std/%0
</VirtualHost>
Dies würde auch wunderbar funktionieren, allerdings habe ich derzeit noch
keine Möglichkeit entdeckt die CustomLog und ErrorLog Direktive dazu zu
bewegen ihre Logdateien auch Domain-fein in das Verzeichnis zu legen - also
etwa so:
CustomLog "|/usr/sbin/cronolog /var/www/std/%0/logs/%Y/%B/access%d.log"
combined
ErrorLog "|/usr/sbin/cronolog /var/www/std/%0/logs/%Y/%B/error%d.log"
...funktioniert aber nicht. Kann mir jemand helfen?
Ciao,
Oliver
Re: AW: Massenhosting
Posted by Oliver Siegmar <ma...@ultimate-systems.de>.
--On Freitag, 19. April 2002 12:15 +0200 Arne Blankerts
<AB...@freepoint.de> wrote:
> On Fri, 2002-04-19 at 11:48, Oliver Siegmar wrote:
>
>> Warum? Es würde vollkommen reichen, wenn der Apache bei einem restart das
>> Verzeichnis in dem die VHosts liegen neu einliest und dann die
>> entsprechenden
>> Filehandles öffnet.
>
> <meep> Falsch. Der *SINN* und damit der eigentliche clue von
> mod_vhost_alias liegt in der Tatsache, das man eben *KEINEN* neustart
> des servers braucht um einen weiteren vhost hinzuzubekommen, sondern nur
> die entsprechenden Verzeichnisse anzulegen braucht, alle anderen
> schritte dynamisch zur Laufzeit ( sprich Anfrage ) ermittelt werden.
Dann zum Geier mit diesem mod_vhost_alias! Ich brauche ein Modul oder sonst
was, was das macht was ich brauche :)
>> ...und da muss ja wirklich nichts automatisch (beim Aufruf von Seiten)
>> passieren. Nur ein mal bei aufrufen parsen und im Speicher VHosts
>> erstellen. Das wär's schon schon...
>
> Das macht nur bedingt sinn, da wie gesagt ein neustart des servers oder
> irgend eine Art von Signal an selbigen notwendig wäre, um das
> Eeuerstellen dieser Datenstruktur zu erzwingen.
Was auch nötig ist, wenn ich alles per Hand pflege!
> Als workaround für dein Problem wäre ein Script, das die notwendigen
> vhost-config's einfach erzeugt und ein reconfig aufruf an apache
> schickt...
Werde ich machen müssen...aber smart ist das nicht gerade... :((((((((
Trotzdem Danke!
Re: AW: Massenhosting
Posted by Arne Blankerts <AB...@freepoint.de>.
On Fri, 2002-04-19 at 11:48, Oliver Siegmar wrote:
> Warum? Es würde vollkommen reichen, wenn der Apache bei einem restart das
> Verzeichnis in dem die VHosts liegen neu einliest und dann die
> entsprechenden
> Filehandles öffnet.
<meep> Falsch. Der *SINN* und damit der eigentliche clue von
mod_vhost_alias liegt in der Tatsache, das man eben *KEINEN* neustart
des servers braucht um einen weiteren vhost hinzuzubekommen, sondern nur
die entsprechenden Verzeichnisse anzulegen braucht, alle anderen
schritte dynamisch zur Laufzeit ( sprich Anfrage ) ermittelt werden.
> Wenn der Apache einfach folgendes (sinngemäß) intern machen könnte:
[...]
> Natürlich ohne Schleife und echo usw...nur zum Verbildlichen...
> Könnte also z.B. so aussehen:
[...]
> ...und da muss ja wirklich nichts automatisch (beim Aufruf von Seiten)
> passieren. Nur ein mal bei aufrufen parsen und im Speicher VHosts
> erstellen. Das wär's schon schon...
Das macht nur bedingt sinn, da wie gesagt ein neustart des servers oder
irgend eine Art von Signal an selbigen notwendig wäre, um das
Eeuerstellen dieser Datenstruktur zu erzwingen.
Als workaround für dein Problem wäre ein Script, das die notwendigen
vhost-config's einfach erzeugt und ein reconfig aufruf an apache
schickt...
Das käme dann ohne mod_vhost_alias aus ;)
Mit freundlichen Grüßen, / Regards
Arne Blankerts
--
tow ] WERBEAGENTUR
Agentur für fortschrittliche Kommunikation
Arne Blankerts
Head of Development
Breitenfelder Str. 13-17 | 20251 Hamburg | Germany
Phone: +49 (0) 40 20 000 20 | Fax: +49 (0) 40 20 000 222
mailto:blankerts@tow.ag | Web: http://www.tow.de
Re: AW: Massenhosting
Posted by Nikolaus Rath <Ni...@rath.org>.
* Oliver Siegmar <ma...@ultimate-systems.de> wrote:
>> On Fri, 2002-04-19 at 11:21, Oliver Siegmar wrote:
>>> Ob Apache nun eine Konfigurationsdatei aus Tausenden von Zeilen einlesen
>>> muss, oder einen einzelnen Eintrag um diesen anschließend im Speicher zu
>>> vervielfältigen und mit simplen regexp (anhand der Verzeichnisnamen in
>>> einem bestimmten Unterverzeichnis) zu modifizieren, dürfte für die
>>> Programmierer ja nun auch nicht höchste Kunst darstellen. :(
>>
>> Erm... da liegt ein kleiner Denkfehler vor. *JEDES* logfile bedeuted ein
>> offenes Filehandle, das auch nicht wieder geschlossen wird bis der
>> apache vollständig beendet wird.
> agree
>
>> Bei mod_vhost_alias wird dies zu einem Problem. Es müsste zur Laufzeit
>> überprüft werden, ob bereits ein handle für den gesuchten host
>> exisitert, wenn nicht, muss es geöffnet werden.. Wenn du den Server
> Warum? Es würde vollkommen reichen, wenn der Apache bei einem restart das
> Verzeichnis in dem die VHosts liegen neu einliest und dann die
> entsprechenden
> Filehandles öffnet.
>
> Wenn der Apache einfach folgendes (sinngemäß) intern machen könnte:
>
>
> #!/bin/sh
> for i in /var/www/*
> do
> echo "<VirtualHost *>"
> echo " ServerName $i"
> echo " DocumentRoot /var/www/$i"
> echo " CustomLog "|/usr/sbin/cronolog
> /var/www/$i/logs/%Y/%B/access%d.log" combined"
> echo " ErrorLog "|/usr/sbin/cronolog
> /var/www/$i/logs/%Y/%B/error%d.log"
> echo "</VirtualHost>"
> done
Nimm mod_perl, um die Apache Konfiguration dynamisch zu generieren.
Damit geht genau das obige.
--Nikolaus
Re: AW: Massenhosting
Posted by Oliver Siegmar <ma...@ultimate-systems.de>.
--On Freitag, 19. April 2002 11:35 +0200 Arne Blankerts
<AB...@freepoint.de> wrote:
> On Fri, 2002-04-19 at 11:21, Oliver Siegmar wrote:
>> Ob Apache nun eine Konfigurationsdatei aus Tausenden von Zeilen einlesen
>> muss, oder einen einzelnen Eintrag um diesen anschließend im Speicher zu
>> vervielfältigen und mit simplen regexp (anhand der Verzeichnisnamen in
>> einem bestimmten Unterverzeichnis) zu modifizieren, dürfte für die
>> Programmierer ja nun auch nicht höchste Kunst darstellen. :(
>
> Erm... da liegt ein kleiner Denkfehler vor. *JEDES* logfile bedeuted ein
> offenes Filehandle, das auch nicht wieder geschlossen wird bis der
> apache vollständig beendet wird.
agree
> Bei mod_vhost_alias wird dies zu einem Problem. Es müsste zur Laufzeit
> überprüft werden, ob bereits ein handle für den gesuchten host
> exisitert, wenn nicht, muss es geöffnet werden.. Wenn du den Server
Warum? Es würde vollkommen reichen, wenn der Apache bei einem restart das
Verzeichnis in dem die VHosts liegen neu einliest und dann die
entsprechenden
Filehandles öffnet.
Wenn der Apache einfach folgendes (sinngemäß) intern machen könnte:
#!/bin/sh
for i in /var/www/*
do
echo "<VirtualHost *>"
echo " ServerName $i"
echo " DocumentRoot /var/www/$i"
echo " CustomLog "|/usr/sbin/cronolog
/var/www/$i/logs/%Y/%B/access%d.log" combined"
echo " ErrorLog "|/usr/sbin/cronolog
/var/www/$i/logs/%Y/%B/error%d.log"
echo "</VirtualHost>"
done
Natürlich ohne Schleife und echo usw...nur zum Verbildlichen...
Könnte also z.B. so aussehen:
<VirtualHost *>
WebDir /var/www/*
ServerName %WebDir
DocumentRoot /var/www/%WebDir
CustomLog "|/usr/sbin/cronolog
/var/www/%WebDir/logs/%Y/%B/access%d.log" combined
ErrorLog "|/usr/sbin/cronolog /var/www/%WebDir/logs/%Y/%B/error%d.log"
</VirtualHost>
...und da muss ja wirklich nichts automatisch (beim Aufruf von Seiten)
passieren. Nur ein mal bei aufrufen parsen und im Speicher VHosts
erstellen. Das wär's schon schon...
Re: AW: Massenhosting
Posted by Arne Blankerts <AB...@freepoint.de>.
On Fri, 2002-04-19 at 11:21, Oliver Siegmar wrote:
> Ob Apache nun eine Konfigurationsdatei aus Tausenden von Zeilen einlesen
> muss, oder einen einzelnen Eintrag um diesen anschließend im Speicher zu
> vervielfältigen und mit simplen regexp (anhand der Verzeichnisnamen in
> einem bestimmten Unterverzeichnis) zu modifizieren, dürfte für die
> Programmierer ja nun auch nicht höchste Kunst darstellen. :(
Erm... da liegt ein kleiner Denkfehler vor. *JEDES* logfile bedeuted ein
offenes Filehandle, das auch nicht wieder geschlossen wird bis der
apache vollständig beendet wird.
Bei mod_vhost_alias wird dies zu einem Problem. Es müsste zur Laufzeit
überprüft werden, ob bereits ein handle für den gesuchten host
exisitert, wenn nicht, muss es geöffnet werden.. Wenn du den Server
jetzt mit zufälligen Hostnamen bombardierst, hast du ein perfektes DoS.
Warum ? Na, irgendwann gehen dem besten Server OS die FileHandle aus...
Und warum die Logfiles permanent offen gehalten werden, sollte sich von
selbst erklären...
Deswegen der "tipp" im Manual, später mit einem Script das allgemeine
logfile aufzusplitten. Ob das nun eine "schöne" Methode ist, ist eine
andere Frage..
> Ein manuelles Aufsplitten von Logdateien finde ich irgendwie
> hingemurkst...wenn es doch schon so eine schöne Lösung wie cronolog gibt.
Cronolog hat aber auch "nur" eine Datei offen pro vhost, der sorgt nur
dafür, das das logrotate etwas eleganter von statten geht..
Mit freundlichen Grüßen, / Regards
Arne Blankerts
--
tow ] WERBEAGENTUR
Agentur für fortschrittliche Kommunikation
Arne Blankerts
Head of Development
Breitenfelder Str. 13-17 | 20251 Hamburg | Germany
Phone: +49 (0) 40 20 000 20 | Fax: +49 (0) 40 20 000 222
mailto:blankerts@tow.ag | Web: http://www.tow.de
Re: AW: Massenhosting
Posted by Oliver Siegmar <ma...@ultimate-systems.de>.
Vielen Dank für diese Auskunft!
Ist schon etwas enttäuschend festzustellen, dass eine so wichtige und aus
Programmierer-Sicht sicherlicht auch nicht komplizierte Sache im meist
verbreiteten Webserver nicht funktioniert.
Ob Apache nun eine Konfigurationsdatei aus Tausenden von Zeilen einlesen
muss, oder einen einzelnen Eintrag um diesen anschließend im Speicher zu
vervielfältigen und mit simplen regexp (anhand der Verzeichnisnamen in
einem bestimmten Unterverzeichnis) zu modifizieren, dürfte für die
Programmierer ja nun auch nicht höchste Kunst darstellen. :(
Ein manuelles Aufsplitten von Logdateien finde ich irgendwie
hingemurkst...wenn es doch schon so eine schöne Lösung wie cronolog gibt.
Besten Dank,
Oliver
PS: Dies darf gern von einem Apache-Entwickler als Hilferuf und Vitte für
eine morgentliche Programmierübung betrachtet werden :)
--On Freitag, 19. April 2002 11:08 +0200 Arne Blankerts
<AB...@freepoint.de> wrote:
> On Fri, 2002-04-19 at 11:02, Oliver Siegmar wrote:
>> Aber genau von dieser Konfiguration möchte ich ja wegkommen. Es ist
>> nicht gerade angenehm eine Konfigurationsdatei mit mehr als 1000
>> solcher Einträge zu administrieren, gerade wenn man diese mittels
>> VirtualDocumentRoot auf _EINEN_ Eintrag dezimieren kann. Wäre da nicht
>> noch dieses Problem mit den Log-Dateien...
>
> Man beachte das Manual zu mod_vhost_alias. Da steht exakte mente drin,
> dass es aufgrund der unbekannten anzahl an vhosts nicht möglich ist,
> getrennte logfiles direkt zu generieren. Es spricht aber nichts dagegen
> hier eigenes logformat zu generieren und über ein eigenens script an
> unter-logfiles aufzuteilen.
>
> Das viel schlimmere Problem bei mod_vhost_alias ist das ebenfalls in der
> Doku beschriebene nichtsetzen der ENV-Variable DOCUMENT_ROOT. Damit sind
> so ziemlich alle CGI's, die diese Angabe verwenden, nicht mehr
> funktionsfähig. Auch mod_rewrite funktioniert in einem
> ge'vehost_alias'ten host nicht.... ( steht auch in der doku ..)
>
> Etwas ärgerlich in diesem Bezug finde ich den freundlichen hinweis in
> der Doku, daß man das DOCUMENT_ROOT faken muss, es aber peinlichst
> vermieden wird, zu beschrieben, wie man dieses denn tun kann..
>
>
> Mit freundlichen Grüßen, / Regards
> Arne Blankerts
>
>
> --
> tow ] WERBEAGENTUR
> Agentur für fortschrittliche Kommunikation
>
> Arne Blankerts
> Head of Development
>
> Breitenfelder Str. 13-17 | 20251 Hamburg | Germany
> Phone: +49 (0) 40 20 000 20 | Fax: +49 (0) 40 20 000 222
> mailto:blankerts@tow.ag | Web: http://www.tow.de
>
>
>
>
>
> --------------------------------------------------------------------------
> Apache HTTP Server Mailing List "users-de"
> unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
> sonstige Anfragen an users-de-help@httpd.apache.org
> --------------------------------------------------------------------------
>
RE: AW: Massenhosting
Posted by "[CS] Christof Egner" <ce...@configo.de>.
Hallo!
Ich verwende statt mod_vhost einfach nur mod_rewrite mit einer rewrite map:
<VirtualHost 0.0.0.0>
Servername vhosts.domain.de
UseCanonicalName Off
LogFormat "%{Host}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vcommon
CustomLog /var/log/apache/vhosts-access vcommon
RewriteEngine On
RewriteLogLevel 1
RewriteLog /var/log/apache/rewrite_log
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/etc/admin/domainfile
RewriteCond %{REQUEST_URI} ^/cgi-bin/$
RewriteRule ^(/.*)$ - [F,L]
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond %{REQUEST_URI} !^/cgi-sys/
RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{REQUEST_URI} !^(/.*)(.cgi|.pl|.wphp)$
RewriteCond %{REQUEST_URI} !^/errordocs/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond %{SERVER_NAME} ([a-z0-9-]+\.[a-z0-9-]+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^(/.*)$ %1/%{SERVER_NAME}$1 [L]
ServerAdmin hostmaster@domain.de
ErrorLog /var/log/apache/vhosts-error
</VirtualHost>
In der Domain Map steht drin, welche Domain in welches Verzeichnis gehen soll:
www.domain1.de /home/user1/domain1
www.domain2.de /home/user1/domain2
www.domain3.de /home/user1/domain3
Das generierte Logfile ist im Prinzip ein ganz normales Combined Log, bei dem der jeweilige Host als erster Parameter vorangestellt wird - lässt sich also per Skript sehr leicht splitten und in die Benutzerverzeichnisse verteilen.
Umgebungsvariablen wie z.B. DocumentRoot etc. lassen sich mit mod_rewrite problemlos setzen.
Viele Grüße,
Christof Egner
--
_______________________________________________________________
Configo Systems GmbH - Jahnstr. 62 - 64285 Darmstadt
Tel 06151-39656-0 Fax 06151-39656-49 http://www.configo.de
Re: AW: Massenhosting
Posted by Arne Blankerts <AB...@freepoint.de>.
On Fri, 2002-04-19 at 11:02, Oliver Siegmar wrote:
> Aber genau von dieser Konfiguration möchte ich ja wegkommen. Es ist nicht
> gerade angenehm eine Konfigurationsdatei mit mehr als 1000 solcher Einträge
> zu administrieren, gerade wenn man diese mittels VirtualDocumentRoot auf
> _EINEN_ Eintrag dezimieren kann. Wäre da nicht noch dieses Problem mit den
> Log-Dateien...
Man beachte das Manual zu mod_vhost_alias. Da steht exakte mente drin,
dass es aufgrund der unbekannten anzahl an vhosts nicht möglich ist,
getrennte logfiles direkt zu generieren. Es spricht aber nichts dagegen
hier eigenes logformat zu generieren und über ein eigenens script an
unter-logfiles aufzuteilen.
Das viel schlimmere Problem bei mod_vhost_alias ist das ebenfalls in der
Doku beschriebene nichtsetzen der ENV-Variable DOCUMENT_ROOT. Damit sind
so ziemlich alle CGI's, die diese Angabe verwenden, nicht mehr
funktionsfähig. Auch mod_rewrite funktioniert in einem
ge'vehost_alias'ten host nicht.... ( steht auch in der doku ..)
Etwas ärgerlich in diesem Bezug finde ich den freundlichen hinweis in
der Doku, daß man das DOCUMENT_ROOT faken muss, es aber peinlichst
vermieden wird, zu beschrieben, wie man dieses denn tun kann..
Mit freundlichen Grüßen, / Regards
Arne Blankerts
--
tow ] WERBEAGENTUR
Agentur für fortschrittliche Kommunikation
Arne Blankerts
Head of Development
Breitenfelder Str. 13-17 | 20251 Hamburg | Germany
Phone: +49 (0) 40 20 000 20 | Fax: +49 (0) 40 20 000 222
mailto:blankerts@tow.ag | Web: http://www.tow.de
Re: AW: Massenhosting
Posted by Oliver Siegmar <ma...@ultimate-systems.de>.
Aber genau von dieser Konfiguration möchte ich ja wegkommen. Es ist nicht
gerade angenehm eine Konfigurationsdatei mit mehr als 1000 solcher Einträge
zu administrieren, gerade wenn man diese mittels VirtualDocumentRoot auf
_EINEN_ Eintrag dezimieren kann. Wäre da nicht noch dieses Problem mit den
Log-Dateien...
Ich fürchte meine Frage wurde nicht ganz verstanden...
--On Freitag, 19. April 2002 01:43 +0200 Peter Stöhr <st...@gaynet.at> wrote:
> ich verwende diese struktur:
>
> /var/www/+
> +www.kunde1.at+
> | +/cgi-bin/
> | +/htdocs/
> | +/logs/
> |
> +www.kunde2.at+
> ...usw
>
> Für die einzelnen Webstatistiken schreibt der Webalizer jeden Tag nach
> /var/www/www.kunde_xy.at/htdocs/beliebiges-log-verzeichnis/
>
>
> <VirtualHost 192.168.1.1:80>
> ServerName www.kunde1.at
> DocumentRoot /var/www/www.kunde1.at/htdocs/
> ScriptAlias /cgi-bin/ /var/www/www.kunde1.at/cgi-bin/
> TransferLog "|/usr/sbin/cronolog
> /var/www/www.kunde1.at/logs/access_log.%Y%m%d"
> LogFormat combined
> ErrorLog "|/usr/sbin/cronolog
> /var/www/www.kunde1.at/logs/error_log.%Y%m%d" </VirtualHost>
>
> <VirtualHost 192.168.1.2:80>
> ServerName www.kunde2.at
> DocumentRoot /var/www/www.kunde2.at/htdocs/
> ScriptAlias /cgi-bin/ /var/www/www.kunde2.at/cgi-bin/
> TransferLog "|/usr/sbin/cronolog
> /var/www/www.kunde2.at/logs/access_log.%Y%m%d"
> LogFormat combined
> ErrorLog "|/usr/sbin/cronolog
> /var/www/www.kunde2.at/logs/error_log.%Y%m%d" </VirtualHost>
>
> LG,
> Peter Stöhr
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> PINK ADVERTISING - Gerd Eichler KEG
> A-1150 Wien, Wurmsergasse 35/17
> V: +43 664 2339933 F: +43 1 7899737
> ViennaGayGUIDE http://www.gaynet.at
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> -----Ursprüngliche Nachricht-----
> Von: Oliver Siegmar [mailto:mailings@ultimate-systems.de]
> Gesendet: Donnerstag, 18. April 2002 11:29
> An: users-de@httpd.apache.org
> Betreff: Massenhosting
>
>
> Hallo zusammen,
>
> da ich bei einem Web-Hoster mittlerweile relativ viele Webs zu
> administrieren habe, möchte ich gerne von der "normalen"
> VirtualHost-Lösung auf die mit VirtualDocumentRoot umsteigen. Ein
> VHost-Eintrag sieht derzeit so aus:
>
> <VirtualHost *>
> ServerName www.domainname.de
> DocumentRoot /var/www/www.domainname.de
> CustomLog "|/usr/sbin/cronolog
> /var/www/www.domainname.de/logs/%Y/%B/access%d.log" combined
> ErrorLog "|/usr/sbin/cronolog
> /var/www/www.domainname.de/logs/%Y/%B/error%d.log"
> </VirtualHost>
>
> Durch die Verwendung von VirtualDocumentRoot könnte dies dann etwa so
> aussehen:
>
> <VirtualHost *>
> ServerName DNS
> UseCanonicalName Off
> VirtualDocumentRoot /var/www/std/%0
> </VirtualHost>
>
>
> Dies würde auch wunderbar funktionieren, allerdings habe ich derzeit noch
> keine Möglichkeit entdeckt die CustomLog und ErrorLog Direktive dazu zu
> bewegen ihre Logdateien auch Domain-fein in das Verzeichnis zu legen -
> also etwa so:
>
> CustomLog "|/usr/sbin/cronolog
> /var/www/std/%0/logs/%Y/%B/access%d.log" combined
> ErrorLog "|/usr/sbin/cronolog /var/www/std/%0/logs/%Y/%B/error%d.log"
>
> ...funktioniert aber nicht. Kann mir jemand helfen?
>
>
> Ciao,
> Oliver
>
> --------------------------------------------------------------------------
> Apache HTTP Server Mailing List "users-de"
> unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
> sonstige Anfragen an users-de-help@httpd.apache.org
> --------------------------------------------------------------------------
>
>
>
> --------------------------------------------------------------------------
> Apache HTTP Server Mailing List "users-de"
> unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
> sonstige Anfragen an users-de-help@httpd.apache.org
> --------------------------------------------------------------------------
>
AW: Massenhosting
Posted by Peter Stöhr <st...@gaynet.at>.
ich verwende diese struktur:
/var/www/+
+www.kunde1.at+
| +/cgi-bin/
| +/htdocs/
| +/logs/
|
+www.kunde2.at+
...usw
Für die einzelnen Webstatistiken schreibt der Webalizer jeden Tag nach
/var/www/www.kunde_xy.at/htdocs/beliebiges-log-verzeichnis/
<VirtualHost 192.168.1.1:80>
ServerName www.kunde1.at
DocumentRoot /var/www/www.kunde1.at/htdocs/
ScriptAlias /cgi-bin/ /var/www/www.kunde1.at/cgi-bin/
TransferLog "|/usr/sbin/cronolog
/var/www/www.kunde1.at/logs/access_log.%Y%m%d"
LogFormat combined
ErrorLog "|/usr/sbin/cronolog /var/www/www.kunde1.at/logs/error_log.%Y%m%d"
</VirtualHost>
<VirtualHost 192.168.1.2:80>
ServerName www.kunde2.at
DocumentRoot /var/www/www.kunde2.at/htdocs/
ScriptAlias /cgi-bin/ /var/www/www.kunde2.at/cgi-bin/
TransferLog "|/usr/sbin/cronolog
/var/www/www.kunde2.at/logs/access_log.%Y%m%d"
LogFormat combined
ErrorLog "|/usr/sbin/cronolog /var/www/www.kunde2.at/logs/error_log.%Y%m%d"
</VirtualHost>
LG,
Peter Stöhr
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PINK ADVERTISING - Gerd Eichler KEG
A-1150 Wien, Wurmsergasse 35/17
V: +43 664 2339933 F: +43 1 7899737
ViennaGayGUIDE http://www.gaynet.at
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----Ursprüngliche Nachricht-----
Von: Oliver Siegmar [mailto:mailings@ultimate-systems.de]
Gesendet: Donnerstag, 18. April 2002 11:29
An: users-de@httpd.apache.org
Betreff: Massenhosting
Hallo zusammen,
da ich bei einem Web-Hoster mittlerweile relativ viele Webs zu
administrieren habe, möchte ich gerne von der "normalen" VirtualHost-Lösung
auf die mit VirtualDocumentRoot umsteigen. Ein VHost-Eintrag sieht derzeit
so aus:
<VirtualHost *>
ServerName www.domainname.de
DocumentRoot /var/www/www.domainname.de
CustomLog "|/usr/sbin/cronolog
/var/www/www.domainname.de/logs/%Y/%B/access%d.log" combined
ErrorLog "|/usr/sbin/cronolog
/var/www/www.domainname.de/logs/%Y/%B/error%d.log"
</VirtualHost>
Durch die Verwendung von VirtualDocumentRoot könnte dies dann etwa so
aussehen:
<VirtualHost *>
ServerName DNS
UseCanonicalName Off
VirtualDocumentRoot /var/www/std/%0
</VirtualHost>
Dies würde auch wunderbar funktionieren, allerdings habe ich derzeit noch
keine Möglichkeit entdeckt die CustomLog und ErrorLog Direktive dazu zu
bewegen ihre Logdateien auch Domain-fein in das Verzeichnis zu legen - also
etwa so:
CustomLog "|/usr/sbin/cronolog /var/www/std/%0/logs/%Y/%B/access%d.log"
combined
ErrorLog "|/usr/sbin/cronolog /var/www/std/%0/logs/%Y/%B/error%d.log"
...funktioniert aber nicht. Kann mir jemand helfen?
Ciao,
Oliver
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------