Perché l'esecuzione “apachectl -k start” non funziona, ma “sudo apachectl -k start” fa?
Domanda
Sto lavorando sul mio OS X con l'installazione di default di Apache. Per qualche ragione, quando si esegue il comando "apachectl" senza il "sudo" ottengo "non prese di ascolto disponibili / in grado di aprire i registri". Sto indovinando questa è una cosa permissioning, così qualcuno mi può aiutare? Sto usando Apache 2.2.
Inoltre, domanda lato, dove il il file di script Apache che è fondamentalmente la "exe" che Linux esegue? Sto cercando di intergrate mio server con Aptana Studio, e richiede il percorso del Apache installare. So che in Windows, questo sarebbe "C: \ percorso \ a \ httpd.exe", ma io non so come funziona in linux
.Soluzione
il server è in ascolto sulla porta 80? (Solitamente) solo root può aprire le porte sotto 1024. Di qui la necessità di sudo
.
Come si può vedere , un sacco di gente si chiede come ottenere intorno a questo. Una soluzione possibile è quella di effettuare port-forwarding sul router. (Sto assumendo qui che ci si trova dietro un router ...). Poi connessioni sulla porta 80 possono essere inoltrati ad esempio porta 8080. Così non solo a livello locale una necessità di connettersi alla porta 8080. (ci possono essere più eleganti soluzioni ... qualcun altro li posta.)
Altri suggerimenti
Credo che in generale (sia su OS X e Linux - non sono sicuro quale ti riferisci) il binario httpd si trova in: / usr / sbin / httpd
Se avete bisogno di essere in grado di riavviare Apache, e non è possibile farlo come root (per qualsiasi motivo ..), allora potrebbe essere necessario accontentarsi di una 'nota' porta non.
provare questo
(con php) $ A = shell_exec ( 'sudo -u radice -S riavvio /etc/init.d/apache2
password dovrebbe memorizzata in passfile