¿Por qué correr “apachectl -k start” no funciona, pero “sudo apachectl -k start” hace?

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

  •  05-09-2019
  •  | 
  •  

Pregunta

Estoy trabajando en mi OS X con la instalación por defecto de Apache. Por alguna razón, cuando ejecuto el comando "apachectl" sin el "sudo" consigo "no hay socket de escucha disponibles / No es posible abrir los registros." Supongo que esto es una cosa para conceder permiso, por lo que alguien puede ayudarme? Estoy usando Apache 2.2.

Además, pregunta lado, en el que el archivo de comandos de Apache que es básicamente el "exe" que Linux se ejecuta? Estoy intentando intergrate mi servidor con Aptana Studio, y requiere la ruta de la instalación de Apache. Sé que en Windows, esto sería "C: \ ruta \ a \ httpd.exe", pero no sé cómo funciona esto en Linux

.
¿Fue útil?

Solución

¿Está el servidor escucha en el puerto 80? (Por lo general) sólo se permite la raíz para abrir los puertos por debajo de 1024. De ahí la necesidad de sudo .

A medida que puede ver , mucha gente se pregunta Cómo evitar esto. Una posible solución es realizar reenvío de puertos en el router. (Estoy asumiendo aquí que se encuentra detrás de un router ...). A continuación, las conexiones entrantes en el puerto 80 se pueden reenviar a, por ejemplo el puerto 8080. Así lo hace sólo a nivel local una necesidad de conectar con el puerto 8080. (No pueden ser soluciones más elegantes ... alguien más los publicaremos.)

Otros consejos

Creo que en general (tanto en OS X y Linux - No estoy seguro de que uno se está refiriendo a) el binario httpd se encuentra en: / usr / sbin / httpd

Si usted tiene que ser capaz de reiniciar Apache, y no puede hacerlo como root (por cualquier razón ..), entonces puede que tenga que conformarse con un puerto que no es 'conocido'.

Probar

(con php) $ A = shell_exec ( 'sudo -u root -S reinicio /etc/init.d/apache2

contraseña debe almacenada en passfile

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top