ownCloud: Take Full Control of Your Online File Storage

ownCloud is a cloud file storage solution that lets you avoid the service disruption, vulnerability, and privacy weaknesses of public hosting services.

Between all of the cheap or even free file hosting services available now – like Dropbox, OneDrive, and Google Drive – you’d think that there wouldn’t be much of a case to be made for building your own. But you’d be wrong. Because of ongoing concerns about service disruptions, security vulnerabilities, data privacy, and sometimes even cost, some people are always going to need to control their files more directly.

For such people, the ownCloud open source file hosting server can provide a powerful solution. It works by installing ownCloud on top of an Internet-facing Linux (LAMP) server. Then, using freely available desktop and mobile apps or the browser interface, you can upload, access, share, sync, encrypt, and control your files to exactly fit your needs.

ownCloud Installation

They’ve definitely taken all the fun out of ownCloud installation. Not too long ago, if you wanted to build an ownCloud server, you would first need to install a web server, database, and Python. Then you would create appropriate database accounts, add entries in your web server configuration file pointing to ownCloud, populate your /var/www/owncloud directory with the package files, set appropriate file permissions, and enable SSL.

Those were the days.

Now, thanks to the good folk at openSUSE, you only need to add an openSUSE Build Service repository to your package manager, update your repositories, select the package matching your operating system, and install.

Here’s how that looks for Ubuntu 14.04:

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/xUbuntu_14.10/ /' >> /etc/apt/sources.list.d/owncloud.list"
sudo apt-get update
sudo apt-get install owncloud

You might also need to manually add the repository key to your package manager, but that’s it.

All that’s left for you to do is enter a MySQL password when prompted. Note: by default, ownCloud will use the SQLite database but, if you’re planning to work with larger volumes of content, you should switch to something a bit more robust, like MariaDB. Migration is supposed to be easy using the occ db:convert-type tool. (See ownCloud’s documentation.)

In any case, now that everything has been magically installed and configured, you should point your browser to your web server.


ownCloud configuration

The first time you visit the site, you’ll be prompted to create an admin user along with a password. If you used the manual Linux setup process, you might also be asked for access to your database. Once logged in, you’ll be shown links for downloading and installing ownCloud desktop and mobile apps so you can seamlessly sync files between devices:
Welcome to ownCloud screenshot
From the drop-down at the top right of your screen, you’ll be able to access the user management page where you can create users and groups, and manage account limits.

The Admin page allows you to manage areas like security (server-side encryption), backups, and sharing. Sharing includes Federated Cloud Sharing, which permits file linking between ownCloud servers. Your unique Federated Cloud ID, which can be seen on the Personal page, might look something like:


Which brings us to cost.

Being open source, the ownCloud Community Edition is freely available for any task you’d like to throw at it. However, you may find that storing large amounts of data on your own web server volumes – especially if you’re working with a cloud-based virtual machine – can be expensive. It would be nice if there was some way to leverage the cheaper rates associated with cloud storage services like Amazon’s AWS S3.

Well, there is. And there isn’t. I guess it’s at least theoretically possible to configure S3 as the primary storage for your ownCloud Community Edition. But it will work right out of the box if you purchase the ownCloud Enterprise Edition version.

Cloud Academy