Jeremy Davis's picture

ownCloud (or is something of a 'Dropbox' type file server (but without an autosync client - ie the web interface part of Dropbox). The big difference is that it is open source and allows you to run the server yourself. It also includes other cool features such as a browser based text editor and a photo gallery. Since v3.0 it also includes facility for additional (html/php/javascript) apps to be included. There aren't many available just yet, but you can have a look at what is there so far here.

The big thing it is missing IMO is that there isn't a standalone client available ATM (AFAIK it's on the wishlist). In my mind that was a little bit of a let down when I discovered that (I didn't realise until after I created the patch). However I still think that this would be a good candiate for TKL.

Following on from discussions on this thread I finally got around to creating a patch for it but it hasn't been extensively tested (actually it's barely been tested at all and was bashed together in a couple of hours...).

What the patch does (in order):

  • Add Apache2 site "owncloud-standalone". [overlay]
  • Add an amended services.txt to Confconsole output. [overlay]
  • Add owncloud-usr.sql and owncloud-setup.sql files to /var/www for import to MySQL DB (by conf script). [overlay]
  • Add customised config.php config file to /var/www for import into ownCloud (by conf script). [overlay]
  • Add firstboot inithooks for setting Admin username and password and create random secrets for ownCloud MySQL DB (, 20rengen-oc-secrets & 40owncloud) [overlay]
  • Create MySQL user, create and populate database (using .sql files overlayed previously). [conf]
  • Set hostname to 'owncloud'. [conf]
  • Install php5-gd. [conf]
  • Download latest stable ownCloud from git. [conf]
  • Disable default apache site and enable owncloud-standalone. [conf]
  • Ensure ownership of ownCloud doc root by webserver (www-data). [conf]
  • Stop Apache2 and MySQL services (so patching finalises cleanly). [conf]
  • Cleans up inc apt. [conf]

To do:

  • Tweak file upload size (edit php.ini as detailed here).
  • Test application of the patch to an ISO.
  • Extensive general usage testing (no usage testing has been done at all yet).
  • Test connectivity of alternative methods such as WebDAV (ensure is all working as it should).
  • Look at what (if any) ownCloud applications/plugins which may be useful for TKL community (probably none at this point, but be good to watch the apps page).
  • Consider what documentation will be required.
  • Check out some client sync options (ie a local client that can auto-sync a predefined folder to/from your ownCloud) so we can recreate a "Dropbox-like' experience. Rsync may be an option although perhaps leveraging an existing app that can sync via WebDAV may be a better option? FreeFileSync looks promising - it's cross-platform and can run via commandline apparently - worth further investigation. Another open source sync client that can sync to WebDAV (that looks promising) is WebDAV-Sync - it's a Java app (that also has commandline too from what I can gather) so crossplatform support would be good one would guess. It seems that there is official ownCloud client development happening but currently no release. I found an ownCloud desktop client under development on Gitorious but I'm not sure where it is up to. There is an Android client under development too. All ownCloud development seems to be occuring on Gitorious here. More research suggests that Mirall/Csync will be the tools/sync client of choice.
    This aspect definately requires significant investigation I think!

Known Bugs

  • None known currently.


  • First boot scripts to set 'admin' user password and set random ownCloud-MySQL passwords (not needed by end user, just created for security).
  • I modified the database slightly (I added an 'id'  column to the user DB, with the first entry being preset to '1' and all subsequent entries being '0'). This is to ensure that when the firstboot script edits the Admin username and password it edits the first user. This isn't an issue initially (as there is only one entry) but as the user can set the username I anticipate that if the firstboot script were to be run again then it wouldn't know which entry to edit unless there was something to define it.
  • Facility to impliment forcing of SSH with a .htaccess file is included in the conf script (but is currently commented out).
  • Set ownCloud webroot (so ownCloud is available at https://<ip>/ rather than https://<ip>/owncloud/).

I haven't extensively tested it (in fact TBH I haven't tested it at all as a patch so there may be bugs...) but it seems to work so far.

The ownCloud app itself has also had very little testing and has only been tested as far as log in and navigate around. I have not tried connecting via a client or any other the other funky looking stuff it does.

Currently the ownCloud TKLPatch is only avaialble on my GitHub here. Instructions on installing a patch from GitHub here.


Add new comment