2013-09-26 4 views
7

Ich habe einen Server mit mehreren Websites gehostet und unterscheidbar mit Namen-basierten virtuellen Hosting von Apache.Wie legen Sie die Standardwebseite für die Bereitstellung fest, wenn Ihre IP-Adresse als URL eingegeben wird?

Wie stelle ich es so ein, dass eine bestimmte Website gehostet wird, wenn die IP meines Servers in der Adressleiste eingegeben wird?

+0

Hast du jemals diese aus? Ich habe gerade einen Server auf Ubuntu 14.04 aktualisiert und die bestehende 000-default.conf VirtualHost hat einfach aufgehört zu sein aufgerufen, wenn kein Domain-Name übereinstimmt - stattdessen wird der erste alphabetische VirtualHost mit einer ServerName-Direktive aus irgendeinem Grund verwendet. –

+1

Ah, ich musste nur eine IP-Adresse im Standard-VH angeben, anstatt '*: 80' oder' _default_: 80' zu verwenden. Ich bin mir nicht sicher, ob das ein Apache-Bug ist. –

Antwort

15

Was Sie verwenden möchten, ist die _default_VirtualHost.

<VirtualHost _default_:80> 
    DocumentRoot /www/default80 
    # ... 
</VirtualHost> 

Es ist beschrieben here. Wenn nichts anderes mit der Anfrage übereinstimmt, wird der Host _default_ verwendet.

EDIT
Dies auch geschrieben werden könnte:

<VirtualHost *> 
    DocumentRoot /www/default 
    # ... 
</VirtualHost> 

wichtig ist, ist, dass dies die erste VirtualHost in der Konfiguration ist, da Apache sie von oben nach unten passend beginnen wird, die eine auswählen, die passen Sie am besten an ServerName und ServerAlias an.

Dieser Beitrag könnte auch von Interesse sein: Apache default VirtualHost

+0

Ich benutze Debian und ich habe die vhost-Datei erstellt, wie Sie in Sites-verfügbar angegeben, dort war bereits ein '_default' in dort, also änderte ich es und erstellte ein neues' _default_' mit der gleichen Konfiguration ... Ich verlinkte dann diese Dateien mit 'ln -s source dest' in sites-enabled ... als' a2ensite' sagte, es wurde keine Seite gefunden, die übereinstimmte ... es funktioniert immer noch nicht – surfer190

+0

Hast du sichergestellt, dass es der erste 'VirtualHost' in der Config ist ? Das heißt, es hat einen Namen, der vor den anderen Hosts angezeigt wird. Ich denke normalerweise verwenden Sie wie '010-default'' 020-www' '030-forum' als Linknamen in' site-enabled'. – Qben

+0

Wenn Ihre 'apache2.conf' 0 'VirtualHost' hat, Sie aber' 'site-enabled /' 'für alle Ihre vhost-Konfigurationen einschließen, dann muss die Standard-Site vor den anderen Dateien erscheinen. Zum Beispiel funktioniert eine Standard-vhost-Datei namens 'aaaa.default', aber ein' zzzz.default' funktioniert nicht. [Es sei denn 'zzzz.default' ist deine einzige Konfiguration] –

3

nur die Include sites-enabled/ Zeile in Ihrer apache2.conf-Datei und den Pfad zur Datei conf Sie darüber sein Standort Standard wollen hinzuzufügen. von:

Include sites-enabled/ 

zu

Include sites-enabled/mydefault.conf 
Include sites-enabled/ 
+0

Dies ist wahrscheinlich die Antwort, die Sie suchen, die Konfigurationen werden in alphabetischer Reihenfolge geladen, die Option, mit der ich ging, war meine Standardkonfiguration von mysite.conf zu 00-mysite.conf umzubenennen (erinnern Sie sich an a2dissite a2ensite & reload) – Louis