Configuré Web Sharing en System Preferences en Mac OS X 10.6 e hice clic en el enlace que me dio allí. Desafortunadamente, Apache me dio este error 403:
Prohibido
No tiene permiso para acceder a /~myusername/index.html en este servidor.
El registro de acceso muestra: 10.0.1.2 - - [30/Jun/2010:16:25:15 -0700] "GET /~myusername/ HTTP/1.1" 403 210
Se muestra el registro de errores: [Wed Jun 30 16:26:09 2010] [error] [client 10.0.1.2] client denied by server configuration: /Users/myusername/Sites/
Curiosamente, acceder a http: // localhost funciona bien. Es solo con dos de las carpetas de usuario con las que tengo problemas, la otra carpeta de usuario, que es más nueva que la actualización de mi sistema, funciona bien.
He tenido esto trabajando en mi máquina en Leopard antes, así que cambié todo ~/Sites
a 755, lo que no sirvió de nada. ¿Alguna sugerencia? Supongo que le he hecho algo a mi máquina que causó esto, ya que no puedo imaginar que Apple arruine algo como esto.
Configuré PEAR con estas instrucciones , pero no tengo idea si esa podría ser la causa.
fuente
Respuestas:
Apple tiene un documento de soporte para este problema . La solución del problema implica la creación de un archivo
/etc/apache2/users/yourusername.conf
(su nombre de usuario es el nombre corto de la cuenta , por ejemplodanielbeck
, generalmente es el nombre de su carpeta de inicio/Users
) con el siguiente contenido:Luego, ejecute
sudo chown root:wheel /etc/apache2/users/yourusername.conf
y reinicie Apache.fuente
sudo apachectl restart
en su terminal.Para que Apache vea el archivo, el usuario que Apache ejecuta como (probablemente
www
o_www
) debe tener acceso a los directorios de Sitios de estos usuarios. Tener acceso de lectura / ejecución a los contenidos de~/Sites
no es suficiente, ya que debe permitirse atravesar/
el camino hacia abajo~/Sites
. Así que asegúrese de/
,/Users
,/Users/myusername
, y/Users/myusername/Sites
todos tienen al menosa+x
el permiso (el bit de ejecución en los directorios permite que la clase usuario cruzar el directorio, incluso si no se permite el acceso de lectura).Si alguno de esos directorios no muestra el último
x
conjunto (el de "otros"), utilice algo comochmod a+x ...
configurarlo para ese directorio.Si la ACL de cualquiera de esos directorios muestra que
www
se le ha denegado acceso específicamente al usuario , utilice los argumentos apropiadoschmod
para corregir las ACL.fuente
Como referencia, acabo de tratar esto, y ninguna de las respuestas aquí funcionó en mi caso específico. Estaba configurando hosts virtuales, pero lo más importante, necesitaba que mis archivos htaccess funcionaran realmente.
Cambié en "AllowOverride None" a "AllowOverride All" en mi archivo /etc/apache2/users/USERNAME.conf, y todos mis sitios comenzaron a estar prohibidos.
Lo cambié de nuevo y luego lo cambié solo para un sitio en mi archivo httpd-vhosts.conf, y solo ese sitio estaba prohibido.
Después de mirar los registros y ver que el problema estaba en la reescritura de URL y la falta de FollowSymLinks, volví al archivo USERNAME.conf. Cambié "AllowOverride None" a "AllowOverride All" y agregué "Opciones + FollowSymLinks" en la siguiente línea.
Las cosas comenzaron a funcionar. Vengo de usar xampp en Windows y tenía muchas de estas configuraciones ya establecidas en todo el servidor para tontos como yo.
fuente
Options +FollowSymLinks
funcionó como un encanto.Tuve el mismo problema: mi cuenta (antigua) no era accesible, pero la cuenta de otro usuario que se creó después de actualizar a Lion funcionó bien.
Después de asegurarse de que su /etc/apache2/users/USERNAME.conf se ve así:
hacer una raíz sudo chown: rueda /etc/apache2/users/USERNAME.conf
parece que esta configuración de permisos no se establece durante la actualización del sistema operativo, y el usuario de Apache no puede leer el archivo de configuración y arroja un error.
Al menos esto me lo resolvió.
fuente
sudo apachectl restart
después de eso.actualización para Lion en 10/2011 También tuve que agregar
UserDir habilitado para que mi /etc/apache2/extra/httpd-userdir.conf sea así:
fuente
Conversación continua de los comentarios iniciales de las preguntas: revise su
/etc/apache2/httpd.conf
archivo. En mi máquina, tengo esto:Sospecho que el tuyo está comentado. Recuerdo vagamente haber cambiado esto a mano al pasar de 10.5 a 10.6 y el valor predeterminado cambió.
Esto probablemente sea obvio, pero tendrá que usarlo
sudo
para editar el archivo porque será propiedad de root.fuente
Mi caso es XAMPP + Mac OS X 10.7 + Directorio en la carpeta de Dropbox (referencias cruzadas a mi otra pregunta en Stack Overflow)
403 Access Forbidden es informado por Apache, por lo tanto, seguí el comentario anterior para cambiar el usuario en
/XAMPP/xamppfiles/etc/httpd.conf
, de,User nobody
aUser my_user_name
. Reinicia Apache y funciona bien.fuente
Probablemente no tenga los índices activados. Si no lo hace, deberá crear un archivo de índice (
index.html
oindex.php
) o especificar el archivo explícitamente, es decirhttp://localhost/~me/mypage.html
.fuente
~myusername
, creo.http://localhost/
debe apuntar a/Users/youruser/Sites/
.