You would need enough RAM for 3 VMs and some more for the host.
For the host
2GB of RAM plus additional RAM for guests.
For the guests
This depends on your needs. Most entry level VMs have around 1GB of RAM nowadays so that should server as a good starting point if you're not sure.
If you wanted to keep things lean (and your server won't have a lot of visitors/users) you may get away with less (you could try for 512MB RAM). Keep in mind the moment you start installing software, and getting visitors/users you'll need to cater for more RAM.
Until you do your own tests you won't really have a real indication of how much RAM each machine will need, and of course this will change as your server usage changes.
Here are some good questions to consider:
- How many visitors will the server need to handle?
- What sort of scripts will the server be running (custom scripts or add-ons may increase the amount of grunt required).
- Will you have big databases or datasets?
- Will you need to do things like AntiVirus Scanning, Backups or Maintenance tasks (these will consume RAM)
- Will you take advantage of software like Varnish (this may help reduce the amount of work PHP has to do, thus reduce your need for RAM on that box)