Ana Sayfa  |  Makaleler  | Programlama  | Haberler Forum  |  İpuçları  |  Download  |  E-Mail
     
       
       
         
           
           
           
           
       
   
   
 
SVN : SÜRÜM TAKİP SİSTEMİ
( soner.sag@linuxprompt.com )

 

Giriş

Server 'da SVN çalışacağı için subversion ve subversion-tools paketlerinin yüklü olması gerekir. Server 'da bu paketler yüklü gelmektedir. Subversiyon açık kaynak kodlu bir sürüm takip sistemidir. Dosya ve dizinler üzerinde yapılan her değisikliği hatırlaması en büyük avantajıdır. Böylece gelistirilen  yazılım ya da belgenin eski sürümlerine rahatlıkla ulasabilmeyi mümkün kılar. Çalışılan projelerin takip edilebilmesi, geliştirilen projenin hangi aşamaya geldiğinin gözlemlenebilmesi ve zaman yönetimi açısından büyük avantajlar sağlar.

Apache "mods-available" dizininden dav_snv_load ve dav_svn.conf modülleri "mods-enabled" dizinine linklenmeli veya "a2enmod  <modul_adı>" şeklinde aktif edilmelidir.

SVN  YAPILANDIRILMASI

Subversion'a yeni bir depo eklemek için kullanılacak olan komut

linuxprompt~# svnadmin create </srv/svn/obis_deposu>

şeklinde olmalıdır. Fakat svn kurulu bir sistemde yeniden yapılandırılma yapılırken bu komutun kullanılması gerekmez. Dikkat edilmesi gereken nokta olusturulacak depo dizini üzerinde okuma / yazma yetkisine sahip olmanız gerektiğidir.

oluşturduğunuz depoya yeni bir proje eklemek için

linuxprompt~# svn import /proje_adresiniz file:///depo_adresiniz --m "bilgilendirme iletisi"

komutunu kullanmalısınız.

depoda bulunan bir projeyi yerel 'e almak için

linuxprompt~# svn checkout file://srv/svn/obis_deposu <obis_deposu_yerel>

SVN 'den aldığınız çalışma kopyanızın güncellemesi için

linuxprompt~# svn update

komutu kulllanılır.

Depo 'dan bir dosyayı silmek için

linuxprompt~# svn delete <dosya>

Depo 'dan bir dosyayı kopyalamak için

linuxprompt~# svn copy <dosya>

Depo 'dan bir dosyanın adını değiştirmek veya taşimak için

linuxprompt~# svn move <dosya1> <dosya2>

Üzerinde değişiklik yapılan dosyalar svn commit komutu ile tekrar subvision deposuna gönderilir. --message parametresi ile bilgilendirilme mesajı eklenebilir.

linuxprompt~# svn commit --message "OBIS STABLE haline getirildi"

 

SVN APACHE AYARLARI

 

Location>..</Location> Apace 'nin sunduğu içeriğe erişenleri sınırlayarak belli ölçüde güvenlik sağlayabiliriz. En temel erişim denetimi alan adı ya da IP bloklarına göre denetlenmesidir. Bunu <Directory>..</Directory> bloklarına benzeyen <Location>..</Location> blokları ile yapariz.

SVNPath /srv/svn/obis_deposu

SVN yolu. Yani SVN 'in bulunduğu dizin.
Require valid-user Burada valid-user yerine doğrudan kullanıcıları da ekleyebilirsiniz
AuthType Basic SVN 'e denetleme yapıldığında şifrenin salt metin olarak bulunduğunu belirtmektedir.
AuthName "Ceren Subversion repository" AuthName Direktifi ile korunan bolgenin ismi belirleniyor. Herhangi bir text olabilir.Bu bilgiyi apache ilgili guvenlik modulune gecirecek ve korunulan bolgenin ismi olarak adlandirilacaktir. Bu isim icerisinde bosluk kullanilmamalidir.Eger bosluk kullanilacaksa korunan bolgenin adi cift tirnaklarin arasina yazilmalidir.
AuthUserFile /srv/svn/obis_deposu/obis_passwd Parola dosyası /srv/svn/obis_deposu/obis_passwd dosyasının içindedir.

 

###########
#          SVN
###########
<VirtualHost *:80>
DocumentRoot /srv/www/dev.linuxprompt.com
ServerName svn.linuxprompt.com

     ServerAdmin info@linuxprompt.com

    <Directory "/srv/www/dev.linuxprompt.com">
Options None
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.
</Directory>

    <Location /svn>
DAV svn
SVNPath /srv/svn/obis_deposu
Require valid-user
AuthType Basic
AuthName "Ceren Subversion repository"
AuthUserFile /srv/svn/obis_deposu/obis_passwd
Order deny,allow
Deny from all
Allow from 10.
</Location>

    <Location /websvn>
DAV svn
SVNPath /srv/svn/web_deposu
Require valid-user
AuthType Basic
AuthName "Ceren Subversion repository"
AuthUserFile /srv/svn/web_deposu/web_passwd
Order deny,allow
Deny from all
Allow from 10.
</Location>

</VirtualHost>

 

Yazan : Soner SAĞ
Email : soner.sag@linuxprompt.com