Apache no está trabajando con la carpeta 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 usé para configurarlo en Sierra.

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

Una sugerencia sobre esta pregunta similar: localhost / userdir en macOS High Sierra es cargar fantasmas. Lo he intentado, pero sigo siendo "Prohibido".

¿Ha cambiado algo entre Sierra y High Sierra, lo que impediría a Apache trabajar con las carpetas de Sites del usuario?

  • ¿Hay una interfaz gráfica de usuario para Apache para Mac OS X (Lion)?
  • Desinstalar / deshabilitar php 5.6.9 osx Yosemite
  • ¿Cómo hago para que mi directory de usuario funcione nuevamente para compartir en la web?
  • Cómo actualizar Apache 2.2 a 2.4 en Mac OS X Mavericks
  • Apache se va a dormir en el nuevo sistema operativo X 10.9
  • ¿Cómo configurar los hosts virtuales de Apache?
  • Usando MAMP 3.4, ¿cómo me actualizo a Apache 2.4 y OpenSSL 1.0.2 para cumplir con los requisitos de ATS iOS 9?
  • Acceso a muchos sitios web en OS X Server en el puerto 80
  • 14 Solutions collect form web for “Apache no está trabajando con la carpeta Sitios de usuario en macOS 10.13 High Sierra”

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

    Verifique el file "/private/etc/apache2/extra/httpd-userdir.conf".

    cambio

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

    a

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

    y reinicia apache.

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

    Solo para ampliar la respuesta de Diogo Lima.

    Con la actualización a High Sierra, Apple hizo copys de la configuration de Apache anterior y agregó un ~ previo a los files * .conf tanto en las carpetas / etc / apache2 como en las / etc / apache2 / extra. Si está utilizando hosts virtuales o hosts ssl-virtuales, también deberá mover sus versiones anteriores para esos files .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 

    Estaba en la misma situación, aparentemente hay algunas líneas más para descomentar en httpd.conf, los vhosts no están activados en High Sierra. – https://apple.stackexchange.com/a/299929/259065

    ¡¡Uf!! Lo descubrí yo mismo.

    Haz estos pasos

    Paso 1: abre tu terminal y ejecuta este command a continuación

     sudo atom /etc/apache2/httpd.conf 

    Y luego desactive la línea quitando el signo "#" antes de

     LoadModule php7_module libexec/apache2/libphp7.so 

    Paso 2: ejecuta el siguiente command mencionado a continuación

     cd /private/etc sudo cp php.ini.default php.ini 

    Paso 3: Luego vaya a su directory /Library/WebServer/Documents y haga una

     sudo chown -R root yourprojectname 

    Regrese a su browser Safari y escriba "http://localhost/yourprojectname"

    Usted está listo para irse.

    Estoy usando MacOS High Sierra 10.13, se actualizó ayer por la mañana.

    Pasé toda la mañana para resolverlo, pero finalmente funcionó. Espero que esto pueda ser útil para alguien.

    Seguí una guía, pero con un ligero cambio.

    Ahora puedo acceder a las carpetas de localhost, pero …

    Antes de la sierra alta era como: http://localhost/~username/smomesite.local

    Ahora es como: http://localhost/smomesite.local

    No más ~username requerido.

    Para permitir el acceso al directory de Sitios, debe agregar lo siguiente a /etc/apache2/httpd.conf :

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

    La configuration pnetworkingeterminada de Apache está configurada como denegada en /, por lo que debe permitir explícitamente el acceso a todo.

    Acabo de tener el mismo problema, y ​​quería hacer exactamente lo que quería (mantenga la raíz en / Library / WebServer / Documents, pero también permita las carpetas de Sites del usuario). No estoy seguro de si esto será útil, pero después de golpear esto durante horas esta noche, mirando línea por línea a través de todos los files .conf, y preguntándome qué pasaba, me di count de que el process de httpd no podía leer mi propio directory de usuario. Por alguna razón, se estableció como 750 y el usuario _www no puede leerlo. Una vez que lo arreglé ejecutando "chmod 755". en mi directory de usuario, la carpeta Sitios apareció enseguida.

    No estoy seguro de cómo obtuvo mi propio directory de usuarios así, ya que parece que tienen un valor pnetworkingeterminado de 755 cuando creo un nuevo usuario. Y ya había verificado varias veces que mi carpeta Sitios estaba configurada en 755.

    Yo tuve el mismo problema. Descomentó las dos líneas a continuación (como ya se sugirió en otra respuesta)

     #LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so #Include /private/etc/apache2/extra/httpd-vhosts.conf 

    Pero todavía tengo el mismo error. El truco para mí fue descomentar estas líneas adicionales en el file httpd.conf:

     #LoadModule userdir_module libexec/apache2/mod_userdir.so #LoadModule include_module libexec/apache2/mod_include.so #LoadModule rewrite_module libexec/apache2/mod_rewrite.so 

    Espero que ayude.

    Sucede que la actualización movió toda su configuration anterior a los files .conf ~ previous. Si mueve /etc/apache2/extra/httpd-userdir.conf~previous a /etc/apache2/extra/httpd-userdir.conf, y /etc/apache2/extra/httpd.conf~previous a / etc / apache2 / extra / httpd.conf, debería funcionar como antes.

     mv /etc/apache2/extra/httpd-userdir.conf /etc/apache2/extra/httpd-userdir.conf~high-sierra mv /etc/apache2/httpd.conf /etc/apache2/httpd.conf~high-sierra mv /etc/apache2/extra/httpd-userdir.conf~previous /etc/apache2/extra/httpd-userdir.conf mv /etc/apache2/httpd.conf~previous /etc/apache2/httpd.conf apachectl restart 

    He tenido el mismo problema. La resolución fue fácil. Vea la respuesta publicada aquí: https://apple.stackexchange.com/a/306390/129503

    Me enfrenté a lo mismo después de que me actualicé a High Sierra el día de hoy. Descubrí que los siguientes files de Apache fueron reemplazados por nuevas versiones. Afortunadamente para todos estos files, existía un ARCHIVO ~ file anterior en la misma carpeta. Acabo de copyr la ~ versión anterior a las originales, reinicié Apache y todo estaba bien.

    En la carpeta /etc/apache2 :

     ./httpd.conf ./extra/httpd-vhosts.conf ./extra/httpd-ssl.conf 

    Ejemplo:

     cp /etc/apache2/httpd.conf~previous /etc/apache2/httpd.conf 

    Acabo de actualizar esta mañana. Usar la carpeta Sitios en / Usuarios / nombre de usuario.

    Respaldado y reemplazado httpd.conf, httpd-userdir.conf y https-vhosts.conf con las ~ variantes anteriores.

    Ran sudo apachectl configtest y obtuvo el error PHP (PHP actualizado a 7 en High Sierra). Editado http.conf para iniciar PHP7 y ahora todo está funcionando de nuevo.

    Reemplazar

     ./httpd.conf ./extra/httpd-vhosts.conf ./extra/httpd-ssl.conf 

    desde más antiguo ~ files anteriores.

    Es posible que obtenga el error del module php5 en httpd.conf, reemplace php5 con php7 y sus sitios deberían comenzar a funcionar.

    Reemplazar

     LoadModule php5_module libexec/apache2/libphp5.so 

    Con

     LoadModule php7_module libexec/apache2/libphp7.so 

    Después de probar todos los methods anteriores, si todavía se le "prohibió" al acceder a localhost, intente agregar virtualhost en su /etc/apache2/extra/httpd-vhosts.conf

    Añadir:

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

    luego reinicia Apache.

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

    funciona bien para mi

    Acabo de actualizar y tenía exactamente los mismos problemas. No uso fantasmas. La solución para mí fue garantizar:

    En https.conf comentario

     LoadModule userdir_module libexec/apache2/mod_userdir.so LoadModule authz_host_module libexec/apache2/mod_authz_host.so LoadModule authz_user_module libexec/apache2/mod_authz_user.so LoadModule authz_core_module libexec/apache2/mod_authz_core.so 

    y asegúrese de que el extra/httpd-user.conf tenga la línea:

     UserDir Sites 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).