O Apache não inicia no Fedora 15

3

Eu não consigo fazer o Apache iniciar no Fedora 15. Eu baixei um projeto em /var/www/html e mudei para o dono (recursivamente), embora eu não ache que eu mudei nenhum contexto do SELinux ou algo assim. Quando eu corro service httpd start eu recebo:

Starting httpd (via systemctl): Job failed. See system logs and 'systemctl status' for details.
[FAILED]

E quando executo httpd -k start como root, obtenho:

(98)Address already in use: make_sock: could not bind to address 127.0.0.1:80

Não sei por que, mas acho que tem algo a ver com o SELinux. Alguma idéia?

    
por 23173210123987 02.06.2011 / 04:24

5 respostas

4

Você deve fazer o que a saída de erro diz:

See system logs and systemctl status for details.

A segunda mensagem de erro é bem clara para mim: algo já está em execução e usando a porta 80. Execute netstat como root para descobrir qual programa está ocupando a porta 80:

netstat -ntlp

Talvez seja o processo do httpd que foi iniciado no comando anterior. Em caso afirmativo, mate-o antes de tentar novamente ou use restart em vez de start .

    
por 02.06.2011 / 06:28
1

Execute este comando como root para descobrir as portas abertas:

netstat -tpln

Você poderá ver as portas abertas na coluna "Endereço local". Você também verá o PID do processo usando a porta na última coluna. Tente matar o pid por:

kill -9 PID

em que PID é o ID do processo que você acabou de encontrar.

O Apache deve começar agora.

    
por 02.06.2011 / 08:00
1

Também tive este problema e resolvi-o reinstalando o Apache. Digite o terminal (depois de su para raiz, ou coloque sudo antes dos comandos):

# yum remove httpd
Removed HTTPD 100%
# yum install httpd
Installed HTTPD 100%

E depois faça o seu trabalho nos .conf files

Em seguida, digite o terminal:

sudo service httpd start

Isso deve funcionar.

    
por 27.06.2012 / 00:46
0

Está resolvido. Algumas pessoas legais em freenode / # fedora me ajudaram a descobrir que a ferramenta system-config-httpd fazia alguns arquivos (/etc/httpd/conf.d/system-config-httpd.conf e /etc/httpd/conf.d/system- config-httpd.conf.bak), e movendo / removendo-os funcionou; Eu não tenho certeza porque ... algo a ver com systemd

    
por 09.06.2011 / 04:18
0

Apenas para fins educacionais, explicarei: Você provavelmente usou o utilitário de configuração httpd baseado em GUI, fornecido pelo Fedora. Cria o arquivo system-config-http.conf. O Apache carrega primeiro o conf.d "normal" (que tem uma porta de escuta especificada) e começa a escutar nessa porta. O Apache então carrega os arquivos outros .conf e os processa. O novo arquivo de configuração criado pelo utilitário GUI contém (td-da!) Outra diretiva 'listen' para a porta 80! Assim, o Apache "vê" algo que já tem a porta 80 ocupada, de modo que é quando o Apache interrompe o processo de inicialização e sai completamente.

A parte interna de tudo isso é que você nunca verá a porta 80 ocupada por qualquer coisa . Eu fui mordido por isso anos atrás, e apenas agora quando eu instalei o Fedora 15. Eu pensei que certamente eles teriam consertado seu utilitário de configuração para prevenir este comportamento há muito tempo atrás. Errado!

    
por 11.06.2011 / 18:58