1. 1The Power of ownCloud
Bab 1
Prolog
A. Tentang Cloud Computing
Apa itu cloud computing? Beberapa pembaca sering
kali menanyakan hal ini. Ada banyak sudut pandang yang
menjelaskan tentang cloud computing atau komputasi awan
(dalam bahasa Indonesia) ini. Tulisan ini sebagai pengantar
bagaimana memahami tentang komputasi awan dari konsep
atau kasus sederhana yang sering kita temui di kehidupan
sehari-hari. Harapannya setelah membaca ini, pembaca lebih
paham dan dengan mudah menerapkan teknologi ini.
Anda pernah ke hotel untuk menyewa salah satu atau
beberapa kamar di sana? Jika sudah, maka sebagai konsumen
hotel yang baik, dengan hanya kita mengisi form registrasi,
durasi lama beberapa waktu tertentu, maka kita sudah
diperkenankan untuk menikmati semua fasilitas yang ada
di hotel tersebut. Sementara di sisi lain, billing (tagihan)
akan berjalan dan menunggu untuk dibayar sampai dengan
Anda check out dari hotel tersebut. Ketika pagi hari sudah
dipersiapkan breakfast untuk Anda, maka Anda tak perlu
memikirkan untuk berapa banyak mereka membuat masakan
pagi hari itu, berapa lama mereka memasak, dan berapa
biaya yang perlu disediakan untuk mempersiapkan masakan-
masakanitu.YangjelasAndatinggalmenikmatiapayangtersaji
di sana. Begitu juga ketika adanya aliran listrik di kamar Anda,
2. 2 Dedy Setyo Afrianto
tentunya Anda tak perlu juga memikirkan berapa voltase/watt
hotel itu berlangganan listrik ke PLN, teknik mengalirkan listrik
dengan pembatasan tertentu ke semua kamar yang ada di
kawasan hotel itu, tak perlu pusing Anda memikirkan hal itu.
Karena jika Anda butuh lampu, maka semua sakelar di kamar
Anda sudah ready untuk dinyalakan atau dimatikan. Jika suatu
waktu Anda butuh untuk menambah kamar karena keluarga
Anda akan menginap juga di sana, Anda tinggal mengontak
bagian receptionist dan fasilitas serupa sudah siap untuk Anda
nikmati dalam beberapa saat. Begitu mudahnya, bukan?
Ilustrasi sederhana di atas itu untuk memudahkan
pembahasan kita tentang cloud computing ini. Jika dalam
suatu kantor atau organisasi Anda yang saat ini memiliki
satu server komputer untuk meng-handle semua kebutuhan
pegawai di kantor Anda. Nah, saat waktu tertentu ternyata
disimpulkan butuh server baru di sana, maka dengan konsep
virtualisasi cloud computing ini, maka untuk menambah server
baru, tidak perlu membeli hardware baru, mengalokasikan
waktu tambahan untuk setup server baru, dan tentu saja
tenaga teknisi tak perlu banyak terforsir di sana. Dengan
cloud computing, server baru bisa di-setup dengan hanya klak-
klik saja, dan dalam waktu kurang lebih 20 menit, server baru
sudah siap untuk dipakai. Sederhananya, Anda akan hemat
waktu, energi, dan biaya.
Menurut Onno W. Purbo (Onno: 2011), perbedaan cloud
computing dengan server konvensional, terutama:
• Secara fisik berupa kumpulan hardware/server yang
tersambung dalam sebuah jaringan (LAN/WAN).
Tetapi, dari sisi pengguna dapat melihat sebagai
sebuah komputer besar.
• Idealnyatidakadabatasandengankapasitasprocessor,
kapasitas hard disk, dan kapasitas memory.
3. 3The Power of ownCloud
• Idealnya tidak ada batasan dengan berapa jumlah
“hosting” server yang berjalan di belakangnya.
• Menambahkansebuah“hosting”hanyamembutuhkan
waktu beberapa menit saja.
• Jika ada kekurangan resource (sumber daya), baik
itu processor, hard disk, maupun memory, kita dapat
dengan mudah sekali menambahkan server tambahan
dan langsung dapat berintegrasi ke jaringan cloud.
• Butuh waktu sekitar 20 menit untuk menyiapkan
server kosong/baru untuk dapat berintegrasi ke
jaringan cloud.
Sedangkan sumber dari National Institute of Standard
Technology (NIST) memberikan syarat ada beberapa
karakteristik cloud computing:
1. On Demand Self Service
Pelanggan dapat melakukan upgrade
kemampuan server sendiri tanpa melibatkan teknisi
khusus, termasuk di dalamnya mengatur waktu server
dan kapasitas server.
2. Broad Network Access
Dapat diakses melalui jaringan standar, serta
dapat melayani akses dari berbagai platform dan
device, apakah itu komputer, laptop, smartphone,
tablet, dan sebagainya.
3. Resource Pooling
Sumber daya komputasi yang disediakan dapat
melayani banyak user sekaligus.
4. Rapid Elasticity
Kapabilitas dari server yang disiapkan bisa dipakai
secara dinamis sesuai dengan tingkat kebutuhan.
4. 4 Dedy Setyo Afrianto
5. Measured Service
Tersedia layanan yang dapat digunakan untuk
memonitor penggunaan resource, apakah itu hard
disk, memory, processor. Berapa persenkah yang telah
terpakai, dan berapa persen yang masih ready untuk
digunakan.
Layanan Cloud Computing
Berikut ini adalah kategori layanan cloud computing yang
tersedia jika Anda berminat dalam pengimplementasiannya:
1. Infrastructure As A Services (IAAS)
Menggunakan layanan IAAS, user dapat dengan mudah
menggunakan hardware seperti hard disk, memory, processor
untuk semaksimal mungkin digunakan dalam pekerjaan.
Contoh penyedia layanan IAAS: Amazon EC2, Rackspace
Cloud, Windows Azure, ownCloud, dan sebagainya.
Keuntungan dari IAAS ini adalah kita tidak perlu membeli
komputer fisik dan konfigurasinya secara rumit. Dalam buku
ini akan diuraikan lebih lanjut tentang ownCloud sebagai
IAAS.
2. Platform As A Service (PAAS)
Pada layanan ini, user dapat dengan mudah layaknya
menyewa rumah beserta lingkungannya. Pemeliharaan
“rumah” ini (sistem operasi, network, database engine,
framework aplikasi, dan lain-lain) menjadi tanggung jawab
dari penyedia layanan. Contoh penyedia layanan PAAS:
Amazon Web Service, Windows Azure, dan GoogleApp Engine.
Keuntungan dari PAAS ini adalah developer bisa langsung
fokus pada aplikasi yang sedang dikembangkan tanpa harus
berpikir bagaimana lingkungan (environment) berjalan.
5. 5The Power of ownCloud
3. Software As A Service (SAAS)
Merupakan layanan di mana user dapat menggunakan
software yang terletak di server provider seperti layaknya user
menggunakan software yang berada di komputernya masing-
masing.
Contoh dari layanan SAAS ini antara lain adalah:
• Layanan produktivitas: Office365, GoogleDocs, Adobe
Creative Cloud, dan sebagainya.
• Layanan e-mail: Gmail, YahooMail, LiveMail, dan
sebagainya.
• Layanan social network: Facebook, Twitter, Tagged,
dan sebagainya.
• Layanan instant messaging: YahooMessenger, Skype,
GTalk, dan sebagainya.
B. Sekilas ownCloud
Perusahaan dengan nama ownCloud inilah yang
membidani lahirnya ownCloud sejak tahun 2011. Didirikan
oleh pakar open source yang berpengalaman bertahun-tahun,
Frank Karlitschek bersama Markus Rex memimpin tim yang ahli
pada bidangnya masing-masing dalam pengembangannya.
Dengan slogan “Your Cloud, Your Data, Your Way!”
ownCloud yang merupakan salah satu perangkat lunak
berbagi berkas gratis (lisensi AGPL) dan bebas disertai juga
edisi bisnis dan edisi perusahaan, menyediakan pengamanan
yang baik, memiliki tata cara yang baik bagi pengguna aplikasi
untuk membagi dan mengakses data yang secara terintegrasi
dengan perangkat teknologi informasi yang tujuannya
mengamankan, melacak, dan melaporkan penggunaan data.
Dengan belasan fungsi yang sudah terintegrasi dan akan
terus berkembang, di antaranya:
6. 6 Dedy Setyo Afrianto
• Akses, sinkronisasi, dan sharing data
• User interface yang menarik
• Recovery file yang telah ter-delete
• Pencarian yang cepat
• Dokumentasi user
• Melacak versi file
• Manajemen kontak
• Manajemen kalender/agenda
• External storage
• Galeri gambar dan video
• Mengubah theme
• Pembuka dokumen
• dan masih banyak yang lainnya di http://ownCloud.
org/features/
Dengan beragamnya fungsi ini, maka pantaslah bahwa
ownCloud termasuk sistem yang dapat diandalkan dalam
lingkungan Anda.
C. Studi Kasus Lapangan
Agar memiliki persepsi yang sama dalam membangun
dan mengimplementasikan sistem ini, penerapan ownCloud
memang dilatarbelakangi oleh kebutuhan di lingkungan
saya.
Perlu diketahui bahwa kami tinggal di sebuah kompleks
pendidikan/boarding school di Serang, Banten. Kawasan ini
teramat luas secara geografis (plus minus 30 hektar), untuk
menuju titik terjauhnya pun dengan berjalan kaki akan
lumayan melelahkan karena kontur bidang yang berbukit-
bukit. Kawasan siswa putra dan putri pun terpisah dan kami
para pengajarnya juga tinggal sekompleks di sini kira-kira
7. 7The Power of ownCloud
500-an lebihlah penghuni kawasan kami. Denahnya saya
ilustrasikan seperti ini (saya ambilkan foto perancangan
jaringan kami, sama saja kok ). Dan kabar baiknya, semua
wireless/jaringan telah terhubung hampir 100% di semua
titik strategis. So, saya anggap ini potensi yang harus
dimanfaatkan.
Gambar 1.1 Ilustrasi peta dan pemanfaatan di lingkungan kami
Saya sering memikirkan untuk mencari jalan bagaimana
agar penyimpanan data dapat dilakukan secara terpusat dari
berbagai macam sumber, kontributor, sehingga setiap file user
dapat dikelola dengan mudah, reliable, dan dinamis, sehingga
pertukaran data dapat dilakukan dengan mudah, cepat, dan
praktis! Ditambah lagi dengan sistem ini tidak membutuhkan
koneksi internet untuk mengaksesnya sehingga akses user
8. 8 Dedy Setyo Afrianto
tidak membutuhkan bandwith internet dan dana tambahan
untuk membeli pulsa modem.
Nah, begitu ceritanya, semoga pemahaman saat ini
sudah sama ya. Terus, apa lagi yang dipersiapkan?
D. Persiapan Server, Koneksi, dan Software
Pengalaman saya menggunakan ownCloud ini nyaris
sebenarnya tak merepotkan untuk urusan hardware, karena
untuk saat ini rasanya hardware jenis ini sudah sangat
terjangkau sekali, spesifikasi server minimal seperti ini:
Hardware:
• CPU 2.0 GHz
• RAM 1 GB
• HARD DISK 30 GB
• OS: Linux Ubuntu 12.04 32 bit, Versi Desktop atau
Server
Koneksi:
Min. 512 Mbps (hanya untuk proses instalasi saja)
9. 9The Power of ownCloud
Bab 2
Instalasi dan Konfigurasi ownCloud
di Server Anda
A. Tahapan Instalasi
Ayo kita mulai!
Sebelum kita mulai, dalam artikel ini harapannya Anda
telah terbiasa dengan lingkungan Linux (wabil khusus Ubuntu).
Jika belum, niscaya akan mudah kok, asalkan ada syarat 3
“tetap”. Tetap semangat, tetap membaca, tetap mencoba…,
hehe .
Yang dipersiapkan:
1. Siapkan kopi/teh hangat dan camilan untuk santai
sejenak…, anggap saja setiap step ini adalah proses
relaksasi akhir pekan Anda…, hehe .
2. Siapkan 1 PC sudah ter-install Ubuntu 12.04 dengan
baik, atau jika Anda telah akrab virtualisasi dengan
virtualbox bisa juga. Apakah boleh versi Linux yang
lain? Silakan saja, namun saya tidak menanggung
jika tidak berhasil, hehe. Bagi yang mau download
silakan http://buku.dedysetyo.net. Spec PC-nya cukup
prosesor min 2.0 GHz, HD min 30 GB, dengan RAM
min 1 GB, lebih dari itu akan lebih sip.
3. Setting IP lokal pada PC ini, misalkan pada tutorial ini
diset 192.168.0.10.
4. Koneksi internet dengan baik pada PC tadi, ini hanya
dibutuhkan saat instalasi saja untuk download modul-
10. 10 Dedy Setyo Afrianto
buku pelengkap. Setelah selesai, praktis kita tidak
butuh koneksi internet untuk akses ke cloud kita.
Langkah-langkahnya:
1. Masuk pada terminal (CTRL+ALT+T) kemudian login
dengan akun root Anda.
2. Lakukan update dengan perintah “apt-get update”,
tunggu sampai proses selesai, makin cepat koneksi
Anda maka makin cepat proses ini selesai.
3. Install-kan paket-paket yang dibutuhkan untuk web
server-nya: apache, php5, json, curl, dan sebagainya.
Ketikkan perintah ini kemudian enter (pastikan semua
paket ter-install dengan baik):
apt-get install apache2 php5 php5-json php5-gd
php5-sqlite curl libcurl3 libcurl3-dev php5-curl php5-
common php-xml-parser
4. Download script php setup-ownCloud.php lewat
http://buku.dedysetyo.net, kemudian letakkan pada
folder /var/www.
5. Akses server-nya dengan buka browser, ketikkan:
http://192.168.0.10/setup-ownCloud.php
6. Berikutnya akan muncul seperti ini:
Gambar 2.1 Pengecekan Dependency Program