Perché l'esecuzione “apachectl -k start” non funziona, ma “sudo apachectl -k start” fa?

StackOverflow https://stackoverflow.com/questions/904606

  •  05-09-2019
  •  | 
  •  

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

.
È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top