Domain geht mit www. aber nicht ohne!

Apache, Lighttpd, nginx, Cherokee
th
Posts: 7
Joined: 2007-12-16 12:16

Domain geht mit www. aber nicht ohne!

Post by th » 2007-12-16 12:29

Ich habe eine neue de-Domain bestellt und eingerichtet. http://www.meinedomain.de/ funktioniert, http://meinedomain.de geht aber nicht, also ohne "www.".

Hier der Auszug aus der Konfiguration des Apache:

Code: Select all

<VirtualHost *>
    DocumentRoot /home/mustermann/public_html
    <Directory />
        AllowOverride All
        Options ExecCgi Includes FollowSymlinks SymLinksIfOwnerMatch Indexes
    </Directory>
    ServerAlias meinedomain.de
    ServerAlias www.meinedomain.de
    ErrorLog /var/log/apache2/meinedomain_error.log
    CustomLog /var/log/apache2/meinedomain_access.log combined
    ServerSignature On
</VirtualHost>


Beim Aufruf von meinedomain.de wird /var/www als DocumentRoot verwendet, also das gleiche wie wenn ich die IP-Adresse oder eine nicht-konfigurierte Domain aufrufe.

Die Aufrufe von meinedomain.de werden auch nicht in die meinedomain_access.log geschrieben, sondern in die allgemeine access.log.

Ich habe weitere Domains auf dem Server, die schon länger eingerichtet sind, die funktionieren alle nach dem gleichen Schema - und dort gab's bisher keine Probleme. Ich habe den VirtualHost-Block also von einer andern Domain 1:1 kopiert und nur die Domainnamen und Verzeichnisse angepasst.

Hat jemand eine Idee, woran das liegen könnte, bzw. wo man den Fehler suchen kann? Ich habe die access.log und error.log durchgesehen und keine Fehler gefunden.

duergner
Posts: 923
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Domain geht mit www. aber nicht ohne!

Post by duergner » 2007-12-16 12:41

Was daran liegt, dass du in dem VHost 2x den Konfig Parameter ServerAlias verwendest und das 2. Auftreten den vorherigen ueberschreibt. Entweder du packst beide in die eine ServerAlias Anweisung rein oder besser nimmst das erste als ServerName.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11134
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Domain geht mit www. aber nicht ohne!

Post by Joe User » 2007-12-16 12:41

Ein ServerAlias zu viel und ein ServerName zu wenig machen viel aus ;)

th
Posts: 7
Joined: 2007-12-16 12:16

Re: Domain geht mit www. aber nicht ohne!

Post by th » 2007-12-16 13:20

Ok, ist nun geändert in:

Code: Select all

<VirtualHost *>
    DocumentRoot /home/mustermann/public_html
    <Directory />
        AllowOverride All
        Options ExecCgi Includes FollowSymlinks SymLinksIfOwnerMatch Indexes
    </Directory>
    ServerName meinedomain.de
    ServerAlias www.meinedomain.de
    ErrorLog /var/log/apache2/meinedomain_error.log
    CustomLog /var/log/apache2/meinedomain_access.log combined
    ServerSignature On
</VirtualHost>


Das ändert aber nichts an der Funktion. Noch der gleiche Effekt wie vorher:

mit www: -> geht so, wie es sein soll
ohne www: -> /var/www

Außerdem funktionierte es bisher bei den alten Domains mit mehreren ServerAlias-Zeilen immer problemlos. Ein Block hat sogar 8 ServerAlias-Zeilen und alle funktionieren einwandfrei.

duergner
Posts: 923
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Domain geht mit www. aber nicht ohne!

Post by duergner » 2007-12-16 13:32

Hmm ... ich wuerde jetzt drauf tippen, dass du den Apache nicht neu geladen hast. ;-)

th
Posts: 7
Joined: 2007-12-16 12:16

Re: Domain geht mit www. aber nicht ohne!

Post by th » 2007-12-16 13:39

/etc/init.d/apache2 reload
/etc/init.d/apache2 restart

Hab ich gemacht.

Wenn ich es nicht gemacht hätte, dann dürfte es ja auch mit www. nicht funktionieren, oder?

Ich habe mal alle alten Blöcke mit ServerAlias auskommentiert. Nun ist nur noch der default-Block auf /var/www und der meinedomain.de-Block da. Trotzdem noch der gleiche Effekt. Irgendwie verhext! Mag er die Domain nicht? Liegt es daran, dass die Domain neu ist? Muss ich die Domain irgendwo anders noch eintragen? (Debian-Server)

Gibt es eine Möglichkeit zu loggen, für welchen VirtualHost-Block sich der Apache entscheidet und warum?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11134
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Domain geht mit www. aber nicht ohne!

Post by Joe User » 2007-12-16 14:17

DNS stimmt?

duergner
Posts: 923
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Domain geht mit www. aber nicht ohne!

Post by duergner » 2007-12-16 14:35

Oder der Browser Cache. ;-)

User avatar
Joe User
Project Manager
Project Manager
Posts: 11134
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Domain geht mit www. aber nicht ohne!

Post by Joe User » 2007-12-16 14:54

Am Browser-Cache liegt es mit Sicherheit nicht, wenn schon clientseitig, dann am lokalen DNS-Cache ;)
Wahrscheinlicher ist allerdings, dass für domain.tld einfah kein passender A-Record vergeben wurde...

th
Posts: 7
Joined: 2007-12-16 12:16

Re: Domain geht mit www. aber nicht ohne!

Post by th » 2007-12-16 15:12

Joe User wrote:Am Browser-Cache liegt es mit Sicherheit nicht, wenn schon clientseitig, dann am lokalen DNS-Cache ;)

Daran liegt es nicht, den hab ich mehrmals gelöscht (Browser-Cache). DSL-Router, der für DNS zuständig sein sollte, rebootet.

Joe User wrote:Wahrscheinlicher ist allerdings, dass für domain.tld einfah kein passender A-Record vergeben wurde...

Kann man das irgendwie überprüfen/abfragen? Der DNS-Server wird vom Provider betrieben. Der Provider schreibt dazu: "Es wird für diesen Domainnamen ein Hosteintrag (A-Record), sowie ein Wildcard Hosteintrag vorgenommen. Somit werden alle Anfragen an die konfigurierte IP-Adresse gesendet, inkl. Mail-Zustellung!"

User avatar
Joe User
Project Manager
Project Manager
Posts: 11134
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Domain geht mit www. aber nicht ohne!

Post by Joe User » 2007-12-16 15:35

Domains und Pfade bitte selbst anpassen, den Rest bitte as-is übernehmen:

Code: Select all

UseCanonicalName On
<Directory "/">
    Options -All +FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
ServerName www.maindomain.tld
ServerAdmin webmaster@maindomain.tld
DocumentRoot "/var/www/localhost/htdocs"
<Directory "/var/www/localhost/htdocs">
    Options -All +FollowSymLinks
    AllowOverride Options FileInfo AuthConfig Limit
    Order allow,deny
    Allow from all
</Directory>
NameVirtualHost *:80
<VirtualHost _default_:80>
    ServerName www.maindomain.tld
    DocumentRoot "/var/www/localhost/htdocs"
    <Directory "/var/www/localhost/htdocs">
        Options -All +FollowSymLinks
        AllowOverride Options FileInfo AuthConfig Limit
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerName vhostdomain.tld
    ServerAlias www.vhostdomain.tld
    DocumentRoot "/home/vhostdomain.tld/public_html"
    <Directory "/home/vhostdomain.tld/public_html">
        Options -All +FollowSymLinks
        AllowOverride Options FileInfo AuthConfig Limit
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog /var/log/apache2/vhostdomain_tld_error.log
    CustomLog /var/log/apache2/vhostdomain_tld_access.log combined
</VirtualHost>

th
Posts: 7
Joined: 2007-12-16 12:16

Re: Domain geht mit www. aber nicht ohne!

Post by th » 2007-12-16 21:10

Damit funktioniert's mit und ohne "www." - aber alles andere funktioniert nicht mehr. Unter anderem habe ich nun ein Fehler 403 beim Zugriff auf Benutzer-Verzeichnisse via http://server/~benutzername/

error.log:

Code: Select all

[Datum] [error] [client 123.45.67.89] client denied by server configuration: /home/benutzername/public_html/

th
Posts: 7
Joined: 2007-12-16 12:16

Re: Domain geht mit www. aber nicht ohne!

Post by th » 2007-12-16 22:17

Habe den Fehler nun gefunden. Basierend auf meiner ursprünglichen Konfiguration fehlte im Default-VirtualHost-Block die Angabe eines ServerName. Wenn ich den ServerName hinzufüge funktioniert's auch mit der neuen Domain mit und ohne "www." ... Bei den alten Domains geht's bei identischer Konfiguration auch ohne ServerName im Default-Block. Aber naja... wenn's hilft...

Komisch, dass ServerName in der Standard-VirtualHost-Datei bei Debian fehlt (/etc/apache2/sites-available/default): http://rafb.net/p/wzPV7Y49.html

User avatar
Joe User
Project Manager
Project Manager
Posts: 11134
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Domain geht mit www. aber nicht ohne!

Post by Joe User » 2007-12-16 23:10

Bei Debian läuft schon seit Sarge einiges schief und es wird immer schlimmer. Es wird langsam höchste Zeit für Debianer, sich in eine für Server besser geeignetere Distribution (Gentoo, OpenSUSE) einzuarbeiten...

jemand
Posts: 14
Joined: 2007-12-12 11:48

Re: Domain geht mit www. aber nicht ohne!

Post by jemand » 2007-12-17 14:30

duergner wrote:Was daran liegt, dass du in dem VHost 2x den Konfig Parameter ServerAlias verwendest und das 2. Auftreten den vorherigen ueberschreibt. Entweder du packst beide in die eine ServerAlias Anweisung rein oder besser nimmst das erste als ServerName.
Das kann aber nicht stimmen. Bei allen meinen Servern trage ich die verschiedenen Server-Aliasse immer einzeln pro Zeile ein und das funktioniert wunderbar.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11134
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Domain geht mit www. aber nicht ohne!

Post by Joe User » 2007-12-17 15:30

Das funktioniert aber nur bis der "Bug" behoben wird...

th
Posts: 7
Joined: 2007-12-16 12:16

Re: Domain geht mit www. aber nicht ohne!

Post by th » 2007-12-18 11:18

Joe User wrote:Das funktioniert aber nur bis der "Bug" behoben wird...

Schreib ich statt mehreren Zeilen dann eine lange Zeile? Ziemlich unübersichtlich!

Code: Select all

ServerAlias meinedomain.de www.meinedomain.de meinedomain.com www.meinedomain.com meinedomain.net www.meinedomain.net meinedomain.eu www.meinedomain.eu meinedomain.info www.meinedomain.info meinedomain.org www.meinedomain.org meinedomain.biz www.meinedomain.biz

Oder kann man das irgendwie geschickt abkürzen?

Code: Select all

ServerAlias meinedomain.* www.meinedomain.*

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

Re: Domain geht mit www. aber nicht ohne!

Post by Roger Wilco » 2007-12-18 17:08

TH wrote:Oder kann man das irgendwie geschickt abkürzen?

Ja, * als Wildcard wird unterstützt.