.:My Black Corner:.
Friday, February 22, 2008
Membangun server SVN (subversion)
Apa itu subversion? Subversion adalah suatu layanan server yang memungkinkan pengguna untuk berbagi direktori project. Subversion sendiri merupakan pengembangan dari layanan sebelumnya, yang lebih dikenal dengan CVS. Pada kasus kali ini saya membuatnya di Ubuntu Gutsy Gibbon.
Installasi
Kita bisa mendapatkan paket stable pada situs resmi subversion. Atau lebih mudah apabila kita mendapatkannya langsung dari server repository.
# apt-get install subversion
Membuat subversion repository
# mkdir --mode=0777 /media/svn
# svnadmin create /media/svn/repo
Dimana "repo" disini adalah nama project yang akan di-share.
Lalu buat user yang diijinkan mengakses direktori ini.
# adduser svn
# chown -Rf svn.svn /media/svn/repo
Pada sejumlah kasus kita juga perlu membuat satu group svn dan menambahkan beberapa user kedalamnya.
Koneksi subversion repository menggunakan SSH
Direktori repository milik subversion ini dapat diakses menggunakan layanan SSH protokol. Sebelumnya kita harus install SSH server terlebih dahulu.
# apt-get install openssh-server
Apabila server SSH sudah berhasil di-install, kita bisa mengakses menggunakan dua protokol, svn dan SSH.
# svn co svn+ssh://username@ip_address /media/svn/repo
Setelah perintah ini kita dihadapkan dengan pertanyaan RSA fingerprint dari server SSH, menanyakan password user SSH. Kita bisa saja menggunakan otentikasi otomatis dengan memakai layanan SSH, yaitu public/private key.
Menjalankan layanan svn
Jalankan server svn agar user dari client dapat mengakses protokol svn. Untuk menjalankan service svn kita dapat menggunakan perintah:
# svnserve -d
Atau buatlah satu script untuk menjalankan svn secara otomatis ketika komputer pertama kali dinyalakan.
# nano /etc/init.d/svnserver
========
(Isi filenya)
========
#! /bin/sh
svnserve -d
Setelah itu buat akses file agar dapat dieksekusi.
# chmod 555 /etc/init.d/svnserver
# update-rc.d svnserver defaults
Koneksi subversion menggunakan Apache web server
Layanan subversion juga dapat diakses melalui web server dengan memanfaatkan WebDAV protokol. Untuk layanan ini, kita diharuskan meng-install Apache terlebih dahulu.
# apt-get install apache2 libapache2-svn
Selanjutnya kita perlu meng-edit beberapa baris konfigurasi file untuk subversion webdav module.
# nano /etc/apache2/mods-enabled/dav_svn.conf
Kita akan membuat bagaimana caranya agar subversion ini dapat dibuka dari client, dengan mengakses alamat http://[ip_server]/svn. Edit file berikut:
DAV svn
SVNPath /media/svn/repo
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Buatlah user http yang dapat mengakses subversion repository.
# htpasswd -cm /etc/apache2/dav_svn.passwd [username]
New password:
Re-type new password:
Adding password for user [username]
Lalu setelah konfigurasi diatas jangan lupa untuk me-restart layanan Apache2.
# /etc/init.d/apache2 force-reload
Sekarang kita cek dengan menggunakan web browser pada komputer client. Buka alamat http://[ip_server]/svn
Keamanan Akses dengan layanan Trac
Trac adalah layanan dari subversion yang memungkinkan system mencatat history dari user yang telah merubah file project svn, semacam ticketing system. Install Trac:
# apt-get install trac python-setuptools libapache2-mod-python enscript
Buat database Trac:
# mkdir /var/www/trac
# trac-admin /var/www/trac/repo initenv
Buat agar Apache dapat menjalankan Trac.
# cd /var/www
# chown -Rf www-data.svn trac
Edit file /etc/apache2/mods-enabled/dav_svn.conf
# nano /etc/apache2/mods-enabled/dav_svn.conf
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/passwords
Require valid-user
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/www/trac
PythonOption TracUriRoot /trac
Jangan lupa restart service Apache2 setelah melakukan perubahan.
# /etc/init.d/apache2 force-reload
Selamat mencoba...
0 Comments:
Post a Comment
<< Home