Algumas palavras sobre os erros que você provavelmente salvará de situações semelhantes no futuro.
No Linux, as portas de 0 a 1024 são reservadas para uso do sistema. Isso significa que, para usar um, você deve ter autoridade para alterar - acessar as configurações básicas do sistema. O usuário root possui esses privilégios e pode realmente usar uma porta do intervalo de 0 a 1024.
No seu problema, como você pode ver, o sistema através da resposta do Apache2 indica a raiz do problema ([...] não foi possível vincular o endereço blá blá 80 ):
(13)Permission denied: make_sock: could not bind to address [::]:80
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
Quando o daemon http Apache2 é iniciado, ele tenta ligar a porta 80, pois é a porta padrão para uso em HTTP see , que é uma porta dentro das portas atribuídas pelo sistema e, como tal, só pode ser acessada pela raiz.
Você executou o comando start como um usuário típico sem privilégios de root e levou à falha ao fazê-lo.
Em palavras simples:
Vocês:
Oi Apache2. Eu sou Kongthap e estou lhe dizendo para começar ( /etc/init.d/apache2 start
)
Apache2:
ESTÁ BEM. Estou iniciando (Iniciando o servidor web apache2)
Sistema, por favor, me dê a porta 80 para usar e ouvir conexões.
Sistema:
ESTÁ BEM. Um momento para verificar ...
Ahh ... Desculpe o Apache2, mas não posso deixá-lo rodar na porta 80, é para uso pessoal.
E você não tem os privilégios corretos para vinculá-lo. ( Operation not permitted
)
Apache2:
Ohh, Kongthap eu falhei ao iniciar, o sistema não me deixou fazê-lo ( (13)Permission denied:[...]
)
Conclusão
Existem principalmente duas soluções para esse problema:
Execute o daemon HTTP Apache2 com privilégios de root usando sudo
:
sudo service apache2 start
ou:
sudo /etc/init.d/apache2 start
Alterar a porta padrão 80
da maior algo do que 1024
, digamos 2000
, 2500
, 9000
, etc. Uma porta típica para ser executado quando em tal situação é8080
sudo vi /etc/apache2/ports.conf
procure ou, se não houver, adicione:
Listen 8080
ou qualquer outra porta de sua escolha, como a porta > 1024
e a porta selecionada, não é usada por outro processo.
service
o método preferido?A seguir estão os comandos para iniciar / parar / reiniciar o servidor apache:
Para iniciar:
Parar:
Reiniciar:
fonte
Verifique o contexto da porta selinux emitindo o comando
Se ele estiver presente na lista http_port_t, tudo bem. Caso contrário, adicione sua porta
ou algo que você deseja atribuir.
fonte
Este é um erro do selinux, ou pelo menos foi no meu caso. Altere o booleano, desative o selinux ou defina-o como permissivo
setenforce 0
.A alteração booleana exigiria que você executasse
getenforce -a | grep http
e procure a "permitir conexão de rede http". Copie-o e substitua "on" onde a lista diz "- off"fonte