Which method did you go with? If you're going to be hosting sites from your personal computer, I would suggest using virtualization software for this. Something like
VirtualBox along with whatever operating system you choose to go with. Using VM will essentially separate your host operating system from your webserver's operating system.
With regard to running your own email server, you can do this - but it might not work out well. IP addresses from Internet providers are designated for personal use. The anti-spam organizations use these IP designations to indicate which IPs should be able to send email. If your IP shows up being designated as personal use then you'll likely be blocked by any email server that checks these designations on incoming email.