Jeśli używasz SVN i Apache razem, wykonaj następujące czynności:
zdawać sobie sprawę, że najlepszym poziom uprawnień można zarządzać będzie na podstawie jednej repozytorium.Zakładam, że masz repository1 i repository2
1- wprowadzić odpowiednie użytkownika (-ów) dla każdego repozytorium w oddzielnym pliku:
sudo htpasswd -c -m /etc/apache2/dav_svn_REPOSITORY1.passwd $user_name_for_repository1
sudo htpasswd -c -m /etc/apache2/dav_svn_REPOSITORY2.passwd $user_name_for_repository2
Jeśli chcesz dodać więcej użytkowników do każdego pliku, usuń -c przeprowadzoną dowództwo. ponieważ służy tylko do utworzenia pliku po raz pierwszy.
2- Edit następujący plik:
nano /etc/apache2/mods-available/dav_svn.conf
będziesz mieć przekrój takiego:
<Location /svn>
SVNPath $your svn repository path
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
SSLRequireSSL
</Location>
Kopiuj ten blok dla każdego repozytorium masz, w naszym przypadku trzeba jeszcze jeden blok lubię to . Teraz pozbyć (Usuń) powyżej bloku i dodaj następujący blok które są zmieniane kopie powyżej jednego:
<Location /svn/repository1>
SVNPath $your svn repository1 path
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn_REPOSITORY1.passwd
Require valid-user
SSLRequireSSL
</Location>
<Location /svn/repository2>
SVNPath $your svn repository2 path
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn_REPOSITORY2.passwd
Require valid-user
SSLRequireSSL
</Location>
3- Zapisz plik i ponownie uruchomić Apache.
Zauważ, że musisz ustawić 'AuthzSVNAccessFile <ścieżka do authz>' w pliku dav_svn.conf, jeśli używasz mod_dav_svn apache'a – fishbone