Ho un server con un sacco di indirizzi IP e voglio che Apache ascolti solo uno di essi. Non sembra una cosa difficile da fare, e l'ho già fatto una volta, ma questa volta ho dei problemi. Prima di tutto, ecco dove sono ora, per la mia comprensione:
Ogni posto in cui Apache sta ascoltando la porta 80, sta ascoltando solo sull'IP corretto.
/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>
Non si parla dell'ascolto su 0.0.0.0.
/etc/apache2$ grep -R "0\.0\.0\.0" .
Eppure ... Apache si rifiuta di iniziare.
/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]
Nel caso qualcuno lo chieda, non sono vincolato a quell'indirizzo:
/etc/apache2$ sudo netstat -nap | grep :80
tcp 0 0 192.168.0.83:80 0.0.0.0:* LISTEN 2822/node
Il registro degli errori su /var/log/apache2/error.logdice solo:
[Wed Aug 08 03:30:18 2012] [notice] caught SIGTERM, shutting down
Ho perso un posto nella configurazione di Apache? C'è qualcosa che non ricordo di cercare? Perché non è così semplice come me lo ricordavo?
Listen 192.168.0.82:80linea critica , che è ciò di cui avevo bisogno. Ho scelto la risposta di cjc perché è andata un po 'più in profondità sul perché quella linea fosse necessaria. Ho pensato che menzionare i commenti usati nella versione di Apache fornita con CentOS fosse una bella aggiunta. Ma dato che tutti sembrano concordare sul fatto che la risposta dovrebbe andare a Pauska, sono andato avanti e gliel'ho dato. Dopotutto, noto osservando le revisioni che il commento di Pauska ha influenzato significativamente la risposta di CJC nella sua forma attuale.