Apache da acceso denegado en macOS Catalina

8

Tengo el servidor web Apache (el suministrado por Apple) ejecutándose en mi Macbook y funcionó perfectamente, hasta que actualicé a Catalina 10.15. Usé el mismo httpd.conf, pero ahora se muestra

No tiene permiso para acceder a este recurso. El servidor no puede leer el archivo htaccess, negando el acceso para estar seguro

Pensé que Catalina tenía acceso a la carpeta, pero no sé cómo permitir que Apache acceda a la carpeta raíz web (que está dentro de mi carpeta / Users / me / Documents) ya que Apache no es una aplicación / normal.

El puerto 80 está abierto cuando verifico con lsof -nP -i4TCP: 80 | grep LISTEN op nmap, por lo que Apache se inicia.

Configuré un index.html simple en la carpeta raíz, pero el problema persiste. Y cuando elimino el .htaccess de la carpeta raíz de Apache obtengo:

No tienes permiso para acceder a este recurso.

Además, se encontró un error prohibido 403 al intentar utilizar un ErrorDocument para manejar la solicitud.

¿Cuál puede ser el problema aquí?

php y js
fuente

Respuestas:

10

He encontrado la solución, yo mismo.

Es un Catalinaproblema:

  1. Ir a System Preferences=> Security & Privacy=>Full Disk Access
  2. Seleccione una aplicación y vaya a la carpeta raíz del disco y presione Cmd + Shift +. (Punto)
  3. Vaya a / usr / sbin / y seleccione httpd.

Eso funcionó para mí.

php y js
fuente
Acceso completo al disco?
fulvio
Esto no me lo solucionó, pero tengo instalada la aplicación del servidor, lo cual es una complicación adicional. La configuración del directorio de usuario parece correcta, cuando se elimina la URL no se encuentra vs prohibido.
malhal
¡Esto funcionó para mí! Tenga en cuenta que en el paso 2 es necesario hacer clic en el candado en la esquina inferior izquierda para permitir realizar cambios. Si no hay aplicaciones en la lista, haga clic en + para abrir el panel de selección de archivos.
smohadjer
3

Tuve el mismo error, el problema en mi caso fue que macOS Catalina viene con el módulo php deshabilitado de forma predeterminada, en el registro de errores aparece como:

tail / private / var / log / apache2 / error_log

[Mié 26 de febrero 18: 10: 57.123036 2020] [autoindex: error] [pid 3145] [cliente 127.0.0.1:53734] AH01276: No se puede servir el directorio / Library / WebServer / Documents / subdir /: No coincide DirectoryIndex (index.html ) encontrado e índice de directorio generado por el servidor prohibido por la directiva Options

el servidor apache estaba buscando index.html en lugar de index.php por lo que estaba bloqueando el directorio de la lista, descomenté la línea #LoadModule php7_module libexec / apache2 / libphp7.so en /etc/apache2/httpd.conf y reinicié el servidor apache

sudo apachectl restart

y simplemente funciona Espero eso ayude.

bobvivanco
fuente
0

¡La respuesta anterior me salvó la vida!

Probé todas las diferentes configuraciones de Apache posibles, nada funcionó.

Solo una pequeña corrección para el paso 2: haga clic en el signo "+" para agregar una aplicación, navegue a la carpeta raíz y luego presione Cmd + Shift +. (Punto) que mostrará todas las carpetas ocultas y le permitirá ver la carpeta en el paso 3 (/ usr / sbin /)

Desearía que Apple al menos hubiera mostrado algún error en tal caso ...

Lior Gross
fuente
Maldita manzana. ¡Cada vez que lanzan un nuevo sistema operativo, rompen la configuración de todos!
smohadjer