Não é possível acessar o Apache no meu VirtualBox do CentOS

1

Estou configurando um VirtualBox com o CentOS para que eu possa testar todo o meu código, etc. em uma caixa do Linux, em vez do Windows que eu uso para desenvolvimento.

Acabei de fazer o SSH funcionar (eu SSH para localhost: 2222 e a porta o encaminha para a porta 22 do virtualbox).

Ele está usando o NAT porque, por algum motivo, ele se recusa a iniciar com um adaptador em ponte.

Estou tentando fazer o mesmo com o Apache, para ter um servidor web funcionando.

Eu tenho a porta portforwarded 8888 em localhost para a porta 80 em meu VirtualBox do CentOS, mas não consigo acessar nada com localhost: 8888 no meu navegador?

O Apache também está funcionando:

ps -e | grep httpd
2108  ?      00:00:00 httpd
2110  ?      00:00:00 httpd
2111  ?      00:00:00 httpd
2112  ?      00:00:00 httpd
2113  ?      00:00:00 httpd
2114  ?      00:00:00 httpd
2115  ?      00:00:00 httpd
2116  ?      00:00:00 httpd
2117  ?      00:00:00 httpd

Iptables:

# Generated by iptables-save v1.4.7 on Fri Jan 27 18:26:36 2012
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [32:2278]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-I INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
-I OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
-I INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
-I OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
COMMIT
# Completed on Fri Jan 27 18:26:36 2012

Eu também parei o iptables, então isso não está interferindo. Tentei fazer o telnet na porta 80 da minha máquina virtual do CentOS para ver se funcionaria, e Nem 127.0.0.1 nem [vm ip] funciona para fazer telnet para a porta 80. Ele chega a connecting to [ip] e, em seguida, diz connection closed by foreign host . Para as linhas de escuta no meu httpd.conf, ele diz listen 0.0.0.0:80

Saída de netstat -tlnp | grep http

netstat -tlnp | grep http
tcp        0      0 0.0.0.0:80                       0.0.0.0:*                        LISTEN      2032/httpd
tcp        0      0 :::443                      :::*                        LISTEN      2032/httpd

Quando eu nmap localhost , recebo

[root@CentOS conf]# nmap localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2012-01-28 00:58 WST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000090s latency).
Hostname localhost resolves to 3 IPs. Only scanned 127.0.0.1
Not shown: 993 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
23/tcp  open  telnet
25/tcp  open  smtp
80/tcp  open  http
111/tcp open  rpcbind
443/tcp open  https
631/tcp open  ipp

    
por user1045696 28.01.2012 / 04:03

3 respostas

1

Você copiou e colou as regras do iptables? Se sim, então há um erro:

 _I OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

o sublinhado inserido do hífen.

    
por 28.01.2012 / 11:24
0

Primeiro, você precisa ter certeza de que o apache esteja escutando na interface ethernet (aquela da VM) ou em todos os endereços. Para esta corrida:

sudo netstat -tlnp|grep http

Se não estiver ouvindo a interface externa (ao contrário do loopback one), você terá que alterar a diretiva Listen na configuração do apache e reiniciar o apache (não recarregar).

    
por 28.01.2012 / 05:50
0

No VirtualBox, tente alterar as configurações de rede para Bridge Adapter em vez de NAT e selecione a interface apropriada que você deseja usar (com ou sem fio). Inicie o CentOS e verifique novamente o seu endereço de ethernet (execute ifconfig).

A partir daí, verifique se você já pode acessar o apache usando o novo endereço de ethernet.

No que diz respeito ao ssh on centos, você deve certificar-se de editar o sshd_config e descomentar o seguinte:

Port 22
PermitRootLogin No

Além disso, crie outro usuário além do root e adicione esse usuário em sshd_config:

AllowUsers username
    
por 28.01.2012 / 14:55