As stated in above comments virtual host is running multiple websites on a single server.
Example, mysite1.example.com, mysite2.example.com, example2.com, etc all running on the same server and can even share same IP address. Refer to name virtual hosts in apache httpd documentation.
If you want to run virtual web server on one hardware box you need something like Xen, KVM, QEMU etc.
If you want to use Fedora/CentOS or alike RPM based distros the below link will help.
http://lampcomputing.com/content/how-to-install-lamp
Whatever operating system you use, you can run apache on it. Distro is more of a personal choice.