OwnCloud: Create your own private cloud service
There’s absolutely no doubt these days that cloud computing is rising in popularity as electronic data plays an increasingly important role in our lives. Protecting our data with back-ups and ensuring its accessibility across a range of platforms (desktop, tablet, phone) is not a luxury anymore – many people consider it a necessity.
For home users and small businesses, there are a number of cloud storage solutions available for free, including Google Drive and Microsoft OneDrive. Many of these services will allow a user to manage a calendar, maintain an address book and store or share documents and photo files across the internet. Importantly, these services will seamlessly synchronise (sync) with mobile phones, tablets and/or desktop computers so that files are automatically backed-up, calendar events are recorded and so on.
Unfortunately not all of these services are really secure. DropBox has been criticised for being “hostile to privacy“, whilst Google Drive has been compromised on past occasions. With the National Security Agency (NSA) in the United States snooping around people’s files and Australia’s own mandatory data collection laws, many people would rather get their files off public shared clouds.
I’m one of those people.
The obvious solution is to manage one’s own cloud on one’s own server.
Options for a do-it-yourself cloud computing service
I chose OwnCloud because it’s open source, it’s in active development and because it’s a maturing product aimed at non-IT types. OpenStack, Apache CloudStack and OpenNebula appear rather complicated to set-up and run whilst Cozi and BitTorrent Sync require very specific server environment. SeaFile looks to be the closest rival for OwnCloud but OwnCloud’s web interface seems to be more advanced whilst FileCloud does not offer a free version.
The most important requirements for me were:
- Automatic back-up and storage of important documents and files under my control
- An ability to share files securely across the internet
- A sharable calendar/diary to manage appointments
- A back-up of mobile phone contacts
- A system that’s in active development
OwnCloud ticked all of these boxes, but it actually has a much broader range of functions and capabilities than those which I sought.
What you will need
In order to set-up OwnCloud, you will need:
- A registered domain name*
- Web hosting space with access to either MySQL 5.1 or PostgreSQL 9.1.14 databases and PHP 5.4 or greater.
- A Secure Sockets Layer (SSL) certificate to enable data transfer to run over HTTPS.
*If you already have a registered domain, then you can use a subdomain for your cloud (eg: owncloud.mydomain.com).
The costs of these can vary widely and will depend on what you plan to do with your cloud.
In my case, I already own several domains, so I was able to set-up a subdomain for free using my cPanel (saving me approximately $30 per annum). Likewise, I already have cPanel hosting with UberGlobal, so there was no need to purchase any more (hosting starts from $5 a month on Australian servers). My main expense was the 1-year RapidSSL certificate which cost $149 for purchase and installation (although cheaper options exist).
Setting-up OwnCloud was surprisingly simple. I’ve set-up a number of web packages before (eg: WordPress, SilverStripe) but this was by far the easiest.
OwnCloud have a one file install process. A single PHP file is downloaded, installed on the web server and executed. The OwnCloud files are then downloaded from OwnCloud’s server directly onto your own without the need to use FTP. This took all of 30 seconds and was seamless.
The (slightly) longer part was creating a MySQL database in cPanel. Once that’s done, the database details are entered into the OwnCloud installer and it’s all done.
Performance: The good and the bad
The performance of OwnCloud 8.1 has been mixed. Overall, I am pleased with the system but there are certainly a few glitches that need to be ironed-out. Here’s my review of what works and what doesn’t.
OwnCloud operates using a series of ‘apps’. A number of these are installed by default, but the rest need to be installed manually. To access the ‘apps’, there is a menu on the upper-left side of OwnCloud which provides a link. They are then sorted by genre (multimedia, productivity, games, tools) as well as by status as ‘enabled’ and ‘not enabled’.
Within OwnCloud 8, installing new apps should be a simple case of clicking an “enable” button within the “apps” tab, which would result in the app being downloaded onto the server and installed. Unfortunately this routinely causes a cURL error.
According to the OwnCloud forums, this is common. The easiest remedy is to click on the app link, download the files and install them in the ‘apps’ folder manually via FTP. Once that’s done, go back to the apps screen in OwnCloud and press “enable”. I had to do this for the Contacts and Calendar apps. Whilst inconvenient, the installation of apps isn’t a common occurance.
PDF Viewer 0.7 doesn’t work
Version 0.7 of the PDF viewer simply does not work. PDF files can be downloaded or viewed in Adobe Reader, but cannot be viewed within the browser. The best remedy for this was to disable the PDF Viewer 0.7 app. Once this is done, OwnCloud triggered a PDF view/save dialogue box in Firefox and the files could then be viewed in Acrobat Reader (Internet Explorer 10, Microsoft Edge 20 and Google Chrome all encountered the same error).
Setting-up user accounts and sharing documents
In order to gain maximum impact from my cloud, I needed to set-up an account for my wife to access the service. This was easily achieved via the “Users” drop-down menu. New accounts could easily be created and given admin rights (if desired).
When a new account is made, each of the installed apps will create new utilities. For instance, the “Calendar” app will set-up a new calendar for my wife whilst a new documents and photos folders were created under “Files”.
To facilitate file sharing, I created three new folders under “Documents”:
- A personal folder containing my personal documents (only I can see these)
- “Distribution”: A folder for placing files that I will send to friends, family and others
- “Share”: A shared folder that my wife and I can jointly access to share family documents
The “Share” folder has permanent share permissions between my wife’s OwnCloud account and mine. Anything that I place in that folder can be viewed by the two of us. Additional permissions for editing and deleting can be set.
The “Distribution” folder does not contain any special permissions. Its function comes from the way that the files in that folder would be shared. For instance, if I wanted to send some photo files to a member of my family, I would upload them to a new folder within “Distribution”. OwnCloud would then allow me to share the folder via a secure URL link which I could email to them. I can even set an expiry date if I want.
Whilst this can be done from any folder, I prefer to have a dedicated folder for this purpose. Ultimately, you can set all of this up in any way that you want.
Syncing documents with my computer
One of the nicest features of OwnCloud is being able to sync documents on my hard drive with my cloud automatically. A small desktop client is available from OwnCloud to enable this. Versions are available for Windows, Linux and Mac.
Once installed and configured, files that are placed in certain defined directories will be automatically uploaded to the cloud (you can specify which directories). Conversely, documents that are uploaded to the cloud will be downloaded to the desktop if placed in the corresponding folders. I created a Library in Windows 10 called “OwnCloud” in which to place the files that I want to sync.
One problem that I did encounter with the OwnCloud desktop client was that the set-up was lost when a software update was installed. Whilst the desktop client was relatively easy to reconfigure, this really should not have happened in my opinion. I am unsure whether this was a glitch in my system or whether the software updater is not designed to retain preexisting configurations.
One of my biggest requirements for OwnCloud was a syncable calendar. I have to say that the calendar worked like a charm. Installation (using the aforementioned manual FTP method) was easy and the app was simple to navigate. Because I need to ‘collaborate’ with my wife (is that the right term?!), I set-up two calendars; one called “Personal” and one called “Shared”. My wife can see what’s in “Shared” but not “Personal”. The same arrangement exists for her account.
The best utility comes from being able to sync the calendars with our Android phones. OwnCloud calendars use the CalDAV protocol to enable devices to share calendar information. Android doesn’t natively support CalDAV, but I installed the Easy DAV for OwnCloud app, which is free and lived up to its name. All that I had to do was enter my server URL, username and password and my phone calendar was fully synced with the cloud. If I added an event in the phone, it appeared on the web interface and vice versa. Both the personal and shared calendars became visible and events could be assigned to either calendar at the moment of creation.
Unfortunately Android assigned a pale green colour to my personal calendar, which made the white writing almost illegible. Thankfully the Calendar Colours app fixed that! Note that OwnCloud calendars can also be synced with iPhones and other Apple devices.
CardDAV address book sync
Unfortunately, as of writing, I have been unable to sync my phone contacts, using either the Easy DAV or CardDAV-Sync Free apps on my phone. These two apps each successfully connected to my OwnCloud server and appeared to work correctly on Android. The problem is that OwnCloud doesn’t seem to be able to sync those contacts. This is a widely documented problem with OwnCloud 8.
7 January 2015 update: This now works.
Editing documents in the cloud
One of the features that is theoretically available in OwnCloud 8 is the ability to edit Microsoft Word (.docx and .doc) files directly in the browser via the Documents app. This has obvious advantages and may be a reality one day, but doesn’t work too well at the moment. (OpenOffice files work perfectly). The Documents app has limited functionality and requires an OpenOffice or LibreOffice installation on the server. This option isn’t available to me and from what I can gather, doesn’t work too well anyway.
The other possibility is to add OwnCloud as a cloud service to Office 2013. Someone has written a script to achieve this, but nothing is available for the older Office 2010. That said, many people seem to be having problems with that too. I suspect that one of the problems is that Microsoft is very keen to push its own OneDrive service and doesn’t appear too keen to enable others (including Google Drive and Dropbox) to participate.
The other conclusion – in fairness to OwnCloud and everyone else – is that this aspect of cloud computing is in its infancy and awaits further development.
I have to agree with others that OwnCloud can be a bit fiddly, but from my experience all sophisticated PHP packages have a degree of complexity. OwnCloud mostly lived up to expectations and does everything that I need it to, but there were a couple of disappointments.
What works well in OwnCloud:
- The super-simple web-based installation
- Calendar sync with Android phones (CalDAV)
- Document sync and back-up with desktop computers
What needs improvement in OwnCloud:
- Address book sync with Android phones (CardDAV)
- PDF viewing and Microsoft Word viewing and editing within the browser
- App installation and updates
If you’d like to read some more, I recommend the following blog posts:
- First impressions and review of OwnCloud (2015)
- OwnCloud 8 released with usability improvements (2015)
- Using OwnCloud: A month in review (2015)
- With version 8, OwnCloud becomes a viable Google Drive replacement (2015)
- Why I dropped DropBox and got OwnCloud (2014)
- Dropbox vs OwnCloud (2014)
- OwnCloud vs. DropBox – Introduction (2014) and Conclusion (2014)
- OwnCloud awesomeness (2014)
- Self-hosted cloud storage comparison (2014)