Erro ao configurar o Apache no IP secundário

1. Erro ao configurar o Apache no IP secundário

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 08/08/2021 - 17:23h

Prezados,

Tenho um servidor Debian 10, com 2 IPs:
- 10.0.0.51
- 10.0.0.50

Instalei o Tomcat e configurei ele para ouvir apenas no IP 10.0.0.50 na porta 80.
Está funcionando apenas nesse IP.

Instalei o Apache, e quero que ele escute apenas na porta 80 do IP 10.0.0.51.

Sempre que tento iniciar o Apache, recebo:
ago 08 17:14:02 debian apachectl[3420]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
ago 08 17:14:02 debian apachectl[3420]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
ago 08 17:14:02 debian apachectl[3420]: no listening sockets available, shutting down

Configurações de IP:
root@debian:/etc/apache2# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:a7:ea:79 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.51/24 brd 10.0.0.255 scope global noprefixroute enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::104d:ce72:fa09:3f83/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:92:88:2e brd ff:ff:ff:ff:ff:ff
inet 10.0.0.50/24 brd 10.0.0.255 scope global noprefixroute enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe92:882e/64 scope link noprefixroute
valid_lft forever preferred_lft forever


Erro do Apache:
root@debian:/etc/apache2# systemctl status apache2.service
&#9679; apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2021-08-08 17:14:02 -03; 12s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 3420 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

ago 08 17:14:02 debian systemd[1]: Starting The Apache HTTP Server...
ago 08 17:14:02 debian apachectl[3420]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
ago 08 17:14:02 debian apachectl[3420]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
ago 08 17:14:02 debian apachectl[3420]: no listening sockets available, shutting down
ago 08 17:14:02 debian apachectl[3420]: AH00015: Unable to open logs
ago 08 17:14:02 debian apachectl[3420]: Action 'start' failed.
ago 08 17:14:02 debian apachectl[3420]: The Apache error log may have more information.
ago 08 17:14:02 debian systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
ago 08 17:14:02 debian systemd[1]: apache2.service: Failed with result 'exit-code'.
ago 08 17:14:02 debian systemd[1]: Failed to start The Apache HTTP Server.


Alteração realizado no apache2.conf
ServerName 10.0.0.51 


Arquivo sites-enabled/000-default.conf
VirtualHost 10.0.0.51:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>


Como devo proceder?

Obrigado,
Diego M. Rodrigues


  


2. Re: Erro ao configurar o Apache no IP secundário

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 08/08/2021 - 17:31h

Após reiniciar o servidor, o Apache iniciou, nos 2 IPs, enquanto que o Tomcat não subiu.

Como devo proceder?

Atenciosamente,
Diego M. Rodrigues


3. Re: Erro ao configurar o Apache no IP secundário

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 08/08/2021 - 21:16h


não é minha área .. é só uma sugestão .... usa o firewall do servidor para bloquear, no 50 vc da block no apache e no 51 vc bloqueia o tomcat



------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




4. Re: Erro ao configurar o Apache no IP secundário

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/08/2021 - 03:28h


diegomrodrigues escreveu:

Após reiniciar o servidor, o Apache iniciou, nos 2 IPs, enquanto que o Tomcat não subiu.

Como devo proceder?

Atenciosamente,
Diego M. Rodrigues

Diego, de uma verificada:
https://httpd.apache.org/docs/2.4/vhosts/examples.html


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________


5. Re: Erro ao configurar o Apache no IP secundário

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 09/08/2021 - 08:19h


msoliver escreveu:


diegomrodrigues escreveu:

Após reiniciar o servidor, o Apache iniciou, nos 2 IPs, enquanto que o Tomcat não subiu.

Como devo proceder?

Atenciosamente,
Diego M. Rodrigues

Diego, de uma verificada:
https://httpd.apache.org/docs/2.4/vhosts/examples.html


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________


Marcelo,

Seu link me ajudou, mas ainda não está 100% funcional.
Quando ligo o servidor, o Tomcat 9 sobe no IP 10.0.0.50, mas o Apache 2 não sobe, dá um erro na inicialização.
Caso eu execute manualmente o comando systemctl start apache2 ele sobe.

Seguem abaixo meus arquivos de configuração.

/etc/hosts
127.0.0.1       localhost
127.0.1.1 debian
10.0.0.51 exemplo.com

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters


/etc/apache2/apache2.conf
...
#Include ports.conf
...
<Directory />
AllowOverride All
Require all granted
</Directory>

<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>

<Directory /var/www/exemplo>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
...
ServerName exemplo.com
DocumentRoot /var/www/exemplo
Listen 10.0.0.51:80


/etc/apache2/sites-available/exemplo.conf
ServerName exemplo.com
DocumentRoot /var/www/exemplo

<VirtualHost 10.0.0.51:80>
ServerAdmin diego@drsolutions.com.br
DocumentRoot /var/www/exemplo
ServerName exemplo.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>


Execução do comando apache2ctl -S
VirtualHost configuration:
10.0.0.51:80 exemplo.com (/etc/apache2/sites-enabled/exemplo.conf:5)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/exemplo"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33


Qual configuração ainda preciso realizar, para o Apache ouvir apenas o IP 10.0.0.51 e subir automaticamente?

Atenciosamente,
Diego M. Rodrigues


6. Re: Erro ao configurar o Apache no IP secundário

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 09/08/2021 - 16:04h


diegomrodrigues escreveu:


msoliver escreveu:


diegomrodrigues escreveu:

Após reiniciar o servidor, o Apache iniciou, nos 2 IPs, enquanto que o Tomcat não subiu.

Como devo proceder?

Atenciosamente,
Diego M. Rodrigues

Diego, de uma verificada:
https://httpd.apache.org/docs/2.4/vhosts/examples.html


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________


Marcelo,

Seu link me ajudou, mas ainda não está 100% funcional.
Quando ligo o servidor, o Tomcat 9 sobe no IP 10.0.0.50, mas o Apache 2 não sobe, dá um erro na inicialização.
Caso eu execute manualmente o comando systemctl start apache2 ele sobe.

Seguem abaixo meus arquivos de configuração.

/etc/hosts
127.0.0.1       localhost
127.0.1.1 debian
10.0.0.51 exemplo.com

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters


/etc/apache2/apache2.conf
...
#Include ports.conf
...
<Directory />
AllowOverride All
Require all granted
</Directory>

<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>

<Directory /var/www/exemplo>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
...
ServerName exemplo.com
DocumentRoot /var/www/exemplo
Listen 10.0.0.51:80


/etc/apache2/sites-available/exemplo.conf
ServerName exemplo.com
DocumentRoot /var/www/exemplo

<VirtualHost 10.0.0.51:80>
ServerAdmin diego@drsolutions.com.br
DocumentRoot /var/www/exemplo
ServerName exemplo.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>


Execução do comando apache2ctl -S
VirtualHost configuration:
10.0.0.51:80 exemplo.com (/etc/apache2/sites-enabled/exemplo.conf:5)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/exemplo"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex watchdog-callback: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33


Qual configuração ainda preciso realizar, para o Apache ouvir apenas o IP 10.0.0.51 e subir automaticamente?

Atenciosamente,
Diego M. Rodrigues


Diego, boa tarde.
Tinha entendido que eram os dois IPs no Apache ....
Por isso postei a documentação....
No cenário atual, não sei qual a solução...
Desculpe o mal entendido....


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________



7. Re: Erro ao configurar o Apache no IP secundário

Buckminster
Buckminster

(usa Debian)

Enviado em 09/08/2021 - 22:56h

A porta padrão do Tomcat é 8080, mas verifique quem está escutando na porta 80:

ps -ef | grep tomcat

ps -ef | grep apache2

O que me parece é que você está colocando dois serviços na mesma porta. Não rola.
Talvez se colocar o Apache2 na 80 e o Tomcat na 8080.
Você pode colocar o Apache em várias portas com IPs diferentes e o Tomcat também, mas não dá para colocar dois serviços na mesma porta, senão dá conflito.

Veja a mensagem:
ago 08 17:14:02 debian apachectl[3420]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
"O endereço já está em uso".

ago 08 17:14:02 debian apachectl[3420]: no listening sockets available, shutting down
"Nenhum soquete de escuta disponível, desligando".
O soquete, no caso, é a porta.
Normalmente, a porta padrão é a 80 para conexões HTTP ou a porta 443 para conexões HTTPS. No entanto, qualquer conflito de porta com outro processo pode causar um erro AH00072.

Aqui tem um Howto que pode te dar uma luz. Caso não souber Inglês abra o link no Google Chrome e traduza para o Português.
http://tomcat.apache.org/tomcat-3.2-doc/tomcat-apache-howto.html

A título de curiosidade:
ago 08 17:14:02 debian apachectl[3420]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 <<< o Apache não pode se vincular ao endereço [::]:80, que é a porta 80 em todas as interfaces IPv6 disponíveis.

ago 08 17:14:02 debian apachectl[3420]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80 <<< o Apache não pode se vincular ao endereço 0.0.0.0:80, que é a porta 80 em todas as interfaces IPv4 disponíveis.
ago 08 17:14:02 debian apachectl[3420]: no listening sockets available, shutting down


8. Re: Erro ao configurar o Apache no IP secundário

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 10/08/2021 - 20:51h

O endereço 0.0.0.0 na saída do log indica o socket ouvindo nas duas interfaces. Não tenho um computador aqui p testar, maa tente configurar a variável Listen do apache2.conf (ou httpd.conf)
https://httpd.apache.org/docs/2.4/bind.html







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts