I followed Jorge Castro thread here and its working without a problem! on 12.04-2 x64 bit. However I have a question:
If there is an old/newer version client of ubuntu. How does it fetch cached updates?
The proxy works by caching the files themselves, so if you have an older version of Ubuntu and a newer version, most likely they will not share the same files.
So if you have 12.04 and 12.10, the cache will keep the files for each distro and will not share the .debs (except in the rare cases where a .deb goes from one release to the next without being changed). Usually if you have more than one of each version at a location that doesn't really matter as having a cache will still be better than none at all, but if you have an office with say one 10.04, one 12.04, one Debian, and one 13.04, then it'll keep a set of packages for each of those.
Though having cache misses for those can seem bad, it is nice when you have to upgrade an older machine and your proxy already has the files for the next version ready to go.
Also of note, the architecture matters, so if you have 64 bit 12.04 and 32 bit 12.04 the only .debs cached that will be applicable to both will be packages with data and documentation which are not architecture specific will be cached.