Configuração do Apache: “não há soquetes de escuta disponíveis”

4

Estou tentando configurar o apache2 (ele está configurado dentro do Enfinity Suite), mas algo parece dar errado com a configuração.

Se eu definir:

Listen 86

Diz:

(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.: make_sock: could not bind to address 0.0.0.0:86 no listening sockets available, shutting down

Se eu definir:

Listen 127.0.0.1:86

Diz:

(OS 10013) An attempt was made to access a socet in a way forbidden by its access pemissions. :make_sock: could not bind to address 127.0.0.1:86 no listening sockets available, shutting down

Se eu definir uma porta maior que 450, digamos que Escute 127.0.0.1:8080, diz:

(OS 10048)Only one usage of each socket address (protocol/network address/port) is normally permitted.: make_sock: could not bind to address 0.0.0.0:450 no listening sockets available, shutting down

Alguém por favor pode esclarecer o que está acontecendo? (Algumas políticas do Windows?)

    
por Denys S. 19.10.2010 / 18:21

3 respostas

2

Provavelmente, o processo do apache será executado com um usuário efetivo diferente do usuário que o iniciou. Certifique-se de que o usuário que o inicia tenha permissão para criar soquetes de escuta (para portas < 1024 isso deve ser apenas root). Certifique-se também de que a porta que você deseja usar já não esteja sendo usada (com netstat -an ).

Não faz ideia da diferença das mensagens de erro.

    
por 19.10.2010 / 21:33
0

Sim, você deve iniciar o apache como root e isso diminui seus próprios direitos, mas ele precisa ser root para poder vincular-se a portas com menos de 1024, como mencionado acima.

você também pode tentar netstat -nap | grep LISTEN no Linux e procure por algo escutando naquela porta e o -p dirá qual programa já está vinculado a essa porta. se não estiver usando o linux, existem outras ferramentas, como o lsof, que informam essas informações não tão claramente.

    
por 27.10.2010 / 03:07
0

Esses erros que você recebe são do Winsock. Um resumo rápido :

  • OS 10013 : acesso negado
  • OS 10048 : endereço já em uso

Você precisa estar executando o Apache2 como um usuário equivalente ao Administrador para vincular-se a portas abaixo de 1000, mas sua tentativa de vincular-se a: 8080 deve ter funcionado como um usuário normal. É possível que algo mais esteja acampando naquele porto e você tenha azar. Você pode descobrir o que é executando netstat -ano |find "LIST" a partir de um prompt cmd (note que não é semelhante ao Linux). Isso lhe dará o ID do processo do que está acampando naquela porta, que você pode procurar no Gerenciador de Tarefas.

Uma possibilidade externa é que o que você está vendo é uma tentativa de iniciar o Apache2 duas vezes por algum motivo. A primeira instância se liga corretamente às portas corretas, mas a segunda instância não pode porque a primeira está presa nela. Se este for o caso, você pode ter alguns arquivos de log duplicados com timestamps realmente próximos.

    
por 27.10.2010 / 04:00