An Adressen und Ports binden
  
    Konfiguration der vom Apache HTTP Server verwendeten Adressen und
    Ports.
  
  Virtuelle Hosts
  Probleme bezüglich DNS und
    Apache
  
    Überblick
    
      
        core
        mpm_common
      
      
        VirtualHost
        Listen
      
    
    Beim Start bindet sich der httpd an bestimmte Adressen und Ports
    der lokalen Maschine und wartet auf eingehende Anfragen.
    Standardmäßig lauscht er an allen Adressen des Systems.
    Es kann jeodch notwendig sein, ihm mit zuteilen, nur an bestimmten
    Ports zu lauschen oder nur an ausgewählten Adressen, bzw. einer
    Kombination aus beidem. Dies wird oft mit der Funktionalität virtueller Hosts kombiniert, die bestimmt, wie
    der httpd auf verschiedene IP-Adressen, Hostnamen und
    Ports reagiert.
    Die Direktive Listen
    weist den Server an, eingehende Anfragen nur an bestimmten Port(s)
    oder Adress/Port-Kombinationen zu akzeptieren. Wenn bei der
    Listen-Direktive nur eine
    Portnummer angegeben wird, dann lauscht der Server auf allen
    Netzwerkinterfaces an dem angegebenen Port. Ist auch eine IP-Adresse
    angegeben, dann lauscht der Server an der angegebenen Schnittstelle
    auf dem angegebenen Port.  Es können mehrere Listen-Anweisungen verwendet werden,
    um eine Reihe von Adressen und Ports anzugeben, an denen gelauscht
    werden soll. Der Server wird dann auf Anfragen an jeder der
    abgehörten Adressen und Ports antworten.
    Um beispielsweise den Server zu veranlassen, auf allen
    Netzwerkinterfaces sowohl an Port 80, als auch an Port 8000
    Verbindungen zu akzeptieren, geben Sie an:
    
    
Listen 80
Listen 8000
    
    
    Um den Server Verbindungen an Port 80 auf einem Netzwerkinterface
    akzeptieren zu lassen und an Port 8080 auf einem anderen Interface, geben
    Sie an:
      
    
    
Listen 192.0.2.1:80
Listen 192.0.2.5:8000
    
    
    IPv6-Adressen müssen wie im folgenden Beispiel in eckigen
      Klammern angegeben werden:
    
    
      Listen [2001:db8::a00:20ff:fea7:ccea]:80
    
    
    Sich überlappende Listen-Direktiven generieren einen
    fatalen Fehler, der verhindert, dass der Server hochfährt.
    
      (48)Address already in use: make_sock: could not bind to address [::]:80
    
    Diese
    Diskussion im Wiki gibt weitere Tipps zur Fehlerbehebung.
    
  
  
    Betrachtung von IPv6-Besonderheiten
    Eine wachsende Anzahl von Plattformen implementiert IPv6. Die
    APR unterstützt IPv6 auf den meisten
    dieser Plattformen und ermöglicht dem httpd, IPv6-Sockets zu
    verwenden und über IPv6 gesendete Anfragen zu behandeln.
    Für httpd-Administratoren kommt erschwerend die Frage hinzu,
    ob IPv6-Sockets sowohl IPv4- als auch IPv6-Verbindungen handhaben
    können. Zum Betrieb von IPv4-Verbindungen an IPv6-Sockets
    werden auf IPv6 abgebildete IPv4-Adressen so genannete
    IPv4-gemappte IPv6-Adressen verwendet, welche
    standardmäßig auf den meisten Plattformen erlaubt sind.
    Unter FreeBSD, NetBSD und OpenBSD jedoch sind sie
    standardmäßig deaktiviert, um den Systemgrundsätzen
    dieser Plattformen zu entsprechen. Auf Systemen, wo dies
    standardmäßig dekativiert ist, kann dieses Verhalten mit
    einem speziellen configure-Parameter für den
    httpd geändert werden.
    Auf der anderen Seite ist die Verwendung von gemappten Adressen
    bei einigen Plattformen wie Linux und True64 der
    einzige Weg, sowohl IPv4 wie auch IPv6 zu
    verwenden. Wenn Sie möchten, dass der httpd IPv4-
    und IPv6-Verbindungen mit einem Minimum an Sockets behandelt, was
    die Verwendung von IPv4-gemappten IPv6-Adressen erfordert, dann
    müssen Sie die  configure-Option
    --enable-v4-mapped angeben.
    --enable-v4-mapped ist die Voreinstellung auf allen
    Plattformen außer FreeBSD, NetBSD und OpenBSD, so dass Ihr
    httpd wahrscheinlich so übersetzt wurde.
    Geben Sie wie in dem folgenden Beispiel bei allen Listen-Anweisungen eine IPv4-Adresse
    an, wenn Sie möchten, dass Ihr httpd lediglich IPv4-Adressen
    behandelt, unabhängig davon, was Ihre Plattform und die APR
    unterstützen:
    
    
Listen 0.0.0.0:80
Listen 192.0.2.1:80
    
    
    Wenn Sie möchten, dass der httpd IPv4- und IPv6-Verbindungen
    an separaten Sockets behandelt (d.h. IPv4-gemappte Adressen
    deaktiviert werden sollen) und Ihre Plattform es unterstützt,
    dann müssen Sie die configure-Option
    --disable-v4-mapped angeben.  Unter FreeBSD, NetBSD und
    OpenBSD ist --disable-v4-mapped voreingestellt.
  
  
    Angabe des Protokolls bei Listen
    Das optionale zweite Protokoll-Argument von Listen ist für die meisten
    Konfigurationen gar nicht erforderlich. Wenn nicht angegeben, sind
    https für Port 443 und http für
    alle anderen Ports die Voreinstellungen. Die Protokollangabe wird
    sowohl dazu verwendet, herauszufinden, welches Modul Anfragen
    verarbeiten soll, als auch, um protokollspezifische Optimierungen
    bei der AcceptFilter-Direktive
    zu aktivieren.
    Sie müssen das Protokoll nur angeben, wenn Sie
    ungewöhnliche Ports benutzen, beispielsweise https
    auf Port 8443:
    
    
      Listen 192.170.2.1:8443 https
    
    
  
  
    Das Zusammenspiel mit virtuellen Hosts
    Die Direktive Listen
    implementiert keine virtuellen Hosts - sie teilt dem Hauptserver
    lediglich mit, an welchen Adressen und Ports er zu lauschen hat.
    Werden keine VirtualHost-Container verwendet, dann
    verhält sich der Server bei allen angenommenen Anfragen gleich.
    VirtualHost-Abschnitte können jedoch
    dazu verwendet werden, ein unterschiedliches Verhalten für eine
    oder mehrere Adressen und Ports festzulegen. Um einen virtuellen
    Host einzurichten, muss dem Server zunächst mitgeteilt werden,
    an den betreffenden Adressen oder Ports zu lauschen. Dann sollte ein
    VirtualHost-Abschnitt für die
    angebene Adresse und den angegebenen Port erstellt werden, um das
    Verhalten dieses virtuellen Hosts festzulegen. Beachten Sie bitte,
    dass auf einen VirtualHost nicht zugegriffen werden
    kann, wenn er für eine Adresse und einen Port eingerichtet
    wurde, an dem der Server nicht lauscht.