virtual host mit apache2

Apache, Lighttpd, nginx, Cherokee
denny_foo
Posts: 4
Joined: 2008-06-07 00:49

virtual host mit apache2

Post by denny_foo » 2008-06-07 11:16

ich habe so ziemlich jede Variante die im Internet zu finden ist ausprobiert aber irgendwie leitet mein Apache2 die angefragten Domains nicht in die dafür vorgesehenen Verzeichnisse.

Ich habe einen root Server
debian etch 4.0
apache 2.2.3
mit einer IP xx.xxx.xx.xx

bei einem Domainhoster leiten 2 Domains auf meinen Server

domain1.de
domain2.de

neben der /etc/apache2/sites-available/default

Code: Select all

NameVirtualHost xx.xxx.xx.xx:80
<VirtualHost xx.xxx.xx.xx:80>
   ServerAdmin webmaster@localhost
   
   DocumentRoot /var/www/
   <Directory />
      Options FollowSymLinks
      AllowOverride None
   </Directory>
   <Directory /var/www/>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride None
      Order allow,deny
      allow from all
      # This directive allows us to have apache2's default start page
                # in /apache2-default/, but still have / go to the right place
                #RedirectMatch ^/$ /apache2-default/
   </Directory>

   ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
   <Directory "/usr/lib/cgi-bin">
      AllowOverride None
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
      Order allow,deny
      Allow from all
   </Directory>

   ErrorLog /var/log/apache2/error.log

   # Possible values include: debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn

   CustomLog /var/log/apache2/access.log combined
   ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


bei der ich bis auf das Austauschen des * mit der IP und das Auskommentieren von RedirectMatch... nichts geändert habe, wurden noch

/etc/apache2/sites-available/domain1.de

Code: Select all

<VirtualHost xx.xxx.xx.xx:80>
CustomLog /var/log/apache2/domain1.log common
ServerName domain1.de
ServerAlias *.domain1.de
DocumentRoot /var/www/domain1.de
</VirtualHost>


sowie

/etc/apache2/sites-available/domain2.de

Code: Select all

<VirtualHost xx.xxx.xx.xx:80>
CustomLog /var/log/apache2/domain2.log common
ServerName domain2.de
ServerAlias *.domain2.de
DocumentRoot /var/www/domain2.de
</VirtualHost>


angelegt und mit a2ensite domain1.de bzw a2ensite domain2.de eingebunden

die Verzeichnisse

/var/www/domain1.de und /var/www/domain2.de sind vorhanden
die Dateien /var/log/apache2/domain1.log sowie /var/log/apache2/domain2.log sind ebenfalls vorhanden

beim Aufruf von http://domain1.de sowie http://domain2.de erscheint die index.html die ich in /var/www/ angelegt habe was bedeutet das diese 2 domains nicht in ihr Verzeichnis weitergeleitet werden.

Zeitweise hatte ich noch

/etc/hosts

Code: Select all

xx.xxx.xx.xx domain1.de
xx.xxx.xx.xx domain2.de


da dies aber nichts gebracht hat, habe ich diese Einträge wieder entfernt.

unter httpd.apache.org gibt es eine Bemerkung ("Der Hauptserver verschwindet") die ich nicht so ganz kapiere und vermute das dies zur Lösung meines Problems führen könnte.

Kann mir da jemand weiterhelfen?

Gruß denny_foo

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: virtual host mit apache2

Post by Roger Wilco » 2008-06-07 11:49

Die Symlinks in /etc/apache2/sites-enabled/ sind korrekt? Den Apache httpd hast du neugestartet bzw. ihm ein SIGHUP geschickt? Was passiert, wenn du den Default VirtualHost deaktivierst?

denny_foo
Posts: 4
Joined: 2008-06-07 00:49

Re: virtual host mit apache2

Post by denny_foo » 2008-06-07 12:06

die Angaben unter /etc/apache2/sites-enabled/x entsprechen 1:1 den von /etc/apache2/sites-available/x

nach der Deaktivierung der default erscheint die Fehlermeldung

Code: Select all

[warn] VirtualHost xx.xxx.xx.xx:80 overlaps with VirtualHost xx.xxx.xx.xx:80, the first has precedence, perhaps you need a NameVirtualHost directive


was wohl durch das wegfallen von NamedVirtualHost in der default zurfolge hat

Neustarts waren

/etc/init.d/apache2 reload
/etc/init.d/apache2 restart
/etc/init.d/apache2 stop bzw start

denny_foo
Posts: 4
Joined: 2008-06-07 00:49

Re: virtual host mit apache2

Post by denny_foo » 2008-06-07 14:03

das Deaktivieren von

Code: Select all

/etc/apache2/sites-available/default

und das Anpassen von

Code: Select all

/etc/apache2/sites-available/domain1.de
/etc/apache2/sites-available/domain2.de

bezüglich der NameVirtualHost directive lies den Apache ohne Fehlermeldung neu starten.

der Aufruf der Seiten
http://domain1.de und http://domain2.de endet mit

Not Found
The requested URL / was not found on this server.

denny_foo
Posts: 4
Joined: 2008-06-07 00:49

Re: virtual host mit apache2

Post by denny_foo » 2008-06-11 17:17

ich habe eine datei (vhosts.conf) erstellt und folgendes eingetragen

/etc/apache2/sites-available/vhosts.conf

Code: Select all

NameVirtualHost IP
<VirtualHost IP>
    ServerName IP
    DocumentRoot "/var/www/"
</VirtualHost>

NameVirtualHost domain1.de
<VirtualHost domain1.de>
  ServerName domain1.de
  ServerAlias www.domain1.de
  ServerAdmin admin@domain1.de
  DocumentRoot "/var/www/domain1/"
  CustomLog "/var/logs/domain1.de/access.log" combined
</VirtualHost>

NameVirtualHost domain2.de
<VirtualHost domain2.de>
  ServerName domain2.de
  ServerAlias www.domain2.de
  ServerAdmin admin@domain2.de
  DocumentRoot "/var/www/domain2/"
  CustomLog "/var/logs/domain2.de/access.log" combined
</VirtualHost>

a2ensite vhosts.conf
/etc/init.d/apache2 restart

so funktioniert es, aber ich bekomme vom apache Fehlermeldungen das für die NameVirtualHost keine VirtualHost deklariert wurden.

ich werde mir mal dieses lighttpd anschauen, vielleicht habe ich ja da mehr Glück.

vielen Dank für die Hilfe
Gruß
denny_foo