ownCloud
ownCloud is an open source online storage service that lets private users and communities run their own cloud storage service on a private root or intranet server. In contrast to closed or commercial offerings like Google Docs, Dropbox, or Ubuntu One, users keep control of their data, so they can store data, share it with others, and access it from anywhere in the world.
ownCloud started life in the spring of 2010 as a KDE project based on open standards but not requiring any KDE application as a dependency. It is free software released under the Affero General Public License Version 3. Version 2 of the software was released October 11, 2011. An online demo installation is available for public testing.
An ownCloud server stores user data and offers interfaces for client access. The data can be normal files such as documents, music, or images but can also include records such as contacts or calendar entries. Data access is handled via WebDAV and is possible on any Linux, Mac, or Windows system, as well as on mobile devices. Additionally, ownCloud provides a convenient web interface that allows administrators to configure the system and manage users and data.
The integrated plugin system extends ownCloud by adding, for example, an HTML5 music player, a synchronized calendar, and an address book and letting you develop your own functions as well.
Setting Up the Cloud
You can install (your) ownCloud on a private root or corporate server running on Linux, Windows, or Mac OS. To run an instance of ownCloud, you need PHP, Apache, and MySQL or SQLite as the database back end. Some Linux distributions already include ownCloud packages, but only rarely will you run across version 2. To pick up new releases and developer versions, you can visit the Git repository or download the tarball.
For this article, we installed ownCloud 2 from a tarball on an Ubuntu 11.04 machine. The installation guide will help you here. The first time you access ownCloud in your browser, it will prompt you for configuration parameters, and after you provide the details, your cloud is ready for action. If the permissions for the storage directory are not set correctly, you will get an error message in the ownCloud web interface.
Speaking of security, we strongly advise you to access data over encrypted connections only and to deploy the Suhosin PHP security extension.
Using ownCloud
To access your ownCloud storage directory transparently, you need a file manager with WebDAV or Secure WebDAV support. On Linux, you can also use a filesystem driver such as davfs2 to mount the WebDAV storage directory as a local filesystem and thus make it globally accessible to all applications on your system. However, you can’t use WebDAV to change file permissions in the cloud. Also, ownCloud 2 doesn’t let you temporarily store data locally for offline operations, although a synchronization service is currently under development.
Although the main interface for managing files is supposed to be WebDAV, the web interface is useful to both ownCloud users and administrators. The Ajax-based web front end with its modern design is user friendly and responds quickly. The current version will cooperate with most popular browsers, although with some minor differences. Calling the site in our lab worked best with Firefox when compared with Konqueror, Chromium, or Internet Explorer. Also, you can render the view on smartphones, although the ownCloud developers might want to modify the layout to make this easier.
Using the web interface, you can upload and download files, as well as delete files or create folders. Also, you can select multiple files or complete folders for download, which ownCloud then automatically compresses to ZIP files. However, some feedback messages important for users are missing, such as an attempt to overwrite a file of the same name or exceeding the maximum number of files that can be uploaded; the default here is just 20.
To share data, users can click the Share button in the web interface and then decide whether to share the file with selected users or make it globally accessible (Figure 1).
ownCloud expounds on the theme of the Internet as a social network by supporting sharing and collaboration between users. The web interface helps administrators manage users and groups and restrict their storage resources using quotas. ownCloud also supports LDAP and Open ID for authentication purposes.