Dynamische VHOSTS mit Apache2 und mod_perl

Alles, was Perl betrifft, kann hier besprochen werden.

Dynamische VHOSTS mit Apache2 und mod_perl

Postby Shogoki » 11. August 2011 14:12

Hallo Leute,

Ich bin jetzt schon seit einigen Tagen an folgender Sache dran.
Ich habe ein ein TSV-File in dem steht die Domain, der Pfad und der User des Vhosts.
Nun will Ich diese mithilfe von mod_perl in eine recht spezielle Standart-Konfiguraton pumpen.
Dazu habe Ich schonmal folgende Perl-Section geschrieben:

Code: Select all
open(VHOSTS,"<","./scripts/vhosts_file");

my @lines =  <VHOSTS>;
close(VHOSTS);

foreach(@lines)
{
 my ($vhost_name, $vhost_path, $suexec_user) = split(/\t/);

# get the username (groupname = username)
$suexec_user = getpwuid($suexec_user);
#remove trailing / from path
$vhost_path =~ s/\/$//;

$VirtualHost{"$vhost_name:80"} = {
     ServerAlias => "$vhost_name:80",
        ServerName => "www.$vhost_name:80",
     DocumentRoot => $vhost_path,
        SuexecUserGroup => "$suexec_user $suexec_user",
     Directory => {
       $vhost_path => {
         FCGIWrapper => "/srv/www/$suexec_user/conf_$suexec_user .php",
         FilesMatch => {'\.php$' => {
                SetHandler => 'fcgid-script',
                },
},
        Options => '+ExecCGI Indexes FollowSymLinks',
        AllowOverride =>  'AuthConfig Fileinfo',
        DirectoryIndex => 'index.php',
        order => 'deny,allow',
        Allow => 'from all',
       },
     },
  };



Ein Restart bringt bei mir dann auch keine Fehler.
Und ein
Code: Select all
apache2 -S


liefert folgendes( hab die IP und die Domains verändert):

DomainA ist eine Domain, welche normal durch ein statisches Config-File konfiguriert wurde.
DomainB ist die Domain, welche in dem TSV-File steht (vorerst nur eine zum testen)

Code: Select all
1.2.3.4:80      is a NameVirtualHost
         default server DomainA.tld (/etc/apache2/sites-enabled/000-default.conf:149)
         port 80 namevhost DomainA.tld (/etc/apache2/sites-enabled/000-default.conf:149)
         port 80 namevhost www.DomainB.de (mod_perl:1)
         port 80 namevhost www.DomainB.de (mod_perl:1)
         port 80 namevhost dev.DomainA.tld (/etc/apache2/sites-enabled/evo_dev.conf:3)
...


Wenn Ich nun aber auf die DomainB zugreife, komme Ich immer nur auf den Standart-Vhost (DomainA) alle anderen(statisch konfigurierten) VHosts funktionieren einwandfrei.

Es scheint als würde er die Config der Perl Section nicht richtig ziehen...
Aber Ich komme einfach nicht dahinter woran es liegt...
Ich hänge etzt schon seit 3 Tagen an diesem Problem. nd hab mich dazu auch schon halb tot gegooglet.

Ich hoffe Ihr könnt mir vieleicht weiterhelfen und dass Ich das Problem genug beschrieben habe.
Schonmal Danke im vorraus.
Grüße Shogoki
Shogoki
 
Posts: 1
Joined: 11. August 2011 14:08

Return to Perl

Who is online

Users browsing this forum: No registered users and 0 guests