Langkahnya :
- Install Subversion.
- Setelah Subversion terinstall maka kita harus membuat repository project. Kita contohkan repositori kita berada pada directori
/opt/repo/. - Buka directory
/opt/repo/dan kita lihat apa saja yang ada didalamnya. - Di dalam direktori conf terdapat 3 buah file yaitu auntz, passwd dan svnserver.conf. Sekarang kita buka file snvserver.conf menggunakan text editor.
- Hilangkan tanda pagar pada bagian
anon-access=readkemudian ganti read menjadi write. Dengan konfigurasi ini maka repositori kita dapat diakses oleh anonimouse user. Kemudian coba kita jalankan svnserv yang merujuk pada repositori ini. - Sekarang kita akan mencoba men-checkout repository tersebut dari NetBeans. Pilih Versioning=>Subversion=>Checkout. Masukkan
svn://localhost/pada Repository URL, kosongkan username dan password kemudian klick Next. Kemudian pilih Working Direktori pada bagian Local Folder kemudian pilih Next. - Karena repository yang kita buat masih kosong maka NetBeans menanyakan apakah kita ingin membuat project baru.
- Buat sebuah project baru dan pastikan project tersebut berlokasi pada working direktori yang telah kita tentukan sewaktu checkout.
- Apabila proses checkout sudah benar maka pada project baru yang dibuat akan terdapat icon kecil berwarna biru.
- Untuk membuktikan bahwa source project kita telah ada pada repository. Sekarang kita DELETE project kita dari NetBeans yaitu Klick Kanan dan delete. Pastikan untuk men-check option “Also delete source ……” dan pastikan juga semua directori project yang berada pada working directory telah terhapus.
- Sekarang ulangi checkout seperti pada langkah 6. Kali ini karena sudah ada project yang berada pada repository maka pilihan yang dimunculkan oleh NetBeans bukan lagi “Create Project….” tetapi “Open Project”.
- Untuk mencoba buat satu buah project lagi dan pastikan lokasi project tersebut berada pada Working Directory maka pada project yang baru itu juga akan muncul icon-icon berwarna biru seperti pada langkah 9. Ini dikarenakan semua project yang ditempatkan pada working directory oleh NetBeans akan dianggap sebagai project yang akan dimasukkan dalam repository.
sudo svnadmin create /opt/repo/
cd /opt/repo/
Ternyata ada 4 directory yang telah dibuat yaitu conf, db, hooks, lock dan ada beberapa file. Sekarang kita fokuskan pada direktori conf sedangkan detail untuk direktori yang lain silahkan baca di sini.

sudo pico /opt/repo/conf/svnserve.conf
Ada beberapa bagian yang perlu diperhatikan yaitu [general] dan [sasl]. General berisi konfigurasi umum seperti password dan autentikasi sedangkan sasl berisi konfigurasi SASL (Cyrus Simple Authentication and Security Layer).
sudo svnserve -d -r /opt/repo/
Option -d memastikan bahwa svnserve akan berjalan sebagai daemon sedangkan option -r menunjukkan bahwa direktori yang di publish adalah /opt/repo/.
Apabila muncul error svnserve: Can't bind server socket: Address already in use itu berarti daemon svnserve telah di jalankan dan harus dimatikan terlebih dahulu. Untuk mematikannya kita harus menggunakan fungsi kill. Untuk melihat id proses dari svnserve kita bisa menggunakan command ps -A kemudian cari svnserver, pada kolom pertama akan ditemui nomor PID,panggil kill [no pid] untuk mematikan.


Icon berwarna biru menandakan bahwa ada bagian project yang telah diubah tetapi belum di Commit atau di masukkan dalam repository. Klik kanan pada project kemudian pilih Subversion=>Commit. Maka icon-icon berwarna biru akan hilang menandakan bahwa source project telah di Commit atau telah dimasukkan dalam repository.

Setelah kita men-click Open Project maka project yang telah kita delete sebelumnya akan terbuka kembali dan Source pada working directory yang telah di delete akan muncul kembali.
Pada konfigurasi diatas semua orang dapat dengan leluasa mengakses repository. Nah bagaimana kalau kita ingin hanya orang-orang tertentu saja yang dapat mengakes repository.
Sekarang kita kembali ke directory konfigurasi seperti pada langkah 3 diatas dan buka file svnserve.conf.
Pada file tersebut kita telah melakukan perubahan yaitu dengan mengaktifkan (menghilangkan tanda #) baris anon-access=read dan mengganti isinya dengan write. Baris anon-access merupakan konfigurasi yang menentukan tingkat akses user anonymos (user tanpa autentikasi) apakah hanya read, write atau none. Sebagai informasi konfigurasi default pada baris ini adalah read dan hak akses write disini berarti user dapat membaca maupun menulis pada repository (read/write). Sedangkan pada baris realm merupakan nama dari repositori.
Coba kita lihat baris auth-access, disini merupakan konfigurasi untuk akses user yang telah ter-autentikasi dengan default adalah write. Nah pertanyaannya adalah “User mana yang telah ter-autentikasi ?”.
Untuk menjawabnya perhatikan baris password-db dan authz-db. Dua baris tersebut merujuk pada passwd dan authz yang sebenarnya keduanya adalah nama file konfigurasi terpisah dan kedua file tersebut juga terdapat pada direktori conf. File passwd merupakan konfigurasi untuk username dan password sedangkan file authz merupakan konfigurasi untuk user/group managemen serta hak akses masing-masing user/group.
Pada file passwd terdapat beberapa baris dibawah tag [users] yang merupakan contoh format penulisan username dan password.
Sedangkan pada file authz berisi beberapa tag antara lain [aliases],[groups],[/foo/bar] dan [repository:/baz/fuz].
Dibawah tag [aliases] terdapat contoh penulisan alias sebuah user. Format penulisannya sama seperti format identifikasi pada LDAP yang mengartikan CN=Common Name, OU=Organitation Unit, O=Organitation dan lain-lain.
Dibawah tag [groups] terdapat contoh penulisan group. Dengan format Nama_Group = user1, user2, user3, userN. Nama User di pisahkan oleh tanda koma (,).
Dibawah tag [/foo/bar] merupakan konfigurasi untuk hak akses /foo/bar sendiri sebenarnya adalah nama direktori yang akan diakses sehingga kita dapat merubah /foo/bar dengan nama directory yang kita inginkan. Sedangkan untuk penulisan hak akses dapat dilihat pada contoh yang sudah disediakan yaitu Nama_user/group = r/rw/'', r berarti Read, RW berarti Read Write dan ” (kosong) berarti none.
Untuk tag [repository:/baz/fuz] hampir sama dengan tag [/foo/bar] hanya saja ada sedikit perbedaan. Untuk lebih jelas silahkan baca di sini.
Server Subversion menggunakan konsep direktori based (ini istilah saya
) dalam arti kita dapat mengisikan direktori apapun pada saat menjalankan server (langkah 5). Direktori yang kita masukkan pada saat menjalankan server akan menjadi root directori sehingga dapat langsung diakses dengan svn://localhost/.
Dan apabila kita ingin menjalankan server untuk dua repositori atau lebih. Seluruh repositori tersebut harus berada pada direktori yang sama kemudian jalankan server pada direktori yang menampung repositori-repositori tersebut.
Contoh :
Ada dua buah repositori real dan test. Kedua repositori tersebut berada pada direktori /opt/repos/. Maka jalankan server dengan command sudo svnserve -d -r /opt/repos/.
Maka ketika meng-akses repositori dari NetBeans alamat svn://localhost/ tidak akan menghasilkan apa-apa karena alamat tersebut baru merujuk pada direktori /opt/repos/ yang bukan merupakan repositori. Sedangkan untuk mengakes real atau test kita harus menambahkan nama repositori tersebut pada alamat Subversion dengan demikian untuk mengakses real maka alamatnya svn://localhost/real dan untuk mengakses test maka alamatnya svn://localhost/test.
Pada contoh diatas localhost dapat diganti dengan alamat IP atau domain lain apabila bekerja dalam jaringan.
Salam
Deny Prasetyo
DIarsipkan di bawah: NetBeans, Ubuntu | Ditandai: NetBeans, Subversion, Ubuntu







keep rock with subversion!
Mas Deny emang yahuuttt…
Semangat terus mas!!!
[...] http://jasoet.wordpress.com/2008/11/27/konfigurasi-server-local-subversion-2/ [...]
Salam Linux My Friend! saya Pemakai Ubuntu 9.04 mau tanya neh kalau buat linux yang saya pake, ada ga yah Aplikasi Apotek yang Siap pake?
Thank you