Error de SVN con Apache 2.2: "Prohibido. No tienes permiso para acceder a /repos en este servidor"

Error de SVN con Apache 2.2: "Prohibido. No tienes permiso para acceder a /repos en este servidor"

he estado siguiendoesta guía de instalación de svny cuando intento acceder a mi repositorio de prueba yendo a http://localhost/repos, me autentico correctamente pero aparece esto:

"Forbidden You don't have permission to access /repos on this server"

Aquí está mi archivo subversion.conf:

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


<Location /repos>
   DAV svn
   SVNParentPath /var/www/svn/repos
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic
      AuthName "Subversion repos"
      AuthUserFile /etc/svn-auth-conf
      Require valid-user
#   </LimitExcept>
</Location>

Mi ruta es /var/www/svn/repos y aquí están mis permisos

[root@localhost svn]# ls -la repos/
total 32
drwxr-xr-x. 6 apache apache 4096 Aug 24 11:42 .
drwxr-xr-x. 3 root   root   4096 Aug 24 11:42 ..
drwxr-xr-x. 2 apache apache 4096 Aug 24 13:50 conf
drwxr-sr-x. 6 apache apache 4096 Aug 24 11:42 db
-rwxr-xr-x. 1 apache apache    2 Aug 24 11:42 format
drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 hooks
drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 locks
-rwxr-xr-x. 1 apache apache  229 Aug 24 11:42 README.txt

Si voy a localhost/repos/README.TXT recibo este mensaje.

<D:error><C:error/><m:human-readable errcode="20">
Could not open the requested SVN filesystem
</m:human-readable></D:error>

En su lugar se proporciona cualquier otro nombre de archivo errcode ="2" .

selinux está configurado como permisivo, puedo ver el archivo localhost/index.html ubicado en var/www/html/index.html sin problemas.

He leído un par de publicaciones en el foro con problemas similares sin éxito.

¡Cualquier idea sería apreciada!

EDITAR 1:

Edité mi archivo subversion.conf para cambiarlo, SVNParentPath /var/www/svn/repospero SVNParentPath /var/www/svnparece no tener ningún efecto.

EDITAR 2:

Brain99 lo logró. Cambiando para Location />solucionar el problema y ahora recibo unrepos - Revision 0: /

Powered by Subversion version 1.6.11 (r934486).

Respuesta1

Parece que estás confundiendo las directivas SVNPath y SVNParentPath.

Por lo que publicas, parece que /var/www/svn/reposcontiene un único repositorio. En este caso, utilice

SVNPath /var/www/svn/repos

Sólo si tiene varios repositorios, debe utilizar SVNParentPath. Cada repositorio individual debe ubicarse en una subcarpeta del directorio que configure aquí.

Así que configúrelo en el directorio principal:

SVNParentPath /var/www/svn

O deje la configuración como está y mueva su repositorio actual a un subdirectorio, por ejemplo, /var/www/svn/repos/myRepo

Para obtener más información sobre el uso de mod_dav_svn, consulte laSección de libros SVN en mod_dav_svn

Respuesta2

En primer lugar, verifique que exista el directorio SVNParentPath /var/www/svn/repos. A continuación, ¿hay algún subdirectorio? Debería haber directorios de repositorios con sus propias bases de datos. Si el directorio está vacío o no tiene subdirectorios, cree cualquier repositorio usando el comando svnadmin (llame al manual). ¿Después de la creación el problema todavía existe? luego comente todas las directivas AUTH* y solicite y reinicie Apache. El acceso será anónimo, pero comprobarás si la autorización es o no problema. cuando el acceso es posible, la autorización es un problema. debes configurar esto. debe leer apache man y aprender a administrar AuthUserFile /etc/svn-auth-conf para obtener autorización básica. cuando el problema (con la autenticación comentada) aún existe, el problema está en los derechos de acceso a los archivos. configure el acceso de lectura/escritura al nombre de usuario utilizado por el servidor Apache. ps auxww te dice cual es ese usuario. número de grupo que obtendrá del archivo /etc/passwd. nombre del grupo que obtendrá del archivo /etc/group. después de esto, cuando podrá realizar el pago/actualizar y confirmar, podrá resolver los problemas con la autorización. hay muchas recetas. Puse la pregunta "svn crea mi primer repositorio" en Google y obtuve muchas respuestas. El primero es por ejemplo: http://queens.db.toronto.edu/~nilesh/linux/subversion-howto/ prueba este :)

por cierto. centos es una distribución de Linux similar a Redhat. Puede reiniciar Apache mediante /etc/init.d/httpd start/stop. mire lo que se escribe en los archivos /etc/apache o /etc/httpd (depende de la distribución de Linux y de la configuración predeterminada de Apache).

Respuesta3

Pruebe estas opciones: SVNListParentPath en

información relacionada