by March 14, 2014 0 comments

Most people now-a-days use services like Google Drive or Dropbox for storing, syncing and taking backup of important data. Most of these services have a free tier and a paid one that offers higher storage capacity. But there are two issues with such solutions.

First indeed is the pricing. You not only pay for the storage, but also for the bandwidth you consume for syncing data over the Internet. Let’s assume you put 5 GB of data on Dropbox for the first time, and you have five devices syncing to this account. Without realizing, you end up with 25 GB of data communication-5 GB of upload and 20 GB of download. For a home user, it may or may not be much of a concern. If you enjoy a liberal FUP (Fare usage policy) with your ISP, then you may not notice. But, if you’re on a limited bandwidth plan, then you’ll definitely notice it in your next Internet bill!
Let’s now consider the same scenario for an enterprise. Now-a-days, organizations are frequently using such cloud based storage services, primarily due to the ease of use they offer and their integration with most mobile devices through simple apps. But what they are doing is, loading their corporate Internet pipe for sharing data locally (in most cases). So let’s assume you are trying to share a 500 MB file with your colleague who sits in the same building and is also connected over the same LAN. Or probably he’s at some other site, but connected over the corporate WAN. Still, if the file is shared over Google Drive and alike, it will first go to the Internet and then come back via the Internet. So essentially, you waste 1GB of Internet bandwidth. Now multiply this with the number of users using Dropbox or Google drive in your organization and you can imagine the impact.
Before we come to a conclusion and solution to this problem, let’s talk about another major issue. Recently we witnessed a massive outbreak of privacy concerns. Secret services of various countries have been in the limelight for snooping on user data stored in such public places. So, for the interest of preserving personal and corporate anonymity over the Internet, many early adopters are considering doing away with public cloud based storage, at least for crucial and classified data, and store it within their own premises.
For that matter, many countries have a mandate for various verticals that they are not supposed to store certain classified data outside their country’s boundaries. Hence comes the need for a storage syncing solution that’s on premise, secure and has all the bells and whistles of the well-known Cloud based products. Or probably even more.
So here, we are going to talk about an Open source application called OwnCloud, which lets both personal and enterprise users create their own storage cloud that has most of the features that you would get in a Cloud based solution like Google drive, etc.

We’ll cover the following in this feature story:
– Installing OwnCloud on a Raspberry Pi
– Deploy a split DNS to leverage local area data sync.
– Installing OwnCloud on a Windows Machine
Installing OwnCloud on RasPi
I’d first like to thank petrockblog on GitHub, who has created a nice and comprehensive script that lets you install OwnCloud on a Raspberry Pi with a breeze.
Here is how to do it.
To start the installation, make sure you have downloaded and installed the latest build of Raspbian image on an at least 4 GB SD Card. You can download Raspbian from http://www.raspberrypi.org/downloads.
You can download and use Win32diskimager.exe from
http://sourceforge.net/projects/win32diskimager/

To write the Raspbian image to a SD card, put the card on a Raspberry Pi and fire up the pi. Make sure it’s connected with a keyboard and a monitor at this stage, as we need to perform the installation activity. Also make sure you Pi is hooked up with the Internet.
Now, login to the Pi and escalate yourself as root user by running the following command:
$sudo su –
Now, make sure the Raspbian is fully updated by running the following command:
#apt-get update
Once the update process is done, download the OwnCloud master package from gitHub by running the following command:
#wget https://github.com/petrockblog/OwncloudPie/archive/master.zip

Then, unzip and run the script like this:
#unzip master.zip
# cd OwncloudPie-master/
# chmod 755 owncloudpie_setup.sh
#./owncloudpie_setup.sh
You will see a screen like the one shown in the screenshot. Here, you will see two installation options. One using Nginx and other using Apache. I am an Apache fan and I already had a plan of using an Apache website on the same Pi where I was deploying OwnCloud. Hence I used Apache based installation. But you can select the one you’re comfortable with because the installation steps are exactly same for both as far as the user is concerned.
Select option number one first, which says Set Server URL, and give a name to your OwnCloud server. Here make sure you either have a public IP or a DyDNS or alike account to access your OwnCloud over the Internet. The name which you will put in the Server URL option, should be the name mapped with your public IP or DyDNS name.
Once you have done that, select option number 2 o 4, based on whether you need Nginx or Apache and hit enter.
The installation is going to take around 15 to 30 minutes based on your Internet bandwidth. So you can go and grab a cup of coffee while it’s happening. The installation is mostly self-driven. All you will be asked for is your local information for creating the self-signed certificate for activating HTTPS for OwnCloud access.
Once the installation is done, you should be able to access your OwnCloud interface by hitting the server URL you have provider with ‘/owncloud’ like this:
https:// < your-server-name>/owncloud
From here, the process is identical to what we have learnt in the Windows deployment piece.
Configuring Split DNS
Now, comes a nifty trick to save bandwidth.
If it’s a corporate deployment of OwnCloud, then the process is much easier. Assuming you already have a local DNS server deployed, all you have to do is to add an ‘A’ record for the OwnCloud Server URL with the Local (LAN) IP of the OwnCloud server.
This will make sure that whenever a user from the LAN tries to access your OwnCloud server, the traffic is routed

No Comments so far

Jump into a conversation

No Comments Yet!

You can be the one to start a conversation.

<