en Apache en Ubuntu he configurado un vhost, pero en el navegador sigo recibiendo un error "403 Acceso prohibido"; el registro dice " Cliente denegado por la configuración del servidor: / home / remix / ".
Buscando la solución en línea, encontré muchas publicaciones sobre el acceso al directorio (Permitir desde todas, etc.), pero que yo sepa, ya lo hice. En httpd-vhosts.conf hay el siguiente código:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/opt/lampp/htdocs/"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/dummy-host.example.com-error_log"
CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "/home/remix/"
ServerName testproject
ServerAlias testproject
<Directory "/home/remix/">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
También he añadido
127.0.0.1 testproject
al archivo / etc / hosts.
Además, la carpeta / home / remix / contiene un archivo index.html y los vhosts están habilitados en httpd.conf.
¿Hay algo que no esté viendo?
Editar: Esta es la entrada Apache error_log:
[Sat Aug 18 09:15:32.666938 2012] [authz_core:error] [pid 6587]
[client 127.0.0.1:38873] AH01630: client denied by server configuration: /home/remix/
linux
apache-2.2
ubuntu
virtualhost
RemiX
fuente
fuente
Respuestas:
Cambie su configuración de autorización:
... a la versión Apache 2.4 de la misma.
Revise el documento de descripción general de la actualización para obtener información sobre otros cambios que necesite realizar, y tenga en cuenta que la mayoría de los ejemplos de configuración y asistencia que encuentra en Google (así como en este sitio) se refieren a 2.2.
fuente
Verifique los permisos en el directorio. Apuesto a que está configurado para denegar el acceso a cualquier persona que no sea usted, por ejemplo:
Si ve
drwx------
exactamente, entonces este es el caso. Solucionarlo ejecutando:fuente
Asegúrese de que el usuario que ejecuta el
httpd
servicio tenga acceso a estos directorios.fuente
User
parámetro."cliente denegado por la configuración del servidor" significa que el servidor Linux mismo prohíbe el acceso al archivo, no a Apache.
Si proporcionar acceso mediante el cambio de permisos / propiedad / pertenencia al grupo no resuelve el problema, la causa de la ruta puede ser SELinux que prohíbe el acceso a cualquier carpeta que no tenga el contexto SE Linux apropiado como se explica en 'Reubicación de una raíz de documento de Apache en Selinux' .
setenforce 0
que el archivo sea accesiblesetenforce 0
hace que el archivo no sea accesibleEntonces, con seguridad, SELinux prohíbe el acceso, independientemente de los permisos del archivo.
fuente
Otro problema simple (pero complicado) que puede causar este problema a las personas es cuando los directorios de usuarios no están en / home / *, sino en otro lugar, por ejemplo, / nethome / *
El userdir.conf suministrado contiene algo como esto: (pero con Userdir: deshabilitado)
La especificación del directorio asume ~ user == / home / user. Simplemente cambie o agregue la especificación de Directorio para saber dónde están realmente los directorios de inicio del usuario.
¡Bastante obvio, pero me tomó un tiempo descubrirlo! :-P DUH!
por ejemplo, ~ usuario == / nethome / usuario
Vea también más autorización abierta en ese Directorio en general.
fuente