Ich habe ein Ubuntu-System und darauf Subversion installiert. Jetzt möchte ich mehrere Repositorys darauf erstellen. Alle Repositorys müssen eigene Logins haben.
zum Beispiel --- example.com/svn/repo1 : Benutzer --1
example.com/svn/repo2 : Benutzer--2
example.com/svn/repo3 : Benutzer--3
Jetzt darf Benutzer1 nicht auf Repo2 und Repo3 zugreifen. & Benutzer2 darf nicht auf Repo1 und Repo3 zugreifen
Ich kann mehrere Repos erstellen, aber nicht die Anmeldungen. Bitte helfen Sie mir.
Danke
Antwort1
Verwenden Sie dav_svn_module
Hier ist eine Beispiel-Konferenz, sieheSVN-Buchtiefer gehen
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>
Ein Authz-Beispiel:
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
Antwort2
Verwenden Sie svnserve anstelle des Apache-Servers. Im von Ihnen erstellten Repository finden Sie ein conf-Verzeichnis. Bearbeiten Sie mit Ihrem bevorzugten Texteditor die folgenden Dateien mit diesen Änderungen:
Entfernen Sie in svnserve.conf die Kommentarzeichen aus dem folgenden Eintrag: [general]
anon-access = read
(und ändere „read“ auf „none“)
auth-access = write
passwd-db = passwd
Fügen Sie in der Datei passwd die Benutzernamen und die entsprechenden Passwörter im Format Benutzername = Passwort hinzu
[users]
admin = adminspass
dev1 = devspass
Nehmen Sie ähnliche Änderungen in allen Ihren Repositories vor und starten Sie svnserve mit dem Befehl:
svnserve -d --foreground -r /root/dir/of/repo
Wenn Sie die Repositories in /home/svn erstellt haben, wie in vielen Tutorials beschrieben, sieht der Befehl folgendermaßen aus:svnserve -d --foreground -r /home/svn
Auf die Repos kann mit jedem SVN-Client mit der folgenden URL zugegriffen werden:
svn://hostname-or-ip/repo-name