.: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:

Location /svn <--- tulis dengan diapit tanda "<" dan ">"
DAV svn
SVNPath /media/svn/repo
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
/Location <--- tulis dengan diapit tanda "<" dan ">"


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
Location /trac/[[:anum]]+/login" <--- tulis dengan diapit tanda "<" dan ">"
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/passwords
Require valid-user
/Location <--- tulis dengan diapit tanda "<" dan ">"

Location /trac <--- tulis dengan diapit tanda "<" dan ">"
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/www/trac
PythonOption TracUriRoot /trac
/Location <--- tulis dengan diapit tanda "<" dan ">"

Jangan lupa restart service Apache2 setelah melakukan perubahan.
# /etc/init.d/apache2 force-reload

Selamat mencoba...


posted by .:CyberColombuzz:. at 9:35 AM 0 comments

Wednesday, February 20, 2008

Remote SSH server menggunakan hp Sony Ericsson P1i dan PuTTY


Gara-gara sekian lama memendam hasrat melihat fitur keren yang ditawarkan hp Sony Ericsson P1i, akhirnya dengan berat hati saya memutuskan untuk membelinya kemarin. Sebagai seorang networker yang pecicilan (baca: sering pergi kesana-kemari), atau istilah kerennya selalu "mobile",... saya diharuskan untuk tetap memantau segala kegiatan yang berhubungan dengan server linux yang diparkir di GSD collocation, Cyber Building Jakarta. Yah.. akhirnya singkat kata setelah membeli Mr. P1i itu saya men-download aplikasi yang sering digunakan untuk me-remote server, nama aplikasinya PuTTY for Symbian OS. Silahkan_klik, untuk men-"download"-nya. Sebenarnya banyak platform hp berbasiskan symbian OS yang mendukung aplikasi PuTTY ini. Tetapi untuk symbian OS milik P1i memakai platform perangkat lunak UIQ. Apa itu UIQ? UIQ itu konon singkatan dari User Interface Quartz. Keterangan lebih lanjut mengenai UIQ bisa dibaca di wikipedia. Dan hp Sony Ericsson P1i menggunakan UIQ v.3.0.

Tampilan PuTTY di hp P1i ini tidak jauh berbeda dengan yang aslinya, apabila kita biasa menggunakan PuTTY di PC. Hanya saja layarnya tentu tidak sebesar monitor PC. Dan kekurangannya selain huruf yang terbaca kecil-kecil, juga repot mengetik karakternya apabila tidak memiliki aplikasi atau interface keyboard QWERTY. Sayangnya, saya tidak dapat meng-capture screen PuTTY di hp SE P1i.

Tapi setidaknya senang apabila dapat setiap saat disapa oleh welcome screen yang biasa menemani setiap hari-hari kerja. :) *seperti gambar berikut*











Weks... admin dipanggil "nyet"?? Hehehe... Itu panggilan sayang server ke admin-nya. :D Bagi yang ga ngerasa terpanggil jangan marah. No offence ah..

posted by .:CyberColombuzz:. at 3:59 PM 3 comments