macos - resource - you don t have permission to access on this server mac high sierra
Apache localhost 403 error con Yosemite (7)
Acabo de instalar Mac OS X Yosemite fresco. Configuré Apache y modifiqué "users / user / sites" a 755. Cuando presiono localhost recibo un 403 Forbidden "You don''t have permission to access / on this server"
. Lo mismo ocurre con cualquier otro sitio que agregue a mi archivo de hosts.
Intenté configurar directorios de usuarios siguiendo la ayuda de esta publicación . Los chicos en este hilo de MacRumors saben que hay un problema Apache, pero no ofrecieron muchas sugerencias.
Mis permisos de directorio se ven así
drwxr-xr-x 29 root wheel 1054 Aug 11 07:30 /
drwxr-xr-x 6 root admin 204 Aug 11 07:29 /Users/
drwxr-xr-x+ 26 zachshallbetter staff 884 Aug 11 11:57 /Users/zachshallbetter/
0: group:everyone deny delete
drwxr-xr-x 5 zachshallbetter staff 170 Aug 11 10:16 /Users/zachshallbetter/Sites
¿Alguien puede ofrecer alguna sugerencia o ayuda? Aquí hay enlaces a mis hosts y archivos httpd.conf y registros de errores para referencia.
Edite el archivo: /private/etc/apache2/httpd.conf
en la línea 250 (en Yosemite) cambio:
Options FollowSymLinks Multiviews
a:
Options FollowSymLinks Multiviews Indexes
luego en la ejecución Terminal:
sudo apachectl restart
El consejo en este artículo me ayudó.
Específicamente la sección "Solo Yosemite":
En primer lugar, existe una directiva que ayuda a proteger su máquina al negar el acceso a todo el sistema de archivos de manera predeterminada. Le mostraré cómo eliminar esta directiva, ya que me parece más fácil en una máquina diseñada para el desarrollo. La sección de código se ejecuta desde la línea 220 a la 223. Puede comentar (coloque ''#'' delante de cada línea) o simplemente elimine esta sección.
Y la sección es ...
<Directory />
AllowOverride none
Require all denied
</Directory>
Nota:
Como otros han seguido con más detalles, el método descrito anteriormente puede ser inseguro.
Esta podría ser una respuesta tardía, pero seguí la mayoría de las soluciones de desbordamiento de pila. Ninguno de ellos me ayudó por varias razones. Así que reinicié mi dispositivo como un nuevo sistema operativo Yosemite para hacer que este localhost trabaje en Mac Yosemite (también con Symlinks),
Pasos que hice exactamente:
sudo nano /etc/apache2/httpd.conf
Descomente las siguientes líneas:
#LoadModule php5_module libexec/apache2/libphp5.so
to
LoadModule php5_module libexec/apache2/libphp5.so
#LoadModule userdir_module libexec/apache2/mod_userdir.so
to
LoadModule userdir_module libexec/apache2/mod_userdir.so
#Include /private/etc/apache2/extra/httpd-userdir.conf
to
Include /private/etc/apache2/extra/httpd-userdir.conf
Guardar y Salir (Ctrl + X presionar Enter y presionar Y e ingresar de nuevo)
sudo nano /etc/apache2/extra/httpd-userdir.conf
y elimine el comentario de la siguiente línea en la línea 16:
#Include /private/etc/apache2/users/*.conf
to
Include /private/etc/apache2/users/*.conf
Guardar y Salir (Ctrl + X presionar Enter y presionar Y e ingresar de nuevo).
Ahora ve a la carpeta de usuarios de apache para verificar si tu archivo de configuración existe o no
cd /etc/apache2/users/
si no tiene un archivo de configuración en esta carpeta, cree uno
sudo nano /etc/apache2/users/<**YOUR USERNAME**>.conf
Reemplace <YOUR USERNAME>
con el nombre de su máquina (escriba whoami
en el terminal e ingrese ese nombre).
después de crear el archivo .conf, copie debajo de las líneas en ese archivo
<Directory "/Users/<YOUR USERNAME>/Sites/">
AddLanguage en .en
LanguagePriority en fr de
ForceLanguagePriority Fallback
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from localhost
Require all granted
</Directory>
guardar y Salir
Ahora reinicia tu apache
sudo apachectl restart
Ahora vaya a su navegador y escriba localhost, debería funcionar como se esperaba,
Solo como una Nota: si no funciona incluso después de intentar reiniciar su computadora
crea index.html exactamente como index.html.en que deberías encontrar aquí:
open /Library/Webserver/Documents/
Haga clic derecho en index.html.en y duplíquelo en index.html dejando el original tal como está
intenta de nuevo en el navegador y si tienes éxito, puedes eliminar el archivo duplicado
Para que quede claro, deje el archivo original index.html.en
donde está, intacto y sin daños durante este paso.
No estoy seguro de por qué tuve que tomar este desvío misterioso, probablemente algo local en mi máquina, pero si tiene problemas después de seguir la guía anterior, vea si ayuda.
SymLinks :
si tiene éxito, en el navegador debería ver
It works!
Ahora crea un enlace simbólico a tu proyecto.
ln -s <Path_to_your_Project(index_file)> <Path_to_webroot>
Por ejemplo, si tiene una carpeta de proyecto en su carpeta Documentos, apunte webroot a su archivo índice por
ln -s /Users/<YOUR USERNAME>/Documents/project/ /Library/Webserver/documents/projectlink
es posible que necesite permiso para crear un enlace simbólico (use el comando anterior con Sudo)
Configura apache para seguir enlaces simbólicos (Gracias a tomvon, no tengo suficientes puntos para votar por ti)
sudo nano /private/etc/apache2/httpd.conf
en la línea 250 (en Yosemite) cambio:
Options FollowSymLinks Multiviews
a:
Options FollowSymLinks Multiviews Indexes
luego en la ejecución Terminal:
sudo apachectl restart
Ahora vaya a localhost/projectlink
para ver si su archivo de índice de proyecto se muestra aquí en el navegador.
Feliz codificación ...
Hay 2 posibilidades de por qué está prohibido su localhost
, primero puede ser porque su configuración de apache
no es correcta y segundo, puede ser porque usted configuró vhost
y se olvida de establecer el localhost
también.
-
sudo nano /etc/apache2/extra/httpd-vhosts.conf
- Agrega este código
`
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/Users/username/Sites"
<Directory "Users/username/Sites">
Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all
</Directory>
</VirtualHost>
- Guárdalo y reinicia tu apache
`
sudo apachectl restart
debería ser trabajos :)
Las sugerencias pueden centrarse en su propia configuración específica del usuario en apache pero, por defecto, esta configuración podría no cargarse en absoluto.
Edite la configuración del módulo userdir:
sudo vi /etc/apache2/extra/httpd-userdir.conf
Descomente la inclusión de los archivos de configuración del directorio de usuario:
Include /private/etc/apache2/users/*.conf
Asegúrese de tener una configuración de directorio de usuario de acuerdo con nuestro nombre de usuario:
sudo vi /etc/apache2/users/.conf
Asegúrese de tener una buena configuración para su directorio de inicio:
DocumentRoot "/Users/<username>/Sites/" <Directory "/Users/<username>/Sites/"> AllowOverride All Options Indexes MultiViews FollowSymLinks Require all granted </Directory>
Reiniciar apache (servidor web)
sudo apachectl restart
¡Revisa tu sitio!
NO desea abrir la totalidad de su disco duro al proceso del servidor web. De hecho, las líneas 215-217 de httpd.conf
dicen:
# Deny access to the entirety of your server''s filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
Apache 2.4 (OSX 10.10 Yosemite) tiene una estructura diferente de Apache 2.2 (OSX 10.9) para la directiva Directorio en el Módulo mod_authz_core .
EDITAR: Si está configurando Apache desde el INICIO, siga este conjunto de instrucciones para configurar apache y php en OSX 10.10 Yosemite.
Suponiendo que ya tiene habilitado mod_userdir.so
, su problema está dentro de su archivo .conf de usuario ( /etc/apache2/users/username.conf
), edite (o agregue) lo siguiente.
Apache 2.2:
<Directory "/Users/jnovack/Sites/">
Options Indexes MultiViews
AllowOverride All
# OSX 10.9 / Apache 2.2
Order from deny, allow
</Directory>
Apache 2.4
<Directory "/Users/jnovack/Sites/">
Options Indexes MultiViews
AllowOverride All
# OSX 10.10 / Apache 2.4
Require all granted
</Directory>
Simplemente crea la carpeta ''Sitios'' en tu carpeta de usuario. Ir
cd ~
mkdir ''Sitios''