9 votos

Apache no funciona con la carpeta de sitios de usuario en MacOS 10.13 High Sierra

He seguido esta guía para configurar Apache en High Sierra: https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-MacOS-sierra/

Lo utilicé para instalarlo en Sierra.

Pero cuando voy a http://localhost/~scott/ Me sale "Prohibido. No tienes permiso para acceder a /~scott/ en este servidor".

Una sugerencia sobre esta cuestión similar: localhost / userdir en MacOS High Sierra es cargar los vhosts. Lo cual he intentado, pero sigue apareciendo "Prohibido".

¿Ha cambiado algo entre Sierra y High Sierra que impida a Apache trabajar con las carpetas de los sitios de los usuarios?

0 votos

Prueba con apachectl configtest y actualizar la salida

0 votos

Devuelve Syntax OK

0 votos

Bien, por favor, visite la URL localhost/~su nombre de usuario

8voto

Robert Puntos 11

Esto me funcionó cuando me encontré con el mismo problema.

Por favor, compruebe el archivo "/private/etc/apache2/extra/httpd-userdir.conf".

cambiar

#Include /private/etc/apache2/users/*.conf

a

Include /private/etc/apache2/users/*.conf

y reiniciar apache.

De: https://stackoverflow.com/questions/39631351/apache-localhost-403-forbidden-with-MacOS-sierra

0 votos

Esa línea en /private/etc/apache2/extra/httpd-userdir.conf ya está sin comentar, desde el enlace de instrucciones que he seguido.

0 votos

¿ha reiniciado apache "sudo apachectl restart"?

0 votos

Sí. He hecho con todos los cambios en los archivos de configuración de Apache

4voto

lucasweb Puntos 783

Para permitir el acceso al directorio Sites, hay que añadir lo siguiente a /etc/apache2/httpd.conf :

<DirectoryMatch "/Users/.*/Sites">
  Require all granted
</DirectoryMatch>

La configuración por defecto de Apache es denegado en /, por lo que tiene que permitir explícitamente el acceso a todo.

2 votos

Añadido y reiniciado apache. No hizo ninguna diferencia

0 votos

Tuve el mismo problema. Recibía el mensaje "¡Funciona!" en locahost, pero no conseguía que funcionaran los directorios de usuario. La fijación de la regla DirectoryMatch así lo resolvió. Gracias.

4voto

hadi teo Puntos 837

Sólo para ampliar la respuesta de Diogo Lima.

Con la actualización a High Sierra, Apple hizo copias de su configuración anterior de apache y añadió un ~previo a los archivos *.conf tanto en las carpetas /etc/apache2 como en /etc/apache2/extra. Si está utilizando hosts virtuales o ssl-virtual hosts entonces tendrá que mover también sus versiones anteriores para esos archivos .conf.

mv /etc/apache2/extra/httpd-vhosts.conf~previous /etc/apache2/extra/httpd-vhosts.conf
mv /etc/apache2/extra/httpd-ssl.conf~previous /etc/apache2/extra/httpd-ssl.conf

1 votos

Esta fue una instalación limpia de High Sierra, así que no tenía ningún archivo de configuración anterior

0 votos

Entonces, sólo para aclarar, ¿lo tenías funcionando en Sierra, pero no hiciste una actualización, sino una instalación limpia completa? Recuerdo que cuando me puse a trabajar en Sierra que he creado un enlace simbólico desde mi carpeta de sitios a la /Library/WebServer/Documents carpeta y se aseguró de que me había concedido permiso (lectura y escritura). Dado que parece ser simplemente un problema de permisos en esta etapa, ¿has hecho el enlace simbólico y cambiado los permisos?

0 votos

Sí, es correcto. Siempre hago una instalación limpia de las nuevas versiones de MacOS. Soy consciente de que puedo hacer eso, pero quiero mantener tanto /Library/WebServer/Documents y Users/username/Sites como ubicaciones separadas para proyectos web, ya que eso es lo que he podido hacer en MacOS durante los últimos más de 10 años.

3voto

Josh Puntos 131

Después de probar todos los métodos anteriores, si sigue obteniendo "prohibido" al acceder a localhost, intente añadir virtualhost en su /etc/apache2/extra/httpd-vhosts.conf

Añade:

<VirtualHost *:80>
ServerName localhost
DocumentRoot /Library/WebServer/Documents/
</VirtualHost>

y luego reiniciar apache.

https://coolestguidesontheplanet.com/set-up-virtual-hosts-in-apache-on-MacOS-high-sierra-10-13/

me funciona bien

0 votos

No funciona después de añadir y reiniciar Apache.

1voto

Jim Nail Puntos 11

Se acaba de actualizar esta mañana. Usando la carpeta Sites en /Users/username.

He hecho una copia de seguridad y he sustituido httpd.conf, httpd-userdir.conf y https-vhosts.conf por las variantes anteriores.

Ran sudo apachectl configtest y obtuve el error de PHP (PHP actualizado a 7 en High Sierra). Edité http.conf para iniciar PHP7 y ahora todo funciona de nuevo.

0 votos

+1 por incluir la nota sudo apachectl configtest

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X