Como obtenho o Apache 2.2.17 iniciado?

1

Estou executando o Apache 2.2.17 no Fedora v14. Não consigo acessar o servidor da Web em execução a partir de um navegador e também tenho dificuldades em configurá-lo para escutar na porta 443.

O servidor httpd está em execução:

[me@host ~]$ sudo ps -U root -u root u | grep httpd
root      6592  0.0  3.4 404620 17552 ?        Ss   10:50   0:00 /usr/sbin/httpd -k graceful

Eu então paro o serviço:

[me@host ~]$ sudo apachectl stop

Eu então configurei a diretiva Listen em /etc/httpd/conf/httpd.conf para ouvir nas portas 80 e 443:

Listen 1.2.3.4:80
Listen 1.2.3.4:443 https

(O IP não é 1.2.3.4 , mas o IP real deste host.)

Eu verifiquei as outras diretivas do Apache para ter certeza de que tenho uma pasta de documentos, que é acessível por todos os usuários e que mostrará uma listagem de diretórios da pasta, se eu não especificar index.html etc.

Ao tentar iniciar o httpd , recebo um erro de configuração:

[me@host conf]$ sudo apachectl graceful
(98)Address already in use: make_sock: could not bind to address [::]:443
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs

Nenhum outro serviço parece estar sendo executado na porta TCP 443 (ou porta 80):

[me@host conf]$ sudo netstat -tulpn | grep 443
[me@host conf]$ sudo netstat -tulpn | grep 80

Se eu comentar a diretivaListen de 443% e graceful -reiniciar o serviço httpd , ela será iniciada e ficará visível na lista de processos (via ps , como acima), mas ainda não consigo acessar o host via navegador da Web.

Há algo que eu tenha esquecido na configuração do Apache? Obrigado pelo seu conselho.

    
por Alex Reynolds 27.01.2011 / 22:25

2 respostas

5

Verifique as regras do iptables:

iptables -nv -L

Para adicionar novas regras, edite / etc / sysconfig / iptables:

...
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
...

Para reiniciar o iptables:

#service iptables restart

Para parar o iptables:

#service iptables stop

Para depuração, use tcpdump:

# tcpdump -pn host YOU_IP and not port 22
or
# tcpdump -pn port 443 and icmp
    
por 27.01.2011 / 22:35
0

Acabei de comentar a linha

Listen *:80

e agora está funcionando.

Antes de fazer isso, execute o comando hostname e adicione esse nome ao seu /etc/hosts . Em httpd.conf , tenho o mesmo nome na linha ServerName .

Eu controlei antes que nenhum serviço estava usando essa porta: 80 no meu caso.

    
por 05.01.2013 / 12:43