The following is not mine, but I ran across it and it looks awesome. If you like the services .Mac provides, but would rather provide them yourself and you have a spare machine lying around, this how-to explains the steps required to do just that. I'm going to try it later tonight on an ubuntu server at home, and will post my findings in the comments.
[robg adds: Typically I would contact the author and request permission to repost their solution here, so we have it in the system. However, this particular how-to is quite long, very detailed, and contains lots of screenshots. It's also not for the faint of heart, as you'll have to do a fair bit of digging to find info, and then some configuration work. You're not just setting up a server that provides .Mac-like services, but you're setting it up such that the functions on your machine that use .Mac actually work with your internal server.]
Mac OS X Hints
http://hints.macworld.com/article.php?story=20070813090414538