Eu tenho um sistema Ubuntu e instalei o subversion nele. Agora quero criar vários repositórios nele. Todo o repositório deve ter seus próprios logins.
por exemplo---example.com/svn/repo1: usuário--1
exemplo.com/svn/repo2: usuário--2
exemplo.com/svn/repo3: usuário--3
Agora o usuário1 não deve acessar o repo2 e o repo3. & user2 não deve acessar o repo1 & repo3
Consigo criar vários repositórios, mas não os logoins. Por favor, me ajude.
Obrigado
Responder1
Usar dav_svn_module
Aqui está um exemplo de conf, vejalivro svnir mais fundo
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>
Um exemplo de autorização:
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
Responder2
Use svnserve em vez do servidor Apache. Dentro do repositório que você criou, você encontrará um diretório conf. Usando seu editor de texto preferido, edite os seguintes arquivos com estas alterações:
No svnserve.conf, remova o comentário do seguinte: [general]
anon-access = read
(e altere a leitura para nenhuma)
auth-access = write
passwd-db = passwd
No arquivo passwd adicione os nomes de usuário e suas senhas correspondentes no formato nome de usuário = senha
[users]
admin = adminspass
dev1 = devspass
Faça alterações semelhantes em todos os seus repositórios e inicie o svnserve usando o comando:
svnserve -d --foreground -r /root/dir/of/repo
ou seja, se você criou os repositórios em /home/svn conforme descrito em muitos tutoriais, o comando será parecido comsvnserve -d --foreground -r /home/svn
Os repositórios podem ser acessados usando qualquer cliente SVN com a URL:
svn://hostname-or-ip/repo-name