In the absence of more details, I'd agree with fuscata's advice (adding the NameVirtualHost directive and fixed the broken DocumentRoot directives).
To hopefully give you a bit more perspective on the name based virtual hosting setup, here's a short description of how it works. When you add "NameVirtualHost *:80" to the Apache configuration you're telling Apache to inspect the host header in the HTTP request in order to determine which set of configurations to apply to a particular request. The idea is that you can have many sites bound to the same IP (or IPs).
The ServerName directive in your virtual host containers will define a hostname-based set of configs, keyed off of the value passed into the Host: header on the request. So for example, for domain www.mydomain2.com above, you could have something like:
DirectoryIndex index.php index.html
...where DocumentRoot points to the directory that represents the root level for the documents associated for the site, ServerAlias represents alternate ways to express the hostname (mydomain2.com, minus the 'www' for example). The DirectoryIndex directive defines which file(s) should be accessed for a root-level URI of "/" or none - for example, http://www.mydomain2.com.
Now all that said, if this is going to be a public facing site I strongly recommend that you spend time and learn how Apache works, and how to get a decent configuration up and running. It'll help you in the long run and it'll help you avoid security issues and other problems.