Instalasi & Konfigurasi SVN Server di Ubuntu Server
Subversion atau SVN server sering digunakan dalam suatu project, nah kebetulan juga baru aja selesai konfigurasi svn server di ubuntu server, sekalian aja deh di catet langkah-langkahnya di blog saya :p. ada beberapa persiapan sebelum kita mulai installasi svn server berikut persiapan yang dibutuhkan:
- Linux Ubuntu (ubuntu server 12.04).
- Apache Web Server.
- Koneksi Internet.
- Modul apache DAV_SVN (digunakan untuk akses svn via http).
- modul apache ssl (digunakan untuk akses svn via https).
- ssh (digunakan untuk akses svn via svn+ssh).
Sebelum melakukan instalasi svn, pastikan repository ubuntu telah uptodate.
sudo apt-get update
Kemudian install (subversion) SVN:
sudo apt-get install subversion
Ada beberapa cara dalam konfigurasi dan penggunaan svn server diantaranya akses svn (subversion) melalui:
- File. - Metode ini adalah dengan membuat repositori pada direktori dan akses langsung ke direktori yang menjadi repositori tersebut, "file:///home/svn/repo1".
- HTTP - Metode dengan membuat repositori pada direktori dan akses ke repositori tersebut melalui web (WebDAV protocol) dengan modul apache2, "http://127.0.0.1/svn/repo2/".
- SVN - Metode ini menggunakan custom protokol untuk mengakses ke svnserve server, "svn://127.0.0.1/svn/repo4
- SVN+SSH - Metode ini sama dengan metode svn, hanya saja ditambahkan dengan ssh tunel, "svn+ssh://127.0.0.1/svn/repo5
Berikut adalah beberapa cara untuk melakukan konfigurasi dalam membuat repositori svn:
1. FILE
Buat direktori untuk repositori svn
sudo mkdir /home/svn
cd /home/svn
sudo mkdir repo1
untuk membuat repositori dapat menggunakan perintah
svnadmin
sudo svnadmin create /home/svn/repo1
Jangan lupa untuk mengubah permission (hak akses) dari direktori yang di jadikan repositori tersebut
cd /home/svn
sudo chmod -R g+rws repo1
Untuk mengakses repositori tersebut dapat dengan menggunakan perintah:
svn co file:///home/svn/repo1
2. HTTP
untuk membuat repositori lakukan langkah yang sama dengan cara diatas.
cd /home/svn
sudo mkdir repo2
sudo chown -R www-data:subversion repo2
sudo chmod -R g+rws repo2
Sebelum melakukan konfigurasi, pastikan modul dav (libapache2-svn) telah terinstall. kemudian buka file /etc/apache2/mods-available/dav_svn.conf dan tambahakn baris berikut:
<Location /svn/repo2><br />
DAV svn<br />
SVNPath /home/svn/repo2<br />
AuthType Basic<br />
AuthName "Repositori ke-2 viva web"<br />
AuthUserFile /home/svn/repo2/passwd<br />
Require valid-user<br />
</Location>
note: location adalah lokasi url untuk mengakses via http. AuthUserFile adalah file list untuk user svn. Kemudian restart apache:
sudo /etc/init.d/apache2 restart
Langkah selanjutnya adalah dengan membuat file "passwd" di /home/svn/repo2/passwd yang akan digunakan sebagai informasi detail dari user svn dalam mengakses repositori. Untuk menambahkan user dapat menggunakan perintah:
sudo htpasswd -c /home/svn/repo2/passwd anxfeb
akan muncul line baru dan meminta kita untuk mengisi password untuk user yang telah kita buat tersebut, masukkan password yang di inginkan dan file passwd otomatis terbuat path yang sudah kita tentukan tadi. jika ingin menambah user maka hilangkan "-c" pada perintah di atas, "-c" berfungsi untuk membuat file (create):
sudo htpasswd /home/svn/repo2/passwd febri
untuk mengakses repositori tersebut gunakan perintah:
svn co http://localhost/svn/repo2ct --username andzhar
3. HTTPS
Untuk konfigurasi metode ini sama dengan konfigurasi via http diatas, pastikan saja "https" bisa di akses dari web server anda.
4. SVN
Pertama buat kembali repositori baru
cd /home/svn
sudo mkdir repo4
sudo chmod -R g+rws repo4
Kemudian edit file "/home/svn/repo4/conf/svnserve.conf" untuk konfigurasi akses ke repositori. Uncomment bagian berikut:
# [general]
# password-db = passwd
Setelah kita merubah bagian tersebut, kita dapat memanage user-user pada file "passwd" pada direktori yang sama, buka file "passwd" tersebut dan tambahkan user-user yang dapat mengakses repositori tersebut dengan format "username=password".
andzhar=12345
Kemudan jalankan "svnserve" agar repositori yang telah dibuat dapat diakses melalui metode svn:/// dengan perintah:
svnserve -d -r /home/svn/repo4
Untuk perintah checkout repositori gunakan perintah:
svn co svn://127.0.0.1/repo4--username andzhar
note: default port yang digunakan oleh svn adalah 3690
5. SVN+SSH
Metode ini sebenarnya kurang diperlukan dalam menjalankan/mengakses repositori SVN. Konfigurasi ini sampir sama dengan konfigurasi dengan metode SVN hanya saja pastikan ubuntu anda dapat diakses dengan menggunakan "ssh", kemudian checkout repositori dengan perintah:
svn co svn+ssh://127.0.0.1/repo4 --username andzhar
Untuk membuat svnserve run pada saat pc/komputer anda restart, adna perlu membuat 1 file baru pada init.d:
sudo nano /etc/init.d/svnserve
Kemudian tambahakn perintah svnserve tadi kedalam file tersebut,:
#!/bin/bash
### BEGIN INIT INFO
# Provides: svnserve
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start subversion server
### END INIT INFO
svnserve -d -r /home/svn/repo4
Pastikan skirp tersebut dapat di eksekusi:
sudo chmod +x /etc/init.d/svnserve
kemudian gunakan update-rc.d untuk menambahakn skirp tersebut ke init.
update-rc.d svnserve defaults
Selamat Mencoba :)