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/repos
pero SVNParentPath /var/www/svn
parece 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/repos
contiene 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