PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Virutalhost apache2 und Suse10



bangaltar
12.12.05, 12:34
Hallo,

wir betreiben einen internen Webserver in unserem Verwaltungsnetz. Auf dem Server ist SuSE 10 inst. und der Apache2 (SuSE StdPacket).
Auf dem Server sind mehrer Virtual Hosts eingerichtet.
Das funktioniert auch alles super soweit.

Nun zu meinem Problem:
Wie kann ich festlegen zu welchem Virtualhost er die anfragen weiterleitet wenn kein!!! Hostheader mitgeschickt wird.
In der Apache.conf steht er nimmt den ersten geladenen Virtualhost. nur das soll er nicht. Er soll zu dem Verbinden dem ich ihm vorgebe.
Den Documentroot-Eintrag usw. in der default-server.conf ignoriert er einfach... (auf unserem alten apache2 (SuSE 8.2) funktionierte das so)


folgende Virutalhost haben wir eingerichtet:

abotaw.blub.de
system.blub.de
service.blub.de
test.blub.de
intranet.blub.de

Bei fehlern soll er auf system.blub.de gehen, der user landet aber immer bei abotaw.blub.de

Hier nochmal die vhost Config (ist bei allen Vhosts identisch):


#
# VirtualHost template
# Note: to use the template, rename it to /etc/apache2/vhost.d/yourvhost.conf.
# Files must have the .conf suffix to be loaded.
#
# See /usr/share/doc/packages/apache2/README.QUICKSTART for further hints
# about virtual hosts.
#
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost test.blub:80>
ServerAdmin edv@blub.de
ServerName test.blub.de

DocumentRoot /dat/srv/www/test/htdocs/

ErrorLog /var/log/apache2/test/error_log
CustomLog /var/log/apache2/test/access_log combined

HostnameLookups Off
UseCanonicalName Off
ServerSignature On



ScriptAlias /cgi-bin/ "/dat/srv/www/test/cgi-bin/"


<Directory "/dat/srv/www/test/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>


<IfModule mod_userdir.c>
# Note that the name of the user directory ("public_html") cannot simply be
# changed here, since it is a compile time setting. The apache package
# would have to be rebuilt. You could work around by deleting
# /usr/sbin/suexec, but then all scripts from the directories would be
# executed with the UID of the webserver.
UserDir public_html
# The actual configuration of the directory is in
# /etc/apache2/mod_userdir.conf.
Include /etc/apache2/mod_userdir.conf
# You can, however, change the ~ if you find it awkward, by mapping e.g.
# http://www.example.com/users/karl-heinz/ --> /home/karl-heinz/public_html/
#AliasMatch ^/users/([a-zA-Z0-9-_.]*)/?(.*) /home/$1/public_html/$2
</IfModule>


<Directory "/dat/srv/www/test/htdocs">

Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all

</Directory>

</VirtualHost>

marce
12.12.05, 12:46
dafür gibt's die _default_-Anweisung - aber Achtung:

http://httpd.apache.org/docs/2.0/mod/core.html#namevirtualhost:

Anmerkung

Beachten Sie, dass der "Hauptserver" und jeder _default_-Server niemals bei einer Anfrage an einer NameVirtualHost-IP-Adresse bedient wird (es sei denn, Sie geben aus irgendwelchen Gründen NameVirtualHost an, definieren dann aber keine VirtualHosts für diese Adresse)


edit: manches...