Subversion SVN with Apache2 and DAV
SVN’i Linux üzerinde WebDAV olarak kurabilirsiniz. Yani SVN, Apache üzerinden çalışabilmektedir.
Aşağıda Debian/Ubuntu türevi için komutlar yer almaktadır ama aynı paketlerle diğer sistemlerde de kurabilirsiniz.
# apt-get install subversion libapache2-svn
# mkdir /var/svn ( svn repo lar icin bir dizin yaratıyoruz)
# chown -R www-data:www-data /var/svn/
#chmod -R 770 /var/svn/
# vi /etc/apache2/mods-available/dav_svn.conf
Dav dosyasını konfigüre etmelisiniz. Bu dosya da herşey comment li gelecektir.
Dosyayı aşağıdaki gibi olacak sekilde comment leri kaldırın ya da örneği üzerine kopyalayıp uyarlayın:
<Location /svn>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</Location>
# /etc/init.d/apache2 restart
Apache ‘yi restart ediyoruz ve temel kurulum bitmiş oluyor .User yaratmak için htacess komnutu kullanılır.
# htpasswd2 -c /etc/apache2/dav_svn.passwd test1
İlk user için “-c” parametresi kullanılır ancak sonrakiler için “-m” yani modify kullanmalısınız. Yoksa “-c” ile dosya sıfırdan yaratılır ve eski User ‘lar silinir.
# htpasswd2 -m /etc/apache2/dav_svn.passwd test2
SVN üzerinde repository yaratmak için; “svnadmin” komutu kullanılır.
# svnadmin create /var/svn/proje
# chown -R www-data:www-data /var/svn/proje (Bu dizindeki herşeyin hakkı Apache’nin çalıştığı User ‘da olmalıdır.)
SVN üzerindeki User’ların haklarını ayarlamak için; “/etc/apache2/dav_svn.authz” dosyası kullanılır. Bu dosya başlangıçta olmayacaktır. Bu kendiniz yaratmalısınız.
“/etc/apache2/dav_svn.authz” dosyasının yapısı şu şekildedir.
[groups]
developer=batur,ozan
prjgrp=batur,alp,gokalp
[/]
@developer=rw
alp=rw
eser=r
[proje:/]
@prjgrp=rw
eser=r
Gruplar yaratılabilir ve haklar User ya da Group’a verilir.
r: read
w: write
Gruba hak verirken “@” işareti kullanılır.
“[/]” ile tum svn repoları temsil edilir. “[proje:/]” seklinde sadece belli repolar üzerinde haklar ayarlanabilir.
Eğer hiç hak yapısı kullanmayacaksanız. Her User herşeyi yapacaksa; doğrudan dav conf ‘da “AuthzSVNAccessFile” satırını comment altına alabilirsiniz.
#AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Böylece hak kontrolu yapılmayacaktır. Tüm kullanıcılar tüm repolara ulaşır ve yazar.
Recent Comments