I host my own site from home over ssl as a learning experience and to run some services that wouldn't be easy to run on anything other then a VPS such as bitlbee. I'd like to have a web based email client that can pull email from remote servers such as gmail using pop or imap and have this installed on my home server. Are there any guides to setting something like this up? I'd like to host this on Linux but can host on windows if necessary.
Take a look at the Roundcube Webmail Project. It's a slick web interface for imap servers, runs under php with minimal dependancies. It's under heavy development, they have been stuck at version 0.2 for a while now, but don't let that put you off, just checkout the HEAD from svn and run that.
Postfix, Dovecot, and SquirrelMail, plus Apache and mod_ssl for https access.
For an easy solution I direct your attention to Zimbra.
In the past I've used Squirrel and Horde. I recommend Horde as Squirrel is so ugly, IMHO.
Here's a document on how to install Horde's IMP (a more lightweight solution than the full blown Horde suite).