Should I install an OS X Server on a Mac Mini and use owncloud? Or should I use macmunicolo (rent Mac Mini)? Or try Apollo Personal Cloud Storage?
NB: you probably don't need to buy OS X Server - its not like OS X server is hugely expensive these days, but I wouldn't bother unless you also need
several of its advertised features. It'll be mostly irrelevant to a third-party/open source sync server.
Mac Minis are cool little servers, but they don't have much space for disc drives. There are NAS boxes from Synology, WD etc. that offer "cloud storage" features or if you're not afraid of a bit of techie stuff you could install Linux, FreeBSD or FreeNAS on a re-used PC or something. (I got a HP Proliant micro-server for £150 and installed Ubuntu Server on it - there are also howtos for installing FreeNas on it).
Also - what's your home internet connection? Some ISPs prohibit running servers full stop. Also ADSL/VDSL (phone line and fibre-to-the-cabinet services) often have very slow
upload rates that are a fraction of the download rate (and anybody remotely fetching files from your home server will feel that pinch). Some solutions might need a fixed IP address (an extra cost with some ISPs - not available with others).
Then, you have to leave a server running 24/7 in your house, and if your remote storage suddenly stops working while you'll have that wonderful "is it just the broadband on the blink or is my house a smoking hole?" anxiety
Personally, I'd only run servers off a home broadband for personal (i.e. just me) use or very limited experimental use and, for anything more serious a co-location service or virtual private server (in a proper server facility with a decent pipe to the internet) would be the sensible (if more expensive) choice.
Sync-wise, I'm using
SyncThing which runs on Mac, Linux and Windows (and there's a plugin for FreeNAS) - principally just over my home network, but it can work over the internet. Security wise, you have to exchange long "device IDs" to give others access. There's an (optional) "global discovery" server that avoids also having to swap IP addresses (and I guess removes the need for having a fixed IP address for your home network, although I use a fixed IP anyway).
It's essentially peer-to-peer syncing, but if you want an always-on service it makes sense to have everything syncing to a "master" server. I use a Linux box. I assume you could use it on a co-located machine of virtual private server.
There's a third-party iOS client "
fsync()" but I haven't tried it.