Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

15
Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7 Haddad Sammir twitter.com/hSammir | cybernetix.or.id/cx/hsammir Padang – 20 Januari 2014 Pengantar WebDAV – Web Distributed Authoring and Versioning adalah ekstensi protokol HTTP yang memfasilitasi kolaborasi antar pengguna dalam menyunting dan mengelola dokumen yang tersimpan pada web server. WebDAV menjadikan media web bersifat read- write. WebDAV terdiri dari server dan client. Pada kesempatan ini kita akan menggunakan SabreDAV sebagai server WebDAV dan menggunakan Cyberduck dan Microsoft Windows Network Drive sebagai client. Catatan SabreDAV merupakan server WebDAV yang diimplementasikan menggunakan bahasa pemprograman PHP sehingga membutuhkan webserver. Untuk menyederhanakan pekerjaan kita, gunakanlah XAMPP yang memaketkan Apache, PHP dan Mysql yang menyediakan mekanisme instalasi yang sederhana dan mudah. Sila download XAMPP di: http://www.apachefriends.org/en/xampp-windows.html . Penggunaan SabreDAV pada dasarnya tidak berbeda baik pada sistem operasi Windows maupun Linux. Hanya saja Linux memiliki mode permisi file / direktori yang berbeda dengan Windows. Seandainya Anda menggunakan Linux pastikan direktori yang akan digunakan oleh SabreDAV untuk penyimpanan file dapat ditulis oleh Web Server. Persiapan Sebelum memulai instalasi SabreDAV ada beberapa persiapan yang harus dilakukan yaitu: 1. Mendefinisikan nama domain yang akan digunakan 2. Konfigurasi virtual host 1

description

Membangun server WebDAV menggunakan SabreDAV.

Transcript of Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Page 1: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Haddad Sammir twitter.com/hSammir | cybernetix.or.id/cx/hsammir

Padang – 20 Januari 2014

PengantarWebDAV – Web Distributed Authoring and Versioning adalah ekstensi protokol HTTP yang memfasilitasi kolaborasi antar pengguna dalam menyunting dan mengelola dokumen yang tersimpan pada web server. WebDAV menjadikan media web bersifat read-write. WebDAV terdiri dari server dan client. Pada kesempatan ini kita akan menggunakan SabreDAV sebagai server WebDAV dan menggunakan Cyberduck dan Microsoft Windows Network Drive sebagai client.

CatatanSabreDAV merupakan server WebDAV yang diimplementasikan menggunakan bahasa pemprograman PHP sehingga membutuhkan webserver. Untuk menyederhanakan pekerjaan kita, gunakanlah XAMPP yang memaketkan Apache, PHP dan Mysql yang menyediakan mekanisme instalasi yang sederhana dan mudah. Sila download XAMPP di: http://www.apachefriends.org/en/xampp-windows.html .

Penggunaan SabreDAV pada dasarnya tidak berbeda baik pada sistem operasi Windows maupun Linux. Hanya saja Linux memiliki mode permisi file / direktori yang berbeda dengan Windows. Seandainya Anda menggunakan Linux pastikan direktori yang akan digunakan oleh SabreDAV untuk penyimpanan file dapat ditulis oleh Web Server.

PersiapanSebelum memulai instalasi SabreDAV ada beberapa persiapan yang harus dilakukan yaitu:

1. Mendefinisikan nama domain yang akan digunakan2. Konfigurasi virtual host

Dalam artikel ini kita akan menggunakan nama domain http://mywebdav.lab . Tentu saja nama domain ini tidak berlaku umum. Kita cukup mengedit file host yang berada di: C:\Windows\System32\drivers\etc\hosts dengan menambahkan entri:

127.0.0.1 mywebdav.lab127.0.0.1 www.mywebdav.lab

Perlu diperhatikan bahwa file host dikunci oleh sistem sehingga untuk menulis file tersebut kita perlu memberikan full akses kepada user yang sedang menyuntingnya.

1

Page 2: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

File Apache httpd virtual host dibutuhkan untuk melakukan pemetaan direktori dan konfigurasi lainnya untuk host mywebdav.lab . Dalam instalasi default XAMPP file tersebut berada pada: C:\xampp\apache\conf\extra\httpd-vhosts.conf .

Sebelum menyunting file vhost, kita perlu mendefinisikan dahulu direktori instalasi SabreDAV. Berikut konfigurasi direktori saya:

Direktori: C:\xampp\mywebdav

2

Page 3: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

1. C:\xampp\mywebdav\files Digunakan untuk meletakkan file dan sebagat root directory WebDAV.

2. C:\xampp\mywebdav\htdocsAdalah document root web server.

3. C:\xampp\mywebdav\includeLokasi program SabreDAV. SabreDAV di-install pada direktori yang tidak dapat diakes langsung dari luar.

File virtual host:

3

Page 4: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Ada beberapa hal yang perlu diperhatikan pada konfigurasi virtual host di atas yaitu pada baris ke 17 kita mendefinisikan direktori C:\xampp\mywebdav\include kedalam include_path PHP sehingga modul-modul SabreDAVdapat diakses oleh aplikasi PHP kita, yang dalam kasus ini adalah server.php . Pada baris 20 sampai 23 kita mendefiniskan rewrite rule dimana semua akses dialihkan ke server.php . Server.php adalah server WebDAV yang akan kita buat dengan memanfaatkan SabreDAV.

Instalasi SabreDAVSabreDAV adalah software opensource yang dapat di-download di: https://code.google.com/p/sabredav/ . Setelah selesai men-download, ekstrak file SabreDAV ke direktori C:\xampp\mywebdav\include .

Sampai disini instalasi sudah selesai, setelah ini kita perlu mengetik kode PHP untuk membuat server WebDAV benar-benar bekerja. Mari aktifkan code editor dan mulai mengetikkan kode dan simpan sebagai server.php .

Kode di atas mengkonfigurasi sebuah server WebDAV yang memiliki root directory yang berada pada C:/xampp/mywebdav/files . Setelah konfigurasi dipersiapkan, lalu server

4

Page 5: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

WebDAV dieksekusi pada baris 8. Coba akses http://mywebdav.lab melalui browser, jika Anda menemukan Error berikut berarti semua berjalan dengan semestinya:

<d:error><s:exception>Sabre\DAV\Exception\NotImplemented</s:exception><s:message>GET is only implemented on File objects</s:message><s:sabredav-version>1.8.7</s:sabredav-version></d:error>

Sejauh ini kita sudah berhasil menciptakan server WebDAV dengan menggunakan SabreDAV. Untuk mengakses server WebDAV kita membutuhkan client WebDAV. Salah satu client WebDAV yang terbaik adalah Cyberduck yang dapat di-download di: http://cyberduck.io/ . Instalasi Cyberduck sama dengan aplikasi Windows lainnya sehingga tidak memerlukan perhatian khusus.

Untuk mengakses WebDAV yang baru saja kita buat, aktifkan Cyberduck dan mengklik ikon “Open Connection”.

5

Page 6: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Selanjutnya akan muncul dialog Open Connection, isi textbox “Server” dengan alamat web dav kita yaitu: mywebdav.lab .

Jika semua berjalan dengan semestinya kita akan terkoneksi dengan server WebDAV.

6

Page 7: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Saat ini kita belum melihat ada file di sini. Untuk menambahkan file klik icon “Upload”.

Pilih file yang akan di-upload dan tunggu prosesnya sampai selesai.

7

Page 8: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Jika semua berjalan dengan semestinya maka file yang kita upload akan berada di server dan dapat diakses melalui mekanisme WebDAV.

8

Page 9: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Selain menggunakan Cyberduck, Windows secara default juga mendukung protokol WebDAV dan mengintegrasikannya dengan Windows Explorer. Namun ada beberapa masalah beserta solusi yang dapat dibaca di sini: https://code.google.com/p/sabredav/wiki/Windows . Windows Vista membutuhkan patch ini: http://www.microsoft.com/en-us/download/details.aspx?id=15123 sedangkan untuk Windows 7 hanya mengalami masalah performa yang dapat diselesaikan dengan menghilangkan centang "Automatic Detect Settings" pada IE8 / Tools / Internet Options / Connections / LAN Settings.

Untuk mengakses WebDAV pada Windows 7, aktifkan Windows Explorer, lalu klik kanan pada ikon “Network” dan pilih “Map Network Drive”

Pada jendela dialog Map Network Drive, pilih drive yang akan di-map dan isi text box dengan alamat WebDAV kita.

9

Page 10: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Jika semua berjalan dengan semestinya, maka akan muncul direktori WebDAV (Z:) yang dapat diakses seperti layaknya direktori lokal.

10

Page 11: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Direktori Network Drive ini bekerja seperti layaknya direktori lokal. File dan direktori yang terdapat didalamnya dapat langsung diakses dan file dapat langsung dibuka melalui doubel klik.

SecurityKita telah berhasil membuat server WebDAV. Namun kita perlu menambahkan faktor keamanan dalam server kita. Server WebDAV yang telah kita buat sama sekali tidak terproteksi oleh password sehingga siapa saja dapat mengakses dan melakukan operasi read-write pada server yang tentu saja sangat berbahaya.

Menambahkan faktor keamana seperti username dan password dilakukan dengan menambahkan plug in autentikasi ke server. Mekanisme login yang akan kita gunakan menyimpan username dan password pada database mysql. Struktur tabel bisa didapatkan pada file SQL yang didistribusikan SabreDAV. File SQL tersebut berada di: C:\xampp\mywebdav\include\SabreDAV\examples\sql\mysql.users.sql

Gunakan phpmyadmin atau software lainnya untuk membantu kita membuat database dan struktur tabel di mysql.

Berikut struktur tabel “users”:

11

Page 12: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Tabel user menyimpan informasi id, username dan ‘digesta1’. Digesta1 adalah: md5 dari username:realm:password. Untuk menciptakannya cukup dengan query sql:SELECT MD5( 'admin:SabreDAV:admin' );

Default username dan password yang disediakan pada file SQL pada contoh diatas adalah: username: admin dan password: admin. Untuk menambahkan user baru dapat dilakukan dengan menambahkan entri data baru pada tabel users.

Konfigurasi Autentikasi SabreDAVUntuk menambahkan fitur autentikasi pada SabreDAV kita perlu menambahkan beberapa baris kode lagi pada server.php .

Berikut listing server.php:

12

Page 13: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Kode di atas mendefinisikan host, username, password dan nama database dimana tabel user berada. Pada baris ke 14 kode mendefinisikan realm yang digunakan adalah: “SabreDAV”. Sedangkan pada baris ke 15 kita menambahkan plugin autentikasi ke dalam server.

Mari uji coba mekanisme autentikasi dengan reconnect ke server WebDAV, jika muncul jendela dialog meminta username dan password berarti semua berjalan lancar. Input-kan username: admin dan password: admin .

Penambahan user dapat kita lakukan dengan penambahan entri baru pada tabel ‘users’. Asumsikan kita hendak menciptakan user baru dengan username: haddad dan password: sammir maka kita lakukan query berikut:

INSERT INTO users( username, digesta1 ) VALUES ('haddad', MD5( 'haddad:SabreDAV:sammir' ));

13

Page 14: Membangun Server WebDAV Menggunakan SabreDAV Pada Sistem Operasi Windows 7

Quo Vadis?SabreDAV bekerja seperti layaknya sebuah Framework. SabreDAV tidak dapat bekerja secara “out of the box”. Programmer perlu merakit sendiri server WebDAV sesuai dengan kebutuhannya. Server WebDAV yang telah kita buat meskipun bekerja, namun perlu banyak sekali penambahan fitur seperti antar muka penambahan user atau mekanisme autentikasi yang berbeda. Untuk mewujudkan itu semua kita dapat berkonsultasi kepada dokumentasi SabreDAV yang dapat diakses di sini: https://code.google.com/p/sabredav/wiki/GettingStarted

[]

14