Ich habe einen Server mit einer Reihe von IP-Adressen, und Apache soll nur eine davon abhören. Es hört sich nicht schwer an, und ich habe es vor einiger Zeit schon einmal gemacht, aber diesmal habe ich ein paar Probleme. Nach meinem Verständnis bin ich jetzt hier:
Jeder Ort, an dem Apache auf Port 80 lauscht, lauscht nur auf der richtigen IP.
/etc/apache2$ grep -R ":80" .
./sites-available/default:<VirtualHost 192.168.0.82:80>
./httpd.conf:<VirtualHost 192.168.0.82:80>
./ports.conf:NameVirtualHost 192.168.0.82:80
./sites-enabled/000-default:<VirtualHost 192.168.0.82:80>
Es wird nicht erwähnt, auf 0.0.0.0 zu hören.
/etc/apache2$ grep -R "0\.0\.0\.0" .
Und doch ... Apache weigert sich zu starten.
/etc/apache2$ sudo /etc/init.d/apache2 start
* Starting web server apache2
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
Falls jemand fragt, bin ich nicht an diese Adresse gebunden:
/etc/apache2$ sudo netstat -nap | grep :80
tcp 0 0 192.168.0.83:80 0.0.0.0:* LISTEN 2822/node
Das Fehlerprotokoll bei /var/log/apache2/error.log
sagt nur:
[Wed Aug 08 03:30:18 2012] [notice] caught SIGTERM, shutting down
Habe ich einen Punkt in der Konfiguration von Apache verpasst? Gibt es etwas, woran ich mich nicht erinnern kann? Warum ist das nicht so einfach, wie ich es in Erinnerung hatte?
Listen 192.168.0.82:80
Linie, die ich brauchte. Ich habe die Antwort von cjc gewählt, weil es ein bisschen tiefer ging, warum diese Zeile benötigt wurde. Ich fand es eine schöne Ergänzung, die Kommentare zu erwähnen, die in der mit CentOS gelieferten Apache-Version verwendet wurden. Aber da sich offenbar alle einig sind, dass die Antwort an pauska geht, habe ich sie ihm gegeben. Immerhin bemerke ich an den Überarbeitungen, dass der Kommentar von pauska die Antwort von cjc in seiner jetzigen Form maßgeblich beeinflusst hat.