For free, you could try VirtualMin/Webmin, ISPConfig3, or go more command line oriented with Tuxlite. I've done all three on Linode... not hard at all. Finally settled on Tuxlite with Nginx instead of Apache.
None of these solutions are really safe if you're reselling hosting, but if they're you're own sites there's less risk. Remember that a good ISP with shared hosting offers you higher security that a roll-your-own VPS (unless you've got some real VPS experience under your belt.)
V-Rtifacts - When Virtual Reality Was More Than Virtual