There are two answers to your question.
The first is the short answer that directly addresses the error in your log:
file '/etc/ssl/private/ssl-cert-snakeoil.key' does not exist or is empty
Apache is stopping because the SSL certificate is missing. Simply remove the default SSL configuration from the
sites-enabled folder using
sudo rm /etc/apache2/sites-enabled/default-ssl and Apache should start up no problem. To re-enable the ssl site after you've adjusted the configuration you can run
sudo ln -s /etc/apache2/sites-available/default-ssl etc/apache2/sites-enabled/default-ssl.
The second answer is the correct answer, which is to take a good look at the Apache documentation to determine why your configuration is incorrect. Because the values in your error log look like the defaults from a fresh Apache install I included the first answer, but after you do the above you should dedicate some time to reading the documentation. You will learn a lot and will find out why there was no
snakeoil.pem file and what a snakeoil certificate means.
You can find the general documentation here: http://httpd.apache.org/docs/2.2/
(or http://httpd.apache.org/docs/2.4/ depending)
You can find general configuration documentation here: http://httpd.apache.org/docs/2.2/mod/quickreference.html
You can find the
mod_ssl documentation here: http://httpd.apache.org/docs/2.2/ssl/