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
--------------------------------------------------------------------------