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

8

He seguido esta guía para configurar Apache en High Sierra: enlace

Lo usé para configurarlo en Sierra.

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

Una sugerencia sobre esta pregunta similar: localhost / userdir en macOS High Sierra es cargar vhosts. Lo he intentado, pero aún así aparece "Prohibido".

¿Ha cambiado algo entre Sierra y High Sierra que impida que Apache trabaje con las carpetas de los Sitios de los usuarios?

    
pregunta Scott Fyfe 27.09.2017 - 20:48

15 respuestas

8

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

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 reinicie apache.

De: enlace

    
respondido por el Robert 27.09.2017 - 21:51
4

Solo para ampliar la respuesta de Diogo Lima.

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

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
    
respondido por el James Martin 11.11.2017 - 02:18
1

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. - enlace

    
respondido por el Hugo Muralles 10.10.2017 - 08:06
1

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

Copia de seguridad y reemplazo de httpd.conf, httpd-userdir.conf y https-vhosts.conf con las ~ variantes anteriores.

Corrí sudo apachectl configtest y obtuve el error de PHP (PHP actualizado a 7 en High Sierra). Se editó http.conf para iniciar PHP7 y ahora todo vuelve a funcionar.

    
respondido por el Jim Nail 26.11.2017 - 15:48
1

Después de probar todos los métodos anteriores, si aún tienes "prohibido" cuando accedes a localhost, intenta agregar virtualhost en tu /etc/apache2/extra/httpd-vhosts.conf

Añadir:

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

luego reinicia apache.

enlace

funciona bien para mí

    
respondido por el Josh 08.12.2017 - 16:41
0

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 tiene el mismo error. El truco para mí fue descomentar estas líneas adicionales en el archivo 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.

    
respondido por el Mike 13.11.2017 - 00:06
0

Sucede que la actualización movió toda su configuración anterior a los archivos .conf ~ anterior. 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
    
respondido por el Diogo Lima 31.10.2017 - 19:58
0

He tenido el mismo problema. La resolución fue fácil. Consulte la respuesta publicada aquí: enlace

  

Me enfrenté a lo mismo después de actualizar a High Sierra el día de hoy. yo   encontró que los siguientes archivos apache fueron reemplazados por nuevos   versiones Afortunadamente para todos estos archivos existía una   ARCHIVO ~ archivo anterior en la misma carpeta. Acabo de copiar el ~ anterior   Versión de vuelta a las originales, reinició apache y todo fue   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
    
respondido por el Unmesh 22.11.2017 - 02:33
0

Reemplazar

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

de archivos anteriores ~ anteriores.

Es posible que obtenga el error del módulo 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
    
respondido por el Reverselogic 28.11.2017 - 18:02
0

Acabo de actualizar y tuve exactamente los mismos problemas. Yo no uso vhosts. La solución para mí fue asegurar:

En https.conf uncomment

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 extra/httpd-user.conf tenga la línea:

UserDir Sites
    
respondido por el Helen Snaith 20.12.2017 - 09:04
0

Posible solución (después de fallar con todas las sugerencias anteriores). El problema es con el permiso del directorio de inicio. Debe ser ejecutable para el grupo / otros:

sudo chmod go + x / Users / username

donde "username" debe reemplazarse con el nombre de usuario real. Después de esto, ¡funciona!

    
respondido por el Gabor 01.02.2018 - 15:53
0

¡¡Uf !! Lo descubrí yo mismo.

Haz estos pasos

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

sudo atom /etc/apache2/httpd.conf

Y luego Descomente la línea eliminando el signo "#" antes de ella

LoadModule php7_module libexec/apache2/libphp7.so

Paso 2: ejecuta el siguiente comando que se menciona a continuación

cd /private/etc

sudo cp php.ini.default php.ini

Paso 3: Luego ve a tu directorio /Library/WebServer/Documents y haz un

sudo chown -R  root yourprojectname

Vuelva a su navegador Safari y escriba "http://localhost/yourprojectname"

Estás listo para empezar.

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

    
respondido por el Shadab K 29.09.2017 - 14:48
0

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

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

  • Esta es la guía: enlace (¡gracias David Marcus!)
  • Esta es mi modificación en la sección Crear carpeta de sitios : /users/username/Sites/ , agregué la última barra inclinada para que funcione para mí.

Ahora puedo acceder a las carpetas de localhost, pero ...

Antes de high-sierra era como: http://localhost/~username/smomesite.local

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

No se requiere más ~username .

    
respondido por el iGian 16.10.2017 - 13:06
0

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

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

La configuración predeterminada de Apache está establecida en denegado en /, por lo que debe permitir el acceso explícito a todo.

    
respondido por el AGraefe 06.11.2017 - 15:10
0

Acabo de tener este mismo problema y quería hacer exactamente lo que quería (mantener la raíz en / Library / WebServer / Documents, pero también permitir las carpetas de Sitios de usuarios). 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 archivos .conf, y preguntándome qué estaba mal, me di cuenta de que el proceso httpd no podía leer mi Directorio de usuario propio. Por alguna razón, se estableció en 750 y el usuario _www no puede leerlo. Una vez lo arreglé ejecutando "chmod 755". en mi directorio de usuarios, la carpeta de Sitios se mostró hasta arriba.

No estoy seguro de cómo mi propio directorio de usuarios se puso así, ya que parece que están predeterminados en 755 cuando creo un nuevo usuario. Y ya había comprobado varias veces que mi carpeta de Sitios estaba configurada en 755.

    
respondido por el Paul 10.11.2017 - 10:29

Lea otras preguntas en las etiquetas