Saat ini layanan Cloud Storage sudah banyak bertebaran di internet, dari yang gratisan hingga berbayar. Contoh yang populer saat ini adalah Dropbox yang menyediakan space sebesar 2GB secara cuma-cuma yang bisa diupgrade hingga maksimal 18GB, kemudian ada lagi Google DriveSugarSyncSpiderOak dan Microsoft SkyDrive. Semuanya memiliki kelebihan dan kekurangannya masing-masing.
Nah di tutorial kali ini kita akan mencoba membuat layanan Cloud Storage sendiri yang dapat  digunakan untuk pribadi, komunitas, maupun lembaga atau perusahaan. Disini kita akan menggunakan sebuah CMS (Content Management System) yang memang khusus dibuat untuk layanan Cloud Storage mirip Dropbox atau Google Drive, CMS tersebut adalah ownCloud yang dapat diunduh secara cuma-cuma dan merupakan salah satu perangkat lunak sumber terbuka (Open Source). Daftar lengkap fitur dari ownCloud dapat ditemukan disini.
OwnCloud termasuk dalam kategori Infrastructure as a Service (IaaS) Layanan awan. Dengan ownCloud kita dapat menyimpan file, folder, kontak, audio, galeri foto, kalender dan dokumen lainnya. Kita juga dapat mengakses file dan melakukan sinkronisasi file yang terdapat pada server ownCloud dengan perangkat mobile, desktop, atau peramba web.
Catatan: Untuk tutorial instalasi web server (Apache, MySQL, PostgreSQL, PHP) tidak akan dijelaskan disini, saya anggap mesin yang akan kita gunakan sebagai tempat instalasi ownCloud sudah terdapat paket-paket dependensi yang diperlukan oleh ownCloud. 
Baik, langsung saja berikut adalah step-by-step cara menginstalasi ownCloud.
Langkah pertama adalah memastikan bahwa di environment server kita sudah terinstal software berikut:
  • Apache HTTP Server versi 2 keatas
  • PHP versi 5.1 keatas : php5 php5-json php-xml php-mbstring php5-zip php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl php-pdo
  • Untuk database dapat menggunakan SQLite, MySQL 5.1 keatas, atau PostgreSQL 8 keatas
Untuk sistem operasinya sendiri dapat menggunakan GNU Linux, Microsoft Windows, Solaris, MacOSX maupun keluarga BSD (FreeBSD, NetBSD, OpenBSD, dll) selama terdapat web server HTTP dan PHP serta database engine (SQLite, MySQL, PostgreSQL). ownCloud juga mendukung autentifikasi pengguna berdasarkan LDAP.
Setelah yakin mesin yang akan kita gunakan sudah memenuhi persyaratan diatas maka langkah selanjutnya adalah mengunduh paket ownCloud di alamat berikut:
http://owncloud.org/owncloud-download-4-0-0
Untuk pengguna linux dapat menggunakan perintah berikut:
wget -qO – “http://owncloud.org/owncloud-download-4-0-0″ | tar zjvf –
cp -r owncloud/* /path/tempat/webserver
Catatan: yang berwarna dilahkan disesuaikan sesuai dengan direktori public_html anda masing-masing.
Contoh:
  • CentOS / Fedora  :  /var/www/html
  • Debian / Ubuntu   :  /var/www
Setelah tersalin selanjutnya kita akses alamat hostnya, misal dalam contoh kali ini saya mengunakan localhost, sehingga akan tampil halaman untuk membuat sebuah akun administrator seperti berikut:
Membuat akun Administrator ownCloud
Silahkan klik pada menu “Advanced” untuk mengubah direktori tempat data akan disimpan dan tentukan database yang akan digunakan apakah SQLite, MySQL atau PostgreSQL. Saran saya jika data atau penggunanya tidak terlalu banyak kita bisa menggunakan SQLite, sedangkan jika datanya besar maka gunakan MySQL atau PostgreSQL. Jika kita menggunakan MySQL atau PostgreSQL sebagai databasenya, maka sebelumnya kita harus membuatkan databasenya terlebih dahulu.
Untuk membuat database di MySQL beserta penggunanya dapat menggunakan query berikut:
CREATE DATABASE owncloud;
GRANT ALL ON owncloud.* TO ‘dbuser‘@’localhost‘ IDENTIFIED BY ‘dbpass‘;
FLUSH PRIVILEGES;
Sedangkan untuk PostgreSQL sebagai berikut:
CREATE USER dbuser WITH PASSWORD ‘dbpass‘;
CREATE DATABASE owncloud OWNER dbuser ENCODING ‘UTF8′;
GRANT ALL PRIVILEGES ON DATABASE owncloud TO dbuser;
Catatan: silahkan sesuaikan yang saya beri warna merah tebal.

Kemudian isi form untuk koneksi database pada instalasi ownCloud dengan nama database, pengguna dan kata sandi database yang telah kita buat tadi.

Setup Database ownCloud
Setelah terisi dengan benar selanjutnya klik “Finish“. Maka ownCloud akan membuatkan struktur tabel pada database dan memasukkan satu akun administrator yang tadi kita buat. Berikut adalah tabel yang dibuat oleh ownCloud:
Nah instalasi ownCloud sudah selesai, tapi ada satu masalah yang harus diatasi. Pada saat pertama kali kita menjalankan ownCloud yang sudah kita instal akan muncul galat seperti ini:
Cannot modify header information – headers already sent by (output started at …….
Jangan panik karena itu memang salah satu bugs kecil dari versi ownCloud yang kita gunakan ini. Untuk mengatasinya cukup mudah, buka file berikut ini dengan menggunakan text editor:
/path/tempat/instalasi/owncloud/apps/files_odfviewer/appinfo/app.php
Kemudian hapus whitespace pada akhir baris kodenya hingga akhir penutup tag PHP.

OCP\Util::addStyle( ‘files_odfviewer’, ‘webodf’ );
OCP\Util::addStyle( ‘files_odfviewer’, ‘odfviewer’ );
OCP\Util::addScript(‘files_odfviewer’, ‘viewer’ );
OCP\Util::addScript(‘files_odfviewer’, ‘webodf’);
?>
[THIS IS A BLANK LINE]
Ubah menjadi seperti berikut ini:

OCP\Util::addStyle( ‘files_odfviewer’, ‘webodf’ );
OCP\Util::addStyle( ‘files_odfviewer’, ‘odfviewer’ );
OCP\Util::addScript(‘files_odfviewer’, ‘viewer’ );
OCP\Util::addScript(‘files_odfviewer’, ‘webodf’);
?>
Tutorial lengkap mengatasi galat tersebut dapat anda baca disini. Selesai sudah proses instalasi ownCloud.
Akhirnya kita sampai juga di penghujung tutorial singkat ini, semoga dapat bermanfaat bagi siapapun yang membutuhkan. Sekian dulu tutorial singkat membuat Cloud Storage ini. Untuk mencoba menggunakannya silahkan anda lakukan sendiri karena menu-menu yang terdapat di ownCloud ini saya rasa cukup mudah dipahami. Silahkan lakukan eksplorasi lebih lanjut, dan jika anda ingin bertanya mengenai pembahasan tutorial ini silahkan ertanya melalui kolom komentar dibawah. Terima kasih, see you next time.
Referensi:
  • http://owncloud.org/install/
  • http://www.tukangubuntu.com/owncloud-3.html
  • http://www.howtoforge.com/your-cloud-your-data-your-way-owncloud-4.0-nginx-postgresql-on-centos-6.2