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 Julian Stöver <ju...@gfs.diepholz.de> on 2006/10/19 11:17:15 UTC

Hohe Zahl von VHost managen

Hallo,
ich betreue seit einiger Zeit Webserver an meiner Schule.  
Mittlerweile ist die Anzahl der Vhost auf dem Webserver stark  
angestiegen, außerdem wollen wir unsere Benutzerverwaltung umstellen,  
wodurch es zu umständlich wird, jeden Vhost einzeln einzutragen.

Ich habe mir dazu den Artikel "Mass Virtual Hosting" in der  
mod_rewrite Dokumentation angesehen. Das würde zwar funktionieren,  
hat allerdings zwei bedeutende Nachteile:

- keine individuellen Einstellungen (Aliase usw) möglich
- ich benutze bei den Vhosts die PHP Einstellung 'open_basedir' um  
andere Vhosts zu schützen

Beides geht soweit ich weiß nicht, da z.B. beim 2. jeweils ein  
anderer Pfad eingetragen werden muss. Ich habe zwar die Funktion  
'RewriteOption' angesehen, glaube aber dass die nicht für solche  
Sachen gedacht ist, die Dokumentation darüber ist sehr mager.

Gibt es eine Möglichkeit das Problem über diesen Weg zu lösen?

Oder gibt es eine Möglichkeit, verschiedene Vhost per MySQL-DB  
auszulesen? Oder vielleicht ein ganz anderer Weg?

Mfg
Julian Stöver
--------------------------------------------------------------------------
                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: Hohe Zahl von VHost managen

Posted by Julian Stšver <ju...@gfs.diepholz.de>.
Paul Puschmann schrieb:
> On Thu, Oct 19, 2006 at 01:59:19PM +0200, Julian St?ver wrote:
>   
>> Julian Stšver schrieb:
>>     
>>> James Blond schrieb:
>>>       
>>>> Es gibt mod_macro um massenhosting zu lösen. Es gibt das Modul für
>>>> *nix systeme als auch für Windows.
>>>>         
>>> Genau das habe ich gesucht! Danke
>>>
>>> MfG
>>> Julian
>>>       
>> Eine Frage hab ich doch noch ;)
>>
>> Die Befehle "Use vhost subdomain email" usw, kann man das irgendwie 
>> hinkriegen das man die aus einer Datenbank ausliest?
>>
>>     
> Wird "use vhost ..." in der .conf-Datei verarbeitet oder ist das ein
> Kommandozeilenbefehl?
>
> Du kannst dir per Shellscript / PHP / Perl / Python entsprechende
> Werte aus der Datenbank rausziehen und dann in der Datei ablegen.
>
> Paul
>   
Der Befehl wird in der config Datei verarbeitet. Ja, deine Idee hätt ich 
sonst als alternative gewählt, falls das mit MySQL nicht funktionieren 
sollte.

mfg

--------------------------------------------------------------------------
                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: Hohe Zahl von VHost managen

Posted by Paul Puschmann <ln...@uzulabs.net>.
On Thu, Oct 19, 2006 at 01:59:19PM +0200, Julian St?ver wrote:
> Julian Stšver schrieb:
> >James Blond schrieb:
> >>Es gibt mod_macro um massenhosting zu lösen. Es gibt das Modul für
> >>*nix systeme als auch für Windows.
> >
> >Genau das habe ich gesucht! Danke
> >
> >MfG
> >Julian
> Eine Frage hab ich doch noch ;)
> 
> Die Befehle "Use vhost subdomain email" usw, kann man das irgendwie 
> hinkriegen das man die aus einer Datenbank ausliest?
> 
Wird "use vhost ..." in der .conf-Datei verarbeitet oder ist das ein
Kommandozeilenbefehl?

Du kannst dir per Shellscript / PHP / Perl / Python entsprechende
Werte aus der Datenbank rausziehen und dann in der Datei ablegen.

Paul
-- 
: Bitte einen Realname benutzen, unter dem Zitat antworten
: und einfache Text-Mails senden (kein HTML).
: Danke.

Re: Hohe Zahl von VHost managen

Posted by Sebastian Kayser <ml...@skayser.de>.
* Julian St?ver <ju...@gfs.diepholz.de> wrote:
> Die Befehle "Use vhost subdomain email" usw, kann man das irgendwie 
> hinkriegen das man die aus einer Datenbank ausliest?

Keine Ahnung, inwiefern das direkt ginge, aber mit einem via Cron
aufgerufenen Skript (PHP, Perl, Python, ...) sicherlich.

* VHost-Definitionen in eine separate Datei auslagern (z.b. vhosts.conf)
* Mit einem Skript die benötigten Konfigurationszeilen anhand der Daten
  aus der DB in einer temporären Datei erzeugen
* Validitätsprüfungen über die temporäre Datei jagen
   * Datei größer 0?
   * Datei enthält nur Zeilen, die mit Use beginnen?
   * Datei identisch mit vhosts.conf
      * Ja: Keine Änderungen in der DB -> Programmende
      * Nein: Es liegen Änderungen in der DB vor -> Weiter im Programm
* vhosts.conf archivieren und temporäre Datei in vhosts.conf umbennen
* Ggf. ein "apache -t" zum Syntaxtest der neuen Konfiguration mit
  entsprechender Fehlerbehandlung (ursprüngliche Konfig wiederherstellen,
  Mail an Admin)
* Apache reloaden 
* Jeden der Daten über die DB pflegt darauf hinweisen, dass Änderungen
  erst nach X Minuten (je nach Cron-Konfiguration) aktiv werden

Sebastian

--------------------------------------------------------------------------
                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: Hohe Zahl von VHost managen

Posted by Julian Stšver <ju...@gfs.diepholz.de>.
Julian Stšver schrieb:
> James Blond schrieb:
>> Es gibt mod_macro um massenhosting zu lösen. Es gibt das Modul für
>> *nix systeme als auch für Windows.
>
> Genau das habe ich gesucht! Danke
>
> MfG
> Julian
Eine Frage hab ich doch noch ;)

Die Befehle "Use vhost subdomain email" usw, kann man das irgendwie 
hinkriegen das man die aus einer Datenbank ausliest?

Mfg
Julian

--------------------------------------------------------------------------
                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: Hohe Zahl von VHost managen

Posted by Julian Stšver <ju...@gfs.diepholz.de>.
James Blond schrieb:
> Es gibt mod_macro um massenhosting zu lösen. Es gibt das Modul für
> *nix systeme als auch für Windows.

Genau das habe ich gesucht! Danke

MfG
Julian
>
> NameVirtualHost *:80
> NameVirtualHost *:443
> <Macro vhost $sub $domain $admin>
>    <VirtualHost $sub.$domain:80>
>       ServerAdmin $admin
>       DocumentRoot "/home/httpd/html/domains/$domain/$sub "
>       ServerName $host
>       php_admin_value open_basedir 
> "/home/httpd/html/domains/$domain/$sub"
>    </VirtualHost>
> </Macro>
>
> Use vhost www mydomain.com host@domain.com
> Use vhost private mydomain.com host@domain.com
>
> Erzeugt
>
> www.mydmain.com -> /home/httpd/html/domains/mydomain.com/www/
> private.mydmain.com -> /home/httpd/html/domains/mydomain.com/private/
>
> Gruß
> Mario
>
> -------------------------------------------------------------------------- 
>
>                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
--------------------------------------------------------------------------


Re: Hohe Zahl von VHost managen

Posted by James Blond <jb...@gmail.com>.
Es gibt mod_macro um massenhosting zu lösen. Es gibt das Modul für
*nix systeme als auch für Windows.

NameVirtualHost *:80
NameVirtualHost *:443
<Macro vhost $sub $domain $admin>
    <VirtualHost $sub.$domain:80>
       ServerAdmin $admin
       DocumentRoot "/home/httpd/html/domains/$domain/$sub "
       ServerName $host
       php_admin_value open_basedir "/home/httpd/html/domains/$domain/$sub"
    </VirtualHost>
</Macro>

Use vhost www mydomain.com host@domain.com
Use vhost private mydomain.com host@domain.com

Erzeugt

www.mydmain.com -> /home/httpd/html/domains/mydomain.com/www/
private.mydmain.com -> /home/httpd/html/domains/mydomain.com/private/

Gruß
Mario

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