Eu tenho um servidor com vários endereços IP e só quero o Apache ouvindo em um deles. Não parece algo difícil de fazer, e já fiz isso antes, mas há alguns problemas desta vez. Primeiro, aqui é onde estou agora, para meu entendimento:
Em todo lugar que o Apache está ouvindo a porta 80, está ouvindo apenas no IP correto.
/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>
Não há menção de ouvir no 0.0.0.0.
/etc/apache2$ grep -R "0\.0\.0\.0" .
E ainda ... O Apache se recusa a começar.
/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]
Caso alguém pergunte, eu não estou vinculado a esse endereço:
/etc/apache2$ sudo netstat -nap | grep :80
tcp 0 0 192.168.0.83:80 0.0.0.0:* LISTEN 2822/node
O log de erros em /var/log/apache2/error.log
apenas diz:
[Wed Aug 08 03:30:18 2012] [notice] caught SIGTERM, shutting down
Perdi um lugar na configuração do Apache? Existe algo que não me lembro de procurar? Por que isso não é tão simples quanto eu lembrava?
Listen 192.168.0.82:80
linha crítica , que é o que eu precisava. Selecionei a resposta do cjc porque ela se aprofundou um pouco mais no motivo pelo qual essa linha era necessária. Eu pensei que mencionar os comentários usados na versão do Apache que vem com o CentOS foi uma boa adição. Mas como todo mundo parece concordar que a resposta deve ser pauska, eu fui adiante e dei a ele. Afinal, percebo olhando as revisões que o comentário de pauska influenciou significativamente a resposta do cjc em sua forma atual.