Namen Basierte VHosts

kriss48

New Member
Hallo,
ich weiss das dieses Thema schon 1000 mal durch gekaut wurde. Ich wende mich aber trotzdem mit der Frage an euch den ich komme einfach nicht weiter. Ich habe ein VServer mit einer festen IP, einer Netzwerkkart und einer Domain. Ich hab noch eine 2te Domain doch die läuft über Unitet Domains. Ich möchte jetzt gerne 2 VHosts anlegen. Dazu habe ich bei Unitet Domains eine Webseiten-Weiterleitung "URL-HIDING (versteckte Weiterleitung)" eingerichtet. Als nächstes habe ich auf meinem VServer unter "/etc/apache2/site-available/ 2 dateien erstellt (domian1 & domain2) diese dann mit a2enside nach site-enable verlinkt. Nach einem restart vom apache2 bekomme ich aber immer diese Fehlermeldung:
Code:
[warn] VirtualHost domain1.tdl:0 overlaps with VirtualHost domain2.tdl:0, the first has precedence, perhaps you need a NameVirtualHost directive
[Thu Aug 21 13:38:12 2008] [warn] NameVirtualHost *:0 has no VirtualHosts
[Thu Aug 21 13:38:12 2008] [warn] NameVirtualHost *:0 has no VirtualHosts
Ich hab gegooglet und ne menge ausprobiert doch ich komm einfach nicht weiter.
Kann mir bitte einer helfen?!:(
 
Ich hab es jetzt so weit bekommen das man die Seiten seperat aufrufen kann aber es kommen immer noch Fehlermeldungen beim restart vom apache2.

Hier meine conf domain1 (VServer):
Code:
NameVirtualHost *
<VirtualHost domain1.tdl>
        ServerAdmin webmaster@domain1.tdl
        ServerName domain1.tdl
        ServerAlias www.domain1.tdl *.domain1.tdl
        DocumentRoot /var/www/domain1
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/domain1/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </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>
</VirtualHost>

Hier meine conf domain2 (Unitet Domians):
Code:
NameVirtualHost 11.22.33.44
<VirtualHost 11.22.33.44>
        ServerAdmin webmaster@domain2.tdl
        ServerName domain2.tdl
        ServerAlias www.domain2.tdl *.domain2.tdl
        DocumentRoot /var/www/domain2
        <Directory /var/www/domain2>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog        /var/log/apache2/domain2.tdl.log
        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>
</VirtualHost>

Hier noch die Meldung wenn ich apache neustarte:
Code:
[warn] NameVirtualHost *:0 has no VirtualHosts
[warn] NameVirtualHost *:0 has no VirtualHosts
 
Code:
[B]NameVirtualHost *[/B]
<VirtualHost [B]domain1.tdl[/B]>
        ServerAdmin webmaster@domain1.tdl
        ServerName domain1.tdl
        ServerAlias www.domain1.tdl *.domain1.tdl
        DocumentRoot /var/www/domain1
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/domain1/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </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>
</VirtualHost>

Hier meine conf domain2 (Unitet Domians):
Code:
[B]NameVirtualHost 11.22.33.44[/B]
<VirtualHost 11.22.33.44>
        ServerAdmin webmaster@domain2.tdl
        ServerName domain2.tdl
        ServerAlias www.domain2.tdl *.domain2.tdl
        DocumentRoot /var/www/domain2
        <Directory /var/www/domain2>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog        /var/log/apache2/domain2.tdl.log
        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>
</VirtualHost>

Hi,
Ich hab ein paar Stellen in deiner Config markiert. Zum einen, solltest du dich für eins entscheiden: NameVirtualHost * oder NameVirtualHost <IP>

Dies muss für jede IP nur einmal angegeben werden.

Dann zu den VirtualHost-Tags. Hier rein schreibst du, welcher IP du den Virtuellen Host zuordnen willst. Also nicht den Domainnamen. Die Domain wird bei ServerName angegeben. (Bei der zweiten Config ist es richtig)
 
Danke!
Hab jetzt beiden für NameVirtualHost & VirtualHost die <IP> eingetragen. Aber die Fehler bestehen weiter hin bei apache2 restart:
Code:
[warn] NameVirtualHost 11.22.33.44:0 has no VirtualHosts
[warn] NameVirtualHost 11.22.33.44:0 has no VirtualHosts

Hab für die 2te Domain die von Unitet Domains verwaltet wird Joomla installiert. Installation ist auch ohne Probleme durch gelaufen. Dann habe ich das Installationsverzeichniss gelöscht und wollte ich mich als Admin einloggen, doch es klappt nicht. Bei der Domain die beim VServer dabei ist war diese Problem nicht. Da habe ich vermutet das es an der einstellung der Vhosts liegt.

Kann es da dran liegen?
 
Der Wert im VirtualHost-Tag muss mit dem Wert bei NameVirtualHost übereinstimmen, also z. B.
Code:
NameVirtualHost *:80
# ...
<VirtualHost *:80>
  ServerName example.com
  # ...
</VirtualHost>
 
Hab ich!
Beide sind jetzt gleich. Jetzt steht halt nicht :0 sonder :80 bei der Warung.
Was ist mit der datei "000-default" die auch im Verzeichniss "site-available" steckt? Ist die Wichtig oder kann die raus?


Loggin Problem mit Joomla gelöst!
Hab über ein anderes Forum noch raus gefunden das es bei United Domains noch eine Weiterleitung über DNS gibt wo ich
Code:
A <IP des Servers>
eingetragen habe. Damit sind die Fehlermedlungen zwar nicht weg aber dafür kann ich mich jetzt im Joomla anmelden.

Danke euch auf jeden fall für die schnelle hilfe....
 
Last edited by a moderator:
Hallo!
Grundsätzlich steht in allen, also auch inkludierten Konfigurationsdateien einmal (1 x) NameVirtualHost * und n-mal:
Code:
<VirtualHost *>
   ServerName blabla.tld
   ...
   ...
   ...
</VirtualHost>
mfG
Thorsten
 
Sowohl NameVirtualHost als auch der VirtualHost-Abschnitt in der Config erfordern die Angabe einer Port-Nummer (in in Kommentar #6 von Roger Wilco zu sehen btw).

Also z.B.:
Code:
NameVirtualHost *[COLOR="Red"]:80[/COLOR]
<VirtualHost: *[COLOR="Red"]:80[/COLOR]>
  ServerName www.example.com
  ...
</VirtualHost>
 
Hallo!
Apache Docs said:
Um namensbasierte virtuelle Hosts zu verwenden, müssen Sie die IP-Adresse (und möglicherweise den Port) des Servers benennen, an der Anfragen für die Hosts entgegengenommen werden.
Apache Docs said:
Wenn Sie vorhaben, mehrere Ports zu nutzen (etwa wenn SSL läuft), sollten Sie dem Argument einen Port hinzufügen, wie zum Beispiel *:80.
Quelle: Name-based Virtual Host Support - Apache HTTP Server

mfG
Thorsten
 
Back
Top