OwnCloud: Work together online

There are ways of doing cloud computing without the help of the internet giants, such as Google and Facebook. One of the options is OwnCloud. There is a major new release of OwnCloud on the horizon. Currently in the advanced stages of beta testing, OwnCloud 6 may well have been released by the time you read this.

OwnCloud 6 offers the usual collection of bug fixes, usability improvements and minor features, along with some significant additions. Previously, we stated “There is only one important area where the open source alternatives do not match up to the commercial offerings – that of office productivity software”. Well, that is changing with OwnCloud 6 offering OwnCloud Documents.

Previous versions of OwnCloud had a basic text editor, but this is a proper word processor that formats and saves files in open document ODT format. More importantly, the word processor supports collaboration, so a number of people can work on a document. So far, only word processor documents are supported.

Updating

Because it is still in beta, there is no ultra-simple web installer, nor are you likely to find OwnCloud 6 in your distro’s repositories, so we will have to install it from a tarball. If you already have version 5 installed, you can install the two versions side by side. To have both at once, rename your existing OwnCloud directory to OwnCloud5 – you will find this in your web server’s DocumentRoot, usually somewhere like /var/www. Now cd to the document root and unpack the OwnCloud 6 tarball, which will create its own directory. You then need to give the user running your web server (usually either apache or www-data) full access to this directory; so the full sequence is:

cd /var/www
mv OwnCloud OwnCloud5
tar xf OwnCloud-6.0.0beta5.tar.bz2
chown -R apache: OwnCloud

If you use the default data directory location, you will need to move or copy the data directory from OwnCloud5 to OwnCloud. If you follow the advice given of keeping your data in a directory not accessible by the web server, say /var/OwnCloud, this step is not needed (this is another reason why it is preferable to keep your data outside the web server’s document root, it keeps it out of the way when upgrading). In that case, you should back up; the OwnCloud database is using sqlite. This is in a file called OwnCloud.db in the data directory, for example:

cp /var/OwnCloud/OwnCloud.db /var/OwnCloud.OwnCloud.db.oc5

Point your browser at your OwnCloud server, say http://localhost/ OwnCloud, and you will get the ‘Set up an admin account’ page, because you moved the old install out of the way and are starting again. If you have a separate data directory, don’t forget to tell the new OwnCloud where it is on this page – the setting appears when you click Advanced.

You could try unpacking the OwnCloud 6 tarball on top of your existing OwnCloud 5 files, but this can cause problems (it is still a beta after all) so the ‘backup and install afresh’ approach is recommended. Expect this to change when version 6 becomes production-ready. If you haven’t tried OwnCloud, the procedure is much the same as above, just skip the parts that involve backing up or renaming OwnCloud 5 paths. Unpack the tarball, set the ownership and log in.

Let’s process some words

Once you’ve logged in, you will see the usual web page listing the contents of your cloud; there’s nothing unusual about that until you look at the icons on the left side, particularly the one labelled Documents. Click on this and you will see a list of all ODT documents already on the server, plus buttons to upload or create new documents. Open a document and you will find yourself in a basic word processor, where you can then create and edit your own content.

If you are running the OwnCloud sync client on your computer, any changes you make will be synced to the computer, and vice versa. You will see your username to the right, a clue to the real power of OwnCloud documents. Click the Share button and you can specify users or groups who can also edit the document. Try creating another user and then opening a different browser window (either use a different browser or use private mode to stop cookies tripping over one another), logging in as that user and opening the document. The sidebar shows the other user is accessing the document, and any changes made by one user are updated and highlighted in almost real time in the other user’s session.

What happens when two users try to edit a piece of text at the same time? Unfortunately, this beta does not handle that well and responds by logging one user out, although hitting reload gets you back to where you were. If you are looking for a Save button, you won’t find it. Changes are committed automatically – use the close button to leave the document and ensure all changes are committed. If you want to see when changes were made, use the Activity button on the left of the main screen, which shows all activity on your account.

Collaborative document editing is the most prominent of the changes for OwnCloud 6, but there are plenty of others. If you are hosting OwnCloud on your own hardware, you can have all the storage space you need – that is not normally the case if you are using a VPS or other hosted environment. However, you probably have plenty of storage space available, with services such as Dropbox and Google Drive. You may be using OwnCloud for privacy and control, but you may also have plenty of non-critical data that you are happy to store with those services. Now you can do that and still have it available through OwnCloud, as it can use external storage services. This was a feature of OwnCloud 5, but it has been rewritten for 6 and now works much better.

First, you have to enable external storage by clicking the +Apps button at the bottom of the left-hand menu bar and enabling external storage support. Now you have an External Storage option in both the personal and admin settings pages, you can set this up globally or per user, but the global options page has a setting to prevent users doing this if you wish .

Give a folder name, the mount point for the external site, and select the type of site. For most sites, you will need some sort of authentication, such as a username and password. Others use OAuth, so you need to get a key from their site. For example, to mount a Dropbox folder, go to www.dropbox.com/ developers and, in the API console, create a new API app. Answer the question and press Create app. This will give you an App Key and App Secret – paste these into the OwnCloud settings, use the Applicable box to set who can use this (only for global settings) and press ‘Grant Access’, which takes you to a Dropbox page, where you log in and authorise this OwnCloud instance to access your Dropbox. The procedure is similar, although sometimes less complicated, for other storage services. You can even link two OwnCloud servers in this way. This really is a good time to start hosting your own cloud files.

Step-by-step guide: Set up and use OwnCloud

Get the program up and running to collaborate with your peers.

Step 1: Set permissions

owncloud-step1

If you are presented with this warning, it means that the OwnCloud directory is still owned by nobody – you can change that using chown.

 

Step 2: Recreate settings

owncloud-step2

Updating means starting with a blank config; you need to recreate your admin user and give the path to the data directory. Other settings remain unaffected.

 

Step 3: Share a document

owncloud-step3

The Share button unlocks the power of OwnCloud Documents’ collaborative editing. Pick the users or groups who can also edit this document.

 

Step 4: Two users, one document

owncloud-step4

This shows two users editing the same documents, with changes made by one highlighted in the other’s browser.

 

Step 5: External Storage 1

owncloud-step5

Before you can mount a Dropbox or Google Drive folder in OwnCloud, you first need to create some authentication keys on the relevant site.

 

Step 6: External Storage 2

owncloud-step6

Once you have the keys, you can set up the mount in OwnCloud and where it appears. Any changes will be automatically synced to your external account.