Welcome!
Unless you're already quite familiar with Linux (which you probably aren't, since otherwise you wouldn't have asked), just go with the latest version of Ubuntu. It's actively supported, easy to use, and has a very large community in case you have any further questions.
Virtualmin is old and stable, but it has some obscure quirks with virtual hosts which confuse a lot of newbies. I'd recommend ISPConfig instead. It also has a large community around it, and the user interface is a hundred times more friendly than Virtualmin. There's even a "Perfect Server" howto which you can just follow line by line, and you'll be all set.
http://www.ispconfig.org/manual_installation.htm
http://www.howtoforge.com/perfect-server-ubuntu8.04-lts
It's a good idea not to mess with a mail server unless you know what you're doing, so I think you made a good choice outsourcing all your mail to Google. But a lot of CMS systems use e-mail to validate new accounts and help with people who forgot their passwords, so it might be a good idea to install at least Postfix with SASL auth. This way, your CMS will be able to send emails. (Don't worry about this if you just follow the ISPConfig howto. Just remember to disable unnecessary services such as Bind9
after you've installed everything.)
If you're going to operate all of the 20 sites you're planning to host on your linode, or if you trust all the people who will be operating them, you should be just fine using the default configuration above, which uses mod_php. But if you do business with people you don't know/trust, it's probably a good idea to use either SuExec+FastCGI or suPHP for security's sake. FastCGI takes up a lot of memory, though...