Friday, March 30, 2012

Membangun Server Subversion untuk Pengembangan Perangkat Lunak dalam Tim - part 1

Ini adalah salah satu oleh-oleh saya selama 2 bulan mengadu nasib sebagai IT propesional :D
Oke, hare gene kalau coding sendirian apalagi untuk proyek yang besar dan rumit tentu sangat berat jika dihandle sendirian, kecuali kamu adalah programmer kemaruk yang ingin keuntungan 100% untuk diri kamu sendiri :p.

Untuk itulah gunanya sebuah tim software developer yang bekerja bersama secara serasi, selaras, dan seimbang :p guna mempertahankan hidup sebuah vendor atau yang lebih dikenal sebagai sopwer hos :p.
Melalui sebuah tim, kita bisa coding bersama dengan membagi pekerjaan coding ke dalam beberapa modul-modul berbeda yang bisa dikerjakan setiap anggota tim. Untuk itu perlu adanya sharing kode sumber a.k.a source code.

Kalau kamu adalah seorang developer yang ga gaul, pastilah kamu akan men-sharing source code yang kamu kerjakan dengan cara meng-hosting atau mengirimkannya kepada anggota tim kamu :v
Hal tersebut sederhana dan simpel, namun pernahkah terpikir bagaimana jika banyak revisi yang kamu lakukan kemudian teman kamu meminta source code versi yang terdahulu sebelum kamu edit terakhir kali?
Jika kamu punya backup-nya tentu mudah, namun jika backup hilang? :D
Di sinilah disadari perlunya manajemen sharing source code yang baik dalam sebuah tim.

Untuk mempermudah pekerjaan, telah tersedia tool-tool yang dapat digunakan dalam pengembangan perangkat lunak dalam tim/secara grup. Di antaranya ada CVS, git, dan Subversion (SVN).

Kali ini saya akan membahas SVN
Kenapa kok pilih SVN?
Karena SVN sudah saya coba :v, kebetulan kantor saya juga memakai SVN.
Untuk part 1 ini pembahasan saya hanya sampai instalasi SVN dan konfigurasi SVN dengan web server apache tanpa tambahan security.
Sebagai catatan, saya menggunakan OS Archlinux x86_64, untuk pengguna OS lain harap menyesuaikan. Sebenarnya saya dulu pertama kali nyoba di OpenSUSE tapi OpenSUSEnya udah diganti sama Arch :D.

Instalasi SVN
Untuk menginstall subversion di Archlinux gunakan pacman, buka terminal dan ketik
pacman -S subversion
Instalasi Apache
Setelah SVN terinstall, lanjutkan dengan menginstall Apache. Apache diperlukan agar akses ke server subversion dapat dilakukan melalui protokol http. Untuk instalasi SVN di Archlinux gunakan perintah
pacman -S apache
catatan: kalau pake pacman harus sebagai root yah :)

Konfigurasi Subversion
Langkah berikutnya adalah konfigurasi.
Buat directory untuk menyimpan file-file yang disharing dalam subversion, di sini saya membuat directory di /srv/repo
mkdir -p /srv/repo
Karena /srv tidak masuk dalam /home maka perintah di atas harus dilakukan sebagai root
Kemudian saya ubah permission directory /srv/repo tersebut agar dapat diakses oleh user biasa
chmod -R arch:users /srv/repo
Perintah di atas akan menyebabkan directory /srv/repo menjadi milik user arch dan group users
arch adalah user yang saya pakai (bukan root)

Atau dapat juga mengubah permission dengan perintah berikut seperti yang ditulis dalam halaman wiki Subversion Archlinux
chown -R http.http [directory]
[directory] ini harus diganti menyesuaikan path directory untuk svn di OS kamu

Konfigurasi Apache
Setelah itu, lakukan sedikit oprekan pada konfigurasi apache Archlinux. Sebagai root, edit file
/etc/httpd/conf/httpd.conf

Pastikan baris berikut ini ada pada file tersebut, jika belum ada bisa ditulis sendiri
LoadModule dav_module           modules/mod_dav.so
LoadModule dav_fs_module        modules/mod_dav_fs.so
LoadModule dav_svn_module       modules/mod_dav_svn.so
LoadModule authz_svn_module     modules/mod_authz_svn.so
Kemudian cari baris berikut
Include conf/extra/httpd-vhosts.conf
Jika di depannya ada tanda # hilangkan tanda tersebut
Simpan file /etc/httpd/conf/httpd.conf

Konfigurasi Virtual Host Apache
Sebagai root, edit file
/etc/httpd/conf/extra/httpd-vhosts.conf
Comment semua baris yang ada dalam file tersebut dengan cara menambahkan tanda # di depan masing-masing baris konfigurasi
Kemudian tuliskan konfigurasi berikut:
<Location /repo>
   Allow from all
   DAV svn
   SVNParentPath /srv/repo
   SVNListParentPath On
   SVNAutoversioning On
   SVNReposName "archbox repository"
</location>
catatan :
Location /repo /repo ini harus disesuaikan dengan nama yang ingin kamu gunakan nanti untuk mengakses server SVN lewat broser, kalau pake seperti saya nanti ngaksesnya jadi http://[nama_server/ip_server]/repo
SVNParentPath /srv/repo /srv/repo ini juga harus disesuaikan dengan path SVN kamu, kalau di tas tadi saya kan buatnya di /srv/repo

Restart Apache
Jika Apache belum jalan di start dulu lah :) pake perintah
/etc/rc.d/httpd start
Kalau sudah buat konfigurasi seperti di atas dan udah start apachenya, jangan lupa direstart
/etc/rc.d/httpd restart
Kedua perintah di atas harus dilakukan sebagai root
Jika berhasil, tidak muncul pesan error pada terminal saat kamu melakukan start ataupun restart apache.
Akses server Subversion-nya dengan mengetikkan alamat http://localhost/repo di browser, berikut adalah penampakannya


Oke sampe sini dulu, selanjutnya nanti akan saya tuliskan bagaimana menggunakan server Subversion yang sudah kita setting ini. Buat pengguna OS atau distro linux lain harap menyesuaikan yah, saya rencanya mau tulis untuk distro OpenSUSE juga ntar

UPDATE >> Membangun Server Subversion Part2
Sumber:

0 comments:

Post a Comment

ardhi.web.id. Powered by Blogger.