Iniciando Apache2 en Mountain Lion

He probado todas las opciones para que apache2 funcione en Mountain Lion y estoy desconcertado por lo imposible que parece ser la tarea.

Acabo de recibir un iMac nuevo y en una instalación nueva y limpia, configuré apache para atender sitios locales.

Usando los sospechosos habituales de posibles cambios de configuración, puedo hacer que apache realmente "comience", pero luego las cosas van cuesta abajo desde allí.

No importa cómo defina la raíz del servidor local, siempre obtengo un error Prohibido. Puedo cambiar la estructura del directorio a 777 y aún recibo un error de Prohibido.

He configurado la raíz del servidor como predeterminada /Library/WebServer/Documents/, lo configuré en /Users/myUserName/Sites/, /Users/myUserName/Documents/Sitesy /Volumes/ExternalDrive/Site/cualquier otra combinación posible, modificando /etc/apache2/httpd.confy/o /private/etc/apache2/httpd.confademás del archivo vhosts y el archivo myUserName.conf. Nada hace la diferencia.

He reiniciado apache con sudo apachectl restarty sudo apachectl stopseguido de sudo apachectl start.

Nada funciona.

¿Alguien puede ayudarme a resolver este problema? Estoy empezando a querer tirar mi nuevo iMac contra la pared.

Tenga en cuenta que no soy un novato en esto y he configurado docenas de Mac. Sin embargo, nada parece funcionar esta vez. Incluso formateé y reinstalé el sistema nuevamente.

¿Habilitó DirectoryListings en Apache? ¿Tiene un archivo index.html en su WebRoot?
Cuando dices "Me dispuse a configurar apache para atender sitios locales". ¿Qué has hecho? ¿Verificó que Apache funcionó en la instalación del nuevo sistema operativo antes de hacer algo? ¿Qué errores obtienes en el registro de Apache?
¿Hay alguna razón por la que está saltando a través de los aros CLI de Unix para iniciar el servicio cuando en Mac todo lo que uno realmente necesita hacer es ir a, System Preferencesluego elegir Sharingy luego comenzar Web Sharing?
@JakeGould La casilla de verificación para compartir en la web se eliminó en 10.8.
@ComicSans Sí a ambos.
@TonyWilliams ¿Comprobé que Apache funcionara antes de realizar modificaciones en una instalación limpia? Sí. Ya mencioné lo que probé arriba. Probé múltiples configuraciones diferentes, haciendo todos los cambios necesarios en /etc/hosts, /etc/apache2/httpd.conf, /private/etc/apache2/httpd.conf, /etc/apache2/users/myusername.conf, / private/etc/apache2/users/myusername.conf y /etc/apache2/extras/httpd-vhosts.conf. Sin cigarro. Inicié y reinicié y apagué e inicié mi iMac, inicié, detuve/inicié y reinicié apache. Todo fue en vano.
@JakeGould Como dijo Lauri, el uso compartido web se eliminó en 10.8. Pero además de eso, quiero instalar PHP compilado personalizado, MySQL actualizado, el último phpMyAdmin y una serie de otras mejoras. Entonces, antes de instalarlos, necesito asegurarme de que apache se esté ejecutando... y no lo hará.
Me parece bien. Pero recomendaría una alternativa para saltar a través de aros y lidiar con las peculiaridades de Apache en Mac OS: Ejecute Ubuntu en VirtualBox. Hace unos 10 años, yo haría todo lo relacionado con la personalización de Mac OS X para trabajar en la web. Luego pasé a MAMP, que todavía uso pero que no puedo personalizar fácilmente. ¡Ahora he estado usando Ubuntu a través de VirtualBox y funciona muy bien! Si instala Avahi (Bonjour de código abierto) y SMB (Samba), incluso puede montar directorios de Ubuntu como se monta el sistema de archivos en OS X para que pueda editar el código de esa manera. Sin dolores de cabeza esotéricos. ¡Entorno Unix 100% real directamente en tu Mac!

Respuestas (4)

Ejecute este comando para ver si tiene errores en su configuración:sudo apachectl -t

Puedes encontrar más información aquí.

Me sorprende que nadie más haya seguido la ruta de configuración y podría detectar un error de permiso ...
De hecho, resolví este problema haciendo lo que sugieres... hace meses. Debería haber respondido mi pregunta yo mismo cuando resolví el problema. Sin embargo, me alegro de que lo hayas respondido. Ahora puedo aceptar esto, ya que reveló algunos problemas que pude resolver (aunque ya no recuerdo cuáles eran).

sudo apachectl startinicia Apache y habilita /System/Library/LaunchDaemons/org.apache.httpd.plist.

Para hacer http://localhost/~username/el trabajo, guarde algo como esto como /etc/apache2/users/username.conf:

<Directory "/Users/username/Sites/">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

No tuve que editar ningún otro archivo o httpd.conf.

Si realmente tiene dificultades, puede probar VirtualHostX ... es una aplicación para Mac que lo ayuda a configurar Apache para ejecutar múltiples sitios web desde una sola Mac, pero funciona igual de bien con un solo sitio web. Es una aplicación paga, pero tiene un período de prueba de 30 días.

No es el tipo de solución que estoy buscando. También podría probar fácilmente una pila BitNami para Mac OS, o MAMP Pro, pero ninguno de estos es lo mismo que una pila AMP limpia y autogestionada estándar.
Si una pila *AMP estándar, limpia y autogestionada es un objetivo, recomiendo encarecidamente Ubuntu en VirtualBox. Pila LAMP 100% pura y sin pérdida de tiempo (a veces días) lidiando con la tontería de la pila AMP de Mac.

Pruebe MAMP o incluso MAMP Pro, ambos tienen un software que puede iniciar/detener su apache y mysql.

http://www.mamp.info/en/index.html

MAMP Pro también es compatible con hosts virtuales

El problema con MAMP y MAMP Pro es que tardan en actualizar los componentes. Por supuesto, podría continuar y actualizarlos yo mismo, pero entonces, ¿por qué instalar un software que emula un software y actualizar el software que emula cuando está disponible de forma nativa en el sistema?