Create SVN Server and Browsing Repository from WebServer (https)
Salah satu kegunaan SVN (subversion) adalah untuk mempermudah programmer dalam me-manage source code yang dibuatnya. SVN membantu kita utk melakukan update source code, rollback to specific version, membuat branch, dll.
Tutorial ini menjelaskan step-by-step proses instalasi SVN server, serta browsing melalui web server (https) pada webserver apache. Pada dasarnya tanpa membuat koneksi https kita juga sdh bisa mem-browsing isi SVN server melalui web server tetapi pada disini sengaja saya gunakan HTTPS karena kita menggunakan web-based authentikasi, yang tentunya username & password yg ada tidak kita harapkan untuk di-sniff oleh kawan2 kita yg cukup “pintar”. 🙂
Instalasi
- Install paket yang diperlukan
- Membuat direktori yg akan menampung file2 SVN
- Initialisasi direktori utk project baru
root@external-disk:~# apt-get install apache2 libapache2-svn subversion subversion-tool
root@external-disk:~# mkdir /home/repos
dilakukan pada setiap project
root@external-disk:~# svnadmin create /home/repos/projectHelloWorld
root@external-disk:~# chown -R www-data:www-data /home/repos/
Konfigurasi webserver utk bisa browsing file SVN via https
- Enable module yang diperlukan
- Edit file /etc/apache2/mods-enabled/dav_svn.conf
- Buat symbolic link yg diperlukan
- Membuat file /etc/apache2/dav_svn.passwd utk authentikasi pengguna
- Check konfigurasi lalu restart web server
root@external-disk:~# a2enmod authz_user
root@external-disk:~# a2enmod ssl
root@external-disk:~# a2enmod dav_svn
root@external-disk:~# vim /etc/apache2/mods-enabled/dav_svn.conf
<Location /svn>
DAV svn
SVNParentPath /home/repos
SVNListParentPath onAuthType Basic
AuthName “Testing Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd
SSLRequireSSL<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept></Location>
root@external-disk:~# ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/000-default-ssl
root@external-disk:~/tmp# htpasswd -c /etc/apache2/dav_svn.passwd lqman
New password: [password lqman]
Re-type new password: [password lqman]
Adding password for user lqman
Parameter -c hanya digunakan sekali karena fungsinya untuk membuat file baru. Apabila anda ingin menambahkan user kedua, ketiga, dst maka tidak perlu menggunakan parameter -c lagi, sebagaimana contoh dibawah ini.
root@external-disk:~/tmp# htpasswd /etc/apache2/dav_svn.passwd kholis
New password: [password kholis]
Re-type new password: [password kholis]
Adding password for user kholis
root@gw-blacknet:/etc/apache2/mods-enabled# apache2ctl configtest
Syntax OK
pastikan tidak ada error, baru lanjutkan dengan restart web server
root@gw-blacknet:/etc/apache2/mods-enabled# apache2ctl restart
Test Browsing
- Menggunakan Browser
- Menggunakan SVN Client
Buka URL melalui browser kesayangan anda 😛
Jika ada warning spt pada firefox saya, maka buatlah exception.
Klik “I Understand the Risks” -> “Add Exception” -> “Get Certificate” -> “Confirm Security Exception”
Jika anda buka / klik, tentu saja direktori diatas masih kosong karena belum ada file yg di-import-kan ke SVN server.
Saya menyukai rapidsvn pada linux, ataupun tortoisesvn pada windows.
Isikan URL repository anda
Buka / klik bookmark yg baru, jika ada pertanyaan ttg SSL Certificate, pilih “Permanently”
tentu saja bookmark tsb masih kosong karena belum ada file yg di-import-kan ke SVN server.
Happy Subversioning 😀
wah ganti template..
*akhirnya penasaranku tentang svn terjawab 😀
Penasaran opo ambek SVN mek?
*ganti template soale wis bosen 😀
gak ngerti svn iku apa, kok sepertinya kok banyak file2 geje yang ikut di share di svn, buatnya juga gak ngerti,
tutorial https e mantap iki :p
Oalah gak paham maksute SVN ta, nek ngono baca2 ini dulu aja.
Banyak file yg di share melalui SVN di internet, adalah (mungkin) karena developernya membebaskan kita utk mengambil versi yg mana saja yg kita inginkan. Selain itu juga dr sisi developer lebih gampang mengupdate source code, klo ada perubahan tinggal umumkan aja ke khalayak ramai bahwa ada perubahan ini dan itu, maka silakan checked-out versi sekian, beres.
Enak tooh, bebas tooh, flexibel tooh 😀
saiki wes jamane git gan 😀
Tenang lis, mengko ditulis pisan (nek sempet nyoba2 maneh)…
ralat koment ane gan, ternyata masalahnya ane harus ketik lengkap:
https://ipadress/svn.
klo cuman ngetik http://ipadress/svn pasti keluar error Forbiden….
thx ya Gan penyerahannya…
Siiplah alhamdulillah klo sdh solved…
wah wes suwe ga ngoding gaaannn…