Por que correr “apachectl -k start” não trabalho, mas “sudo apachectl-k start” faz?
Pergunta
Eu estou trabalhando no meu OS X com a instalação padrão do Apache. Por alguma razão, quando eu executar o comando "apachectl" sem o "sudo" Eu fico "há soquetes de escuta disponível / incapazes de registros abertos." Eu estou supondo que isso é uma coisa permissioning, então alguém pode me ajudar? Eu estou usando Apache 2.2.
Além disso, pergunta lado, onde o arquivo de script Apache que é basicamente o "exe" que executa Linux? Estou tentando intergrate meu servidor com Aptana Studio, e requer o caminho para a instalação do Apache. Eu sei que no Windows, isso seria "C: \ path \ to \ httpd.exe", mas eu não sei como isso funciona na linux
.Solução
é o servidor escuta na porta 80? (Normalmente) apenas a raiz é permitido para portas abertas abaixo de 1024. Por isso, a necessidade de sudo
.
Como você pode ver , muitas pessoas se perguntam como contornar isso. Uma possível solução é realizar encaminhamento de porta em seu roteador. (Estou assumindo aqui que você está atrás de um roteador ...). Em seguida, as ligações de entrada na porta 80 pode ser enviada para, por exemplo, porta 8080. Assim, faz apenas localmente uma necessidade de conectar a porta 8080. (Pode haver soluções mais elegantes ... alguém vai publicá-las.)
Outras dicas
Eu acho que em geral (em ambos OS X e Linux - eu não tenho certeza qual deles você está se referindo a) o httpd binário está localizada em: / usr / sbin / httpd
Se você precisa ser capaz de reiniciar o Apache, e você não pode fazê-lo como root (por qualquer motivo ..), então você pode ter que se contentar com um não 'bem conhecida' porto.
Tente este
(com php) $ A = shell_exec ( 'sudo-u raiz -S /etc/init.d/apache2 restart
senha deve armazenado em PASSFILE