Tuesday, August 31, 2010

SVN with Apache

Untuk memberikan kemudahan dalam memanfaat SVN sebagai Version Control yang dapat diakses via protokol http. 


SVN memiliki module untuk webserver Apache agar repository SVN dapat di akses melalui protokol http. Module tersebut adalah mod_dav_svn

Agar Repsitory SVN dapat diakes via http minum pada webserver apache terdapat modul mod_dav_svn dan mod_dav.
mod_dav biasanya secara default pada webserver apache telah ditersedia sedangkan  mod_dav_svn Anda harus mendownload-nya terlebih dahulu dan load modul tersebut secara manual.

pada posting ini tidak dijelaskan cara load manual mod_dav_svn, tetapi akan menggunakan perintah installer os ubuntu untuk mendapatkan mod_dav_svn. pada posting ini juga diasumsikan SVN dan webserver Apache2 telah terinstall dengan baik
ket spek yang digunakan pada posting ini :
OS Ubuntu 10.04 LTS - the Lucid Lynx
Webserver Apache 2
Berikut ini adalah tahapannya :

A. Instalasi mod_dav_svn pada webserver apache2
sudo apt-get install libapache2-svn

B. Membuat Repository SVN sebagai contoh bernama portofolio
svnadmin create /home/dendie/repo/portofolio

C. Sebagai contoh repository portofolio melakukan import dari source yang berada di /home/dendie/www/portofolio/
svn import /home/dendie/www/portofolio/ file:///home/dendie/repo/portofolio/ -m "inisialiasi projek"

D. Buka file konfigurasi svn yang bernama dav_svn.conf  sebagai contoh seperti dibawah ini
sudo nano /etc/apache2/mods-available/dav_svn.conf

E. Pada file dav_svn.conf tambah konfigurasi untuk mengarahan lokasi repository, sebagai contoh untuk mengarahan repository portofolio
<Location /repo>
        DAV svn
        SVNParentPath /home/dendie/repo
</Location>
Perintah diatas mengartikan bahwa repository berada pada path /home/dendie/repo dan untuk mengakses-nya melalui http dilokasi /repo 

F. Berikan permison pada respository agar dapa diakses oleh webserver apache.
chmod 777 -R /home/dendie/repo/

G. Restart webserver apache
sudo /etc/init.d/apache2 restart

H. Akses repository melalaui browser, sebagai contoh akan mengakses respository portofolio
Akses di browser http://[ip/domain kemputer anda]/repo/portofolio/
contoh
Akses di browser http://192.168.10.150/repo/portofolio/ 


Untuk menambah keamanan saat commit, maka dapat di tambahkan autentifikasi user disaat commit ke repository. Caranya adalah sebagai berikut:

1. Buka File dav_svn.conf
sudo nano /etc/apache2/mods-available/dav_svn.conf

2. Tambah baris autentifikasi seperti dibawah ini
<Location /repo>
        DAV svn
        SVNParentPath /home/dendie/repo

        AuthType Basic
        AuthName "Subversion Repository"
        AuthUserFile /etc/apache2/dav_svn.passwd
        <LimitExcept GET PROPFIND OPTIONS REPORT>
            Require valid-user
        <LimitExcept>
</Location>

3. Membuat user, pada contoh dibawah ini membuat user bernama dendie
sudo htpasswd -cm /etc/apache2/dav_svn.passwd dendie

4. Untuk membuat user selanjutnya cara nya ada seperti dibawah ini
sudo htpasswd -m /etc/apache2/dav_svn.passwd ulie

5. Restart webserver apache
sudo /etc/init.d/apache2 restart



No comments:

Post a Comment