ubuntuusers.de

apache virtual hosts - konfigurationsfehler

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

nef@rius

Anmeldungsdatum:
11. Juni 2007

Beiträge: Zähle...

Hi.

Ich habe eine Ubuntu 7.04 Maschine laufen. Leider komme ich mit der Apache-Konfiguration nicht ganz zurecht. Ich will eine Virtual-Domain einrichten. Dazu habe ich als erstes a2dissite default gemacht, damit standardmäßig ein Fehler kommt. Nun habe ich folgende Konfiguration-Datei, aber es wird immer noch alles auf die domain geleitet:

<VirtualHost *>
	ServerAdmin me@gmail.com
	ServerName example.de

	DocumentRoot /private-backup/www/example.de/
	
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /private-backup/www/example.de/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride All
		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>

Hat jemand eine Idee, woran das liegen könnte? Danke schonmal ☺

mbecker

Avatar von mbecker

Anmeldungsdatum:
16. September 2007

Beiträge: 643

Wohnort: Hahnheim

Hast du die default immer noch deaktiviert, dann fehlt der Eintrag

NameVirtualHost *

ganz am Anfang, noch vor

<VirtualHost *>

nef@rius

(Themenstarter)

Anmeldungsdatum:
11. Juni 2007

Beiträge: 5

stimmt. Leider funktioniert es auch mit nicht. Der Grund warum ich die default deaktiviert habe war eigentlich, dass ich, selbst wenn ich die example.de domain aktiviert hatte, immer auf die default seite gekommen bin. Habe ich die default seite deaktiviert komme ich auf die example.de domain. Dummerweise aber von überall her ☹

Dalai

Avatar von Dalai

Anmeldungsdatum:
16. Juni 2008

Beiträge: 2316

Wohnort: Meiningen

Wie genau greifst du auf die Domain example.de zu? Von welchem Rechner aus?
Hab vor kurzem auch Apache vHosts eingerichtet und festgestellt, dass der ServerName des vHost entweder im DNS oder in der /etc/hosts stehen muss, damit der Name aufgelöst werden kann.

MfG Dalai

nef@rius

(Themenstarter)

Anmeldungsdatum:
11. Juni 2007

Beiträge: 5

also in meiner /etc/hosts steht sowas:

127.0.0.1 example.de domain2.net domain3.com localhost

Zugreifen tu ich von meinen Computer zu Hause. Ich öffne Firefox und geb example.de ein. Daraufhin komme ich auf example.de. Dann geb ich domain2.net ein, die nicht im apache konfiguriert ist, und ich komme auch auf example.de, obwohl default nicht aktiviert ist.

comm_a_nder

Avatar von comm_a_nder

Anmeldungsdatum:
5. Februar 2006

Beiträge: 2533

Wohnort: Dresden

Wenn kein Default Host angegeben ist wird automagisch der erste in der KOnfiguration verfügbare Host genommen, also in der Reihenfolge wie sie in /etc/apache2/sites-enabled auftauchen.
Kontrollieren kann man das mit s

udo apache2ctl -S

Dalai

Avatar von Dalai

Anmeldungsdatum:
16. Juni 2008

Beiträge: 2316

Wohnort: Meiningen

nef@rius hat geschrieben:

Dann geb ich domain2.net ein, die nicht im apache konfiguriert ist, und ich komme auch auf example.de, obwohl default nicht aktiviert ist.

Na logisch. Da die Domain example.de auf alle Adressen zutrifft (VirtualHost *), wird die example.de geladen beim Aufrufen von domain2.net, weil Apache nichts besseres/passendes findet. Das steht auch irgendwo im Wiki oder in der Manpage des Apache, wie das Matching der Seiten/vHosts funktioniert/abläuft.
Du kannst nur die Seiten/vHosts aufrufen, die richtig konfiguriert und aktiviert sind.

MfG Dalai

nef@rius

(Themenstarter)

Anmeldungsdatum:
11. Juni 2007

Beiträge: 5

Alles klar, danke für die Hilfe! Der Fehler lag anscheinend darin, dass ich in der default keinen ServerName angegeben habe. Dadurch sah der output von apache2ctl folgendermaßen aus:

 
apache2ctl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:*                    is a NameVirtualHost
         default server example.de (/etc/apache2/sites-enabled/000-default:2)
         port * namevhost example.de (/etc/apache2/sites-enabled/000-default:2)
         port * namevhost example.de (/etc/apache2/sites-enabled/example.de:1)

Nun habe ich in der default-Datei einen ServerName angegeben, und es funktioniert. Der output von apache2ctl sieht nun folgendermaßen aus:

apache2ctl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:*                    is a NameVirtualHost
         default server example2.de (/etc/apache2/sites-enabled/000-default:2)
         port * namevhost example2.de (/etc/apache2/sites-enabled/000-default:2)
         port * namevhost example.de (/etc/apache2/sites-enabled/example.de:1)
Syntax OK

Danke nochmals für die Hilfe!!!

Antworten |