Home >> Linux >> Use ownCloud to build your own private cloud

Use ownCloud to build your own private cloud

Follow @LinuxUserMag

ownCloud lets you create your own file management/sharing/backup system without having to rely on a third-party cloud service. It also provides other functionality like contacts management, calendar management, plug-in support, users, groups etc. All these features make ownCloud a fully fledged enterprise-level file management tool. In this article we will provide a step-by-step installation guide to set up ownCloud on your system, although setting it up on a third-party server (for example a web server provider) will probably be easy because you don’t need to install the server. We will then explore some other use cases where it can be deployed. Then we will go through some of the third-party apps/plug-ins available, which can be hooked onto ownCloud to provide further functionality.

We’re using the latest ownCloud version 5.0.13 and the dependent PHP versions for this article, although some of the plug-ins discussed here may require older versions of ownCloud. Please check the corresponding plug-in documentation link before trying to install the plug-in.

ownCloud automatically categorises the uploaded files
ownCloud automatically categorises the uploaded files


Server like LAMP/WAMP/MAMP
ownCloud plug-ins


Step 01 Introduction

ownCloud is an open source file sync and sharing application, available in a free community edition as well as an enterprise edition. It allows you to back up, share and manage files uploaded to the server. With multiple interfaces – like the web UI and Android/iPhone apps – it allows you to be in touch with your data at almost any point of time. The ownCloud desktop client for Windows, Mac OS X and Linux lets you sync your files seamlessly with the ownCloud server, akin to Google Drive or Dropbox clients. With this full ecosystem support for file syncing, ownCloud truly is all about ‘Your Cloud, Your Data, Your Way’, as they say in the documentation.

Step 02 Installing the server

There are two possible setups here. You may want to install ownCloud on your system or in a small home/office setup, where it is accessible in a LAN. Otherwise you may want it to be available on the internet. In the latter case, you can skip this step, but if you are planning the former, you will have to identify a machine as the server and install a server such as Apache to that system. But, as discussed earlier, a server is not the only requirement for ownCloud. You also need a database and PHP support. So, a LAMP/WAMP or MAMP server is probably the best way forward, since all the required tools come bundled with these servers. Your advisor uses the MAMP server in his system to host ownCloud.

Step 03 Installing ownCloud

With the server active, we can try to host the ownCloud application. Before that, download the application code from ownCloud’s official website: just click on the ‘Tar or Zip file’ link on the ownCloud install page. Unzip the archive and place the extracted folder in the root of the server. Now, access the folder via your web browser. The welcome page opens up and prompts you to enter the admin ID and password. Below the prompt you’ll also see an ‘Advanced’ link, where you can change settings related to the database etc. Once done, just click on ‘Finish Setup’ and that’s all! You have your ownCloud.

Step 04 Get going with ownCloud

Now that ownCloud is installed, and the admin user created, you may want to add more users and then each of those users may want to upload their files. In this step we will see how to do this. First, the user management – click on the ‘admin’ button in the top-right corner of the homepage. In the drop-down list that appears, click ‘users’. This takes you to the user management page where you can add/remove users and also segregate them in groups. You also have the option to assign the admin for a group. To upload files, you can simply click on the ‘new’ button in the ownCloud homepage and then select the file to upload in the upload window.

Step 05 ownCloud sync client

Along with the server application, ownCloud also provides the desktop sync client, which can be installed on the user’s system. The sync client makes sure any files present in its folder get uploaded automatically to the server. Just download the client, point it to your ownCloud server URL and enter your credentials. The client then connects to the server seamlessly and starts syncing. The app is highly configurable and lets you change many settings, including bandwidth usage and multiple sync folder support. Also, it is available for all the major platforms: Windows, Linux and Mac OS X.

Step 06 Other applications of ownCloud

It may appear straightforward, but there is a lot more to ownCloud than just file syncing. ownCloud not only helps sync files between multiple devices and platforms, it also lets you manage your calendar and contacts. The calendar link on the left side of the homepage lets you create events and share them with other users or groups. It also supports multiple calendars and syncing with iCal. The contacts option supports adding and managing the contact details. Contacts can also be uploaded as .vcf files – and, like files and events, you can even share the contacts among users or groups.

Step 07 Roundcube mail plug-in

With contacts and calendar support, you would probably start to think, why isn’t email supported? Thankfully, with support for external plug-ins, ownCloud lets you extend the functionality in any way you wish. Open source webmail client provider Roundcube offers an external plug-in which brings your mailbox to ownCloud. To install the plug-in, go to the ownCloud official plug-in portal, download it and paste the downloaded files to the htdocs/apps folder. Now, click on the ‘apps’ link in the drop- down that appears after clicking on admin (at the top-right corner of the page). Here you’ll see all the apps; go to the Roundcube app and enable it. This enables the app, but you still need to create the database and configure the web server. For more details, you can check the installation guide.

Calendar Plugin

Step 08 Shorty plug-in for weblinks management

With the internet having grown so vast, it’s become difficult to track webpages and the content you like. On top of that, there are now so many devices: phone, office PC, home PC etc. So, the link you saw at home yesterday is difficult to find when you want to show it to your colleagues in the office. Shorty comes to your rescue. This plug-in lets you create and store short links from the web. It comes as a preloaded plug-in with ownCloud. To start using it, you just need to enable it from the apps page. Once enabled, you can just drag and drop the button from the Shorty interface to add a site to your list. You can also shorten the URLs with a configurable back-end service like goo.gl, ti.ny etc.

Step 09 File encryption plug-in

Security and privacy have become major areas of concern in recent years. With ownCloud you can be sure of using your own server; still, encrypting the data makes the whole setup even more secure. ownCloud ships with an encryption plug-in and once you enable it, all your files get automatically encrypted. The encryption is done server-side and only the ownCloud portal can decrypt the data, using a key that is generated with your password. So be careful once encryption is enabled because if you forget your password, there is no way to retrieve the data by default. To protect yourself against such loss, you can enable ‘recovery key’ in the ownCloud admin settings for encryption.

Step 10 Journal plug-in

The last plug-in we will look at in this article is the journal entry one. This plug-in lets you create journal entries in your ownCloud calendar. The plug-in ships with ownCloud, but before you enable it, enable the TAL Page Templates plug-in (also preloaded with ownCloud). The entries are saved as VJOURNAL records in the calendar and can be sorted and filtered by date/time.

Follow @LinuxUserMag

Leave a Reply

Your email address will not be published. Required fields are marked *