Tengo un sistema Ubuntu y subversion instalado en él. Ahora quiero crear varios repositorios en él. Todo el repositorio debe tener sus propios inicios de sesión.
por ejemplo---example.com/svn/repo1: usuario--1
ejemplo.com/svn/repo2: usuario--2
ejemplo.com/svn/repo3: usuario--3
Ahora el usuario1 no debe acceder al repositorio2 y al repositorio3. & usuario2 no debe acceder al repositorio1 y repositorio3
Puedo crear múltiples repositorios pero no los inicios de sesión. Por favor, ayúdame.
Gracias
Respuesta1
Utilice dav_svn_module
Aquí hay una configuración de muestra, miralibro svnir más profundo
LoadModule dav_svn_module /usr/lib/apache/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache/mod_authz_svn.so
<IfModule dav_svn_module>
<IfModule authz_svn_module>
<Location /svn>
DAV svn
SVNParentPath /svn
AuthzSVNAccessFile /etc/apache2/svn_authz
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/apache2/svn_passwd
</Location>
</IfModule>
</IfModule>
Un ejemplo de autenticación:
cat /etc/apache2/dav_svn.authz
[groups]
admin = foo
graph = bar
developers = foo,baz
[/]
* =
@admin = rw
@developers = rw
@graph = r
[/branches/prod/*]
* =
@admin = rw
[ZCS:/]
* =
@admin = rw
@developers = rw
@graph = rw
[SYMFONY_PLUGINS:/]
* =
@admin = rw
@developers = rw
[SYMFONY:/]
* =
@admin = rw
@developers = rw
Respuesta2
Utilice svnserve en lugar del servidor Apache. Dentro del repositorio que creaste, encontrarás un directorio conf. Usando su editor de texto preferido, edite los siguientes archivos con estos cambios:
En svnserve.conf, descomente lo siguiente: [general]
anon-access = read
(y cambiar lectura a ninguna)
auth-access = write
passwd-db = passwd
En el archivo passwd agregue los nombres de usuario y sus correspondientes contraseñas en el formato nombre de usuario = contraseña
[users]
admin = adminspass
dev1 = devspass
Realice cambios similares en todos sus repositorios e inicie svnserve usando el comando:
svnserve -d --foreground -r /root/dir/of/repo
es decir, si creó los repositorios en /home/svn como se indica en muchos tutoriales, el comando se verá asísvnserve -d --foreground -r /home/svn
Se puede acceder a los repositorios utilizando cualquier cliente svn con la URL:
svn://hostname-or-ip/repo-name