We are all aware that storing data in the cloud has its own advantages, making our data available everywhere we go. But storing our personal data on someone else’s server might lead to concerns about privacy. Check out the recently released ownCloud 3, which lets you host your data on your own server.
We’ve all used, or at least heard of, services like Dropbox, Ubuntu One and Box, which allow us to store and sync our data in the cloud. This usually involves uploading our data to their servers (and purchasing more space, if we need to). It also comes with advantages like availability of our data from anywhere, and the ability to live-stream our media files when needed. But what if I tell you there is a cheaper and more privacy-oriented solution available, which offers similar features, and is also open source?
Yes, that’s ownCloud we’re talking about. You can deploy ownCloud on your own server on a LAMP stack, or buy some cheap Web space and store your files. That is definitely cheaper than what most solutions provide. If it’s only local intranet access that you want for sharing your files, look no further, because this is an ideal solution for that purpose.
The advantages of having ownCloud on your own server, instead of using services like Dropbox, is that you’ll have more of a say about what you can store, and how much you can store. You are only limited by the amount of space you have left on your hard disk! What’s more, you are responsible for your own data, so there are no privacy concerns about where/how your data is stored, and whether it is safe — somewhat like the Diaspora project in social networking.
What’s new in ownCloud 3.0?
With the ownCloud application in active development, quite a few new features are available in the latest stable version. The use of open standards and protocols like webDAV, calDAV and cardDAV allows for the cross-platform availability of synchronisation without any problems. The text editor and photo gallery are features that no other vendors provide. The PDF reader is an added bonus, and makes reading ebooks and other documents easier.
The calendar application makes more sense now that recurring events are available. You can now also install third-party applications for extended functionality within the Web application. Overall, when you compare this to the older versions, you’ll see that the team has put in a lot of hard work.
Before going in for an install, you might want to check out the demo installation available online at demo.owncloud.org. It will give you a fair idea of what you are in for.
Installing ownCloud involves either getting it from your distribution’s repository, or downloading it from from the project website and installing it manually, along with dependencies. The version available in the repositories is likely to be very old, so I suggest you try installing it yourself.
For our discussion, we’ll be installing ownCloud 3, to get a taste of all those new features. The required dependencies can be installed in Ubuntu as follows:
sudo apt-get install apache2 php5 php5-json php5-gd php5-zip php5-mbstring php5-xml
In case of other distributions, you can figure out the equivalent commands and packages. Also, these optional packages can be installed, depending on your choice of environment:
sudo apt-get install mp3info curl libcurl3 libcurl3-dev php5-curl zip php5-sqlite
Basically, ownCloud supports mySQL or SQLite as the backend database, so keep that in mind while installing the packages and database. Now that all dependencies are in place, we can download ownCloud from the site or from its Git repository; extract it, copy it to Apache’s Web root directory, and set the permissions, as follows:
tar xvfz owncloud-master.tar.gz sudo cp -r owncloud /var/www cd /var/www sudo chown -R www-data : www-data owncloud
Assuming you have Apache properly configured, you can go to the deployed location via a browser, like
http://localhost/owncloud. You will be asked (Figure 1) to set up your admin username and password, and you’re done! However, if you’re using MySQL for the database, you will also need to enter those details (database username, password etc). You might also want to change the default data storage directory.
Alternatively, if you want to upgrade from ownCloud version 2 to 3, you simply have to replace all files, except the custom configuration and your data. As for version 1, unfortunately there is no way to upgrade from it, and you will have to do a fresh installation from scratch.
The Web interface (Figure 2) is rather simple, with a list of files in the centre, and tabs to various applications like the file browser, music player, calendar, contacts, gallery, etc, at the left. At the bottom left corner is the Settings button, which reveals further options when clicked (Figure 7).
Clicking each file either allows you to download it, or opens it in the text editor if it is a simple text file. There are also various sharing options, allowing you to share files among users and user groups.
The text editor (Figure 8) is quite well developed, and has features like syntax highlighting and code folding. We can even read PDFs with the help of the integrated PDF viewer, which does not require any plugins to be installed on the client system (thanks to
pdf-js). The music player (Figure 3) allows you to stream music that has been uploaded to the ownCloud server. It can play MP3 files, and show you basic tag information stored in the ID3 tags — no fancy features here.
The calendar and contacts applications (Figures 4 and 5) are very impressive, with both providing calDAV and cardDAV synchronisation for applications like Thunderbird, Evolution, etc. The calendar application also allows for recurring events and all-day events like birthdays, etc. You can set up multiple calendars and address books, with each having their own calDAV/cardDAV link, so that these can be synchronised independently.
The latest feature in ownCloud 3 is the photo gallery application (Figure 6), which includes automatic album creation and album covers. The photo viewer, too, is very beautiful and simple. An annoying feature, though, is that an album and thumbnails in the gallery remain there even if the associated files have been deleted from the server. There is also an option to install third-party applications from the Apps tab under the Settings menu. There are not too many applications as of now, but let’s hope for a better future!
Here are some more features and tweaks that you may find useful.
Increasing the maximum upload file size
An irritation with the ownCloud Web interface is that, by default, it does not allow for files greater than 2 MB to be uploaded to the server. To increase this limit, we have to edit the
php.ini file (usually located at
/etc/php5/apache2/php.ini) and change the value of
post_max_size parameters to the value we want. After saving the file, restart Apache to see your changes take effect!
Syncing files with webDAV
ownCloud allows for file synchronisation with the help of the webDAV protocol. This is an open standard that works with almost any platform, including Linux, Windows, Mac and even mobile platforms like Android, etc. To set up webDAV in Nautilus, go to File –> Connect to server, and select webDAV as the connection type. Type in details like the server location, files, username, password, etc, and you’re good to go.
These details will usually be available from the personal section under the Settings menu in the Web interface. A major bug that I stumbled on was that webDAV reports incorrect information related to the free space left on the server, and that we are able to upload files, ignoring the warning.
Alternatively, you can try setting up webDAV with the help of the
davfs package, as described on the project documentation.
Music streaming with Ampache server
ownCloud can stream music to any desktop player that supports the
ampache protocol, like Amarok, Tomahawk, etc. We can use Banshee to stream music with the help of the
banshee-extension-ampache package, which needs to be installed separately. Just enter the Ampache media link shown on the personal settings page, along with your ownCloud login details in your player’s settings, and you’ll be streaming music in no time.
Using ownCloud is an altogether different experience, compared to other services like Dropbox. I must say no other service will ever provide such a wide array of features like music streaming, online editing, photo galleries, etc. It does seem like a very good choice if you want to get a taste of the cloud, and set up media streaming within your own local intranet, or on a Web server, without any storage restrictions.
Overall, the software has a good feel to it, and is in active development, though the current release does have a few bugs here and there. Also, the documentation needs a lot of work, in order to attract new users. The next release is proposed to be out in the next two to three months. Some of the features you should be looking forward to are encryption, editing of complex document formats like
.doc, a native desktop, smartphone (Android) synchronisation applications, and many more you haven’t even thought of!
The author is a geek with a crush on Java, and also loves flirting with almost all other stuff related to Web technologies. Feel free poke fun at his articles and direct your feedback to the comments section below.