Diberdayakan oleh Blogger.
Tag: , ,

Membuat SVN di Debian dan Tortoise sebagai client




Apakah subversion itu? 
subversion : merupakan suatu repositori yang dibuat sebagai pusat data.
repositori ini sebetulnya mirip dengan file-server, bedanya ia mengingat setiap perubahan yang terjadi di file dan folder tersebut.


Contohnya: Mengerjakan satu project yang sama beramai-ramai dengan source code terpusat di server, kita  sedang ngerjain ABCDE tiba-tiba user lain numpukin dengan EFGH, hilanglah file yang telah kita kerjakan. misalnya yang saya dapat dari salah satu sumber di internet :


Subversion 1

ada 2 user, harry dan sally. mereka bertugas untuk mengerjakan project yang sama sehingga mereka mengakses ke repository yang sama. harry & sally mengedit project A, harry merubah menjadi A' dan sally menjadi A'', asumsi harry melakukan proses penyimpanan terlebih dahulu, sehingga project A sekarang menjadi project A'. baru setelah itu sally melakukan penyimpanan. nah pada proses ini ada kemungkinan sally menumpuk atau menimpa pekerjaan harry dengan pekerjaannya.

kalo yang diatas menggunakan metode file sharing, subversion menggunakan metode solusi copy-modify-merge.

Subversion 2

Detail kasus persis seperti yang dicontohkan diatas, cuman sekarang menggunakan subversion. harry merubah project menjadi A' dan sally merubah menjadi A'', sementara sally sudah menyimpan ke server (commit) terlebih dahulu. ketika harry melakukan penyimpanan ke repository, harry akan mendapat pesan error bahwa modul dia tidak update (karena versioning terakhir adalah sally).

Subversion 3


harry harus melakukan checkout file2 ke repository, setelah proses checkout selesai, baru harry bisa melakukan perubahan dan commit ke repository. lha tapi gimana kalo harry dan sally melakukan edit di file yang sama? wew tetep bisa. subversion mengistilahkan ini dengan conflict. confilct dapat diresolve dengan membandingkan file yang di repository dan file yang ada di komputer harry. bisa dicek satu2 perbedaannya baru kemudian di-merge.
Berikut ini adalah langkah-langkah untuk melakukan konfigurasi subversion tersebut.


1. Langkah pertama install paket subversion apache dan librarynya, berikut adalah perintahnya.

  root@debian: apt-get install subversion apache2 libapache2-svn

Install Paket
2. Tunggu beberapa saat hingga proses instalasi selesai. Jika semua paket sudah terinstalasi semua, buatlah direktori pada server untuk menaruh semua project yang akan dibuat 1 tempat penyimpanan. misalkan pada direktori home/repos, berikut adalah perintahnya. 

   root@debian:/ mkdir /home/repos

3. buatlah direktori repos menjadi kepemilikan user dan group apache :   
 
   root@debian:/ chown –R www-data:www-data /home/repos

Kepemilikan user dan group direktori


4. Tidak selamanya user dan group apache itu www-data tergantung dari file httpd.confnya setelah itu buat directory yang akan di gunakan untuk menyimpan file SVN misalkan direktori project :


   root@debian: /Svnadmin create /home/repos/project

5.  Aktifkan modul2 pendukung.      
     
root@debian: a2enmod authz_user 
root@debian: a2enmod ssl


6.    Edit file dav_svnya, untuk membuka dan mengedit filenya bisa lihat konfigurasi di bawah ini.
root@debian: nano /etc/apache2/mods-enabled/dav_svn.conf

================================================================


# Uncomment this to enable the repository
  DAV svn


  # Set this to the path to your repository

SVNPath /home/repos/project


  # Basic Authentication is repository-wide.  It is not secure unless

  # you are using https.  See the 'htpasswd' command to create and

  # manage the password file - and the documentation for the

  # 'auth_basic' and 'authn_file' modules, which you will need for this

  # (enable them with 'a2enmod').

  AuthType Basic

  AuthName "Subversion Repository"

  AuthUserFile /etc/apache2/dav_svn.passwd

  SSLRequireSSL


  Require valid-user



================================================================

7.  Buat link untuk site enablenya SSL.



root@debian: ln –s /etc/apache2/sites-available/default-ssl  /etc/apache2/sites-enable/000-default-ssl

enabel site SSL
8.   Konfigurasi password siapa saja yang berhak mengakses.

root@debian:/ htpasswd -c /etc/apache2/dav_svn.passwd nanda


konfigurasi password
Parameter -c hanya digunakan sekali karena fungsinya untuk membuat file baru. Apabila anda ingin menambahkan user kedua, ketiga, dst maka tidak perlu menggunakan parameter -c lagi.

9.  Cek apakah konfigurasi masih ada error


root@debian:/ apache2ctl configtest

cek error

10.  jika tidak ada error restart apachenya.

pada tahap selanjutnya bisa install tortoise di windows ataupun ubuntu.. untuk menjalankannya bisa melalui langkah-langkah berikut :

1. create folder misal folder coba --> klik kanan pilih SVN Checkout

tortoise 1
2. Setelah itu akan muncul :

tortoise 2

3. Masukkan url https://ipserver/svn setelah itu klik OK jika berhasil maka akan muncul tampilan :
tortoise

4. Selesai sudah konfigurasi yang telah kita buat :)

refersensi :
1. http://lqman.wordpress.com/2012/05/12/membuat-svn-server-dan-enable-browsing-via-https/
2. http://nyemplunglinux.blogspot.com/2009/03/subversion-server-di-debian-tortoisesvn.html



Novian Nanda Purnama

Lahir di kota Kota Kecil bernama Kota Demak dan didik oleh kedua orang tua yang bijak,jujur,adil dan tentunya sangat baik membuat personalitas diri saya Insha Allah memiliki kepribadian yang adil,jujur dan bertanggung jawab dalam segala hal. Suka akan rivalitas dan tantangan menghadapi sesuatu yang baru, memiliki motivasi untuk terus belajar dan berkembang demi mengembangkan potensi diri guna suatu kemajuan umat dan bangsa.