steffi: Lampp/Xampp: vhosts

hi,
bei meinem webserver mit xampp drauf, würde ich gerne meine domains explizit bzw einzeln konfigurieren, sodass jede einzelne einen anderen webinhalt anzeigt. daher habe ich die scripte und kontents in verschiedene verzeichnisse in htdocs geschoben und vhosts mal so eingerichtet, wie es im manual steht. doch leider gehts auch nach einem neustart von lampp nicht :(
hab apachectl mal manuell gestartet. es hat tatsächlich fehler bemerkt, also ignoriert wird das scheinbar doch nicht, was ich erst annahm... aber das hilft mir nichts, denn wenn ich ./bin/apachectl -t -D DUMP_VHOSTS ausführe, meint er:
"VirtualHost configuration:
Syntax OK"
=> irgendwie nicht so viele einstellungen, die er sich gemerkt hat.
hier meine httpd-vhosts.conf, wobei bla.de durch die "richtige" domain ersetzt wurde.
Zitat:

Virtual Hosts

If you want to maintain multiple domains/hostnames on your

machine you can setup VirtualHost containers for them. Most configurations

use only name-based virtual hosts so the server doesn't need to worry about

IP addresses. This is indicated by the asterisks in the directives below.

Please see the documentation at

URL:http://httpd.apache.org/docs/2.2/vhosts/

for further details before you try to setup virtual hosts.

You may use the command line option '-S' to verify your virtual host

configuration.

Use name-based virtual hosting.

NameVirtualHost *:80

VirtualHost example:

Almost any Apache directive may go into a VirtualHost container.

The first VirtualHost section is used for all requests that do not

match a ServerName or ServerAlias in any <VirtualHost> block.

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /www/docs/dummy-host.example.com
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

#<VirtualHost *:80>

ServerAdmin webmaster@dummy-host2.example.com

DocumentRoot /www/docs/dummy-host2.example.com

ServerName dummy-host2.example.com

ErrorLog logs/dummy-host2.example.com-error_log

CustomLog logs/dummy-host2.example.com-access_log common

#</VirtualHost>

#meine domain:
<VirtualHost www.bla.de:80>
ServerName www.bla.de
ServerAlias www.bla.de
ServerAdmin webmaster@www.de
DocumentRoot /opt/lampp/htdocs/www
<Directory "/opt/lampp/htdocs/www">
AllowOverride All
Options IncludesNoExec
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

die domain an sich wird richtig geroutet, denn wenn ich sie aufrufe, wird mit ja /opt/lampp/htdocs/ angezeigt bzw. werde ich in den xampp ordner geschupst.

was läuft da schief?
thx

  1. typisch xampp...
    in httpd.conf:
    #Include etc/extra/httpd-vhost.conf
    Die Raute(#) davor entfernen.

    1. hallo,

      typisch xampp...

      typisch vorlaut.

      in httpd.conf:
      #Include etc/extra/httpd-vhost.conf
      Die Raute(#) davor entfernen.

      Unsinn. Du kannst nicht voraussetzen, daß es /etc/extra gibt. Tatsächlich gibt es das in keinerlei XAMPP-Installation. Probiere deine Ratschläge bitte vorher selber aus.

      Grüße aus Berlin

      Christoph S.

      --
      Visitenkarte
      ss:| zu:) ls:& fo:) va:) sh:| rl:|
  2. hallo,

    doch leider gehts auch nach einem neustart von lampp nicht :(

    Was geht da nicht? Und die Standardfrage: was steht in deinen logs?

    wenn ich ./bin/apachectl -t -D DUMP_VHOSTS ausführe

    So umständlich wärs gar nicht nötig. Ein
      apachectl -t
    hätte ausgereicht.

    hier meine httpd-vhosts.conf

    Du solltest dir überlegen, was du davon wirklich brauchst. Der ganze Kommentarkram kann raus, und insbesondere kann das hier raus:

    <VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /www/docs/dummy-host.example.com
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
    </VirtualHost>

    Und hier wirds ein bißchen knifflig:

    NameVirtualHost *:80

    Das Problem ist hier das *. Weil "Name" davorsteht, erwartest du offensichtlich, daß dort ein "Name" durch den Platzhalter ersetzt wird. Genau das ist aber nicht der Fall.

    #meine domain:
    <VirtualHost www.bla.de:80>

    Du solltest entweder

    <VirtualHost *:80>

    stehenlassen, oder du mußt oben das Sternchen durch eine lokale IP ersetzen, beispielsweise so:
      NameVirtualHost 192.168.0.1

    Dann schreibst du für deinen eigenen virtHost:
      <VirtualHost 192.168.0.1>

    ServerName www.bla.de
    ServerAlias www.bla.de
    ServerAdmin webmaster@www.de
    DocumentRoot /opt/lampp/htdocs/www
    <Directory "/opt/lampp/htdocs/www">
    AllowOverride All
    Options IncludesNoExec
    Order allow,deny
    Allow from all
    </Directory>
    </VirtualHost>

    die domain an sich wird richtig geroutet

    Nicht von deinem Apache. Der routet überhaupt nichts.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|