[warn] NameVirtualHost *:443 has no VirtualHosts

There are two ways to eliminate this message if indeed you do not have a site running at SSL port 443.  The first way is to create a site on port 443 and add a symlink to it (use the a2ensite command to do this).  Fortunately there is one provided by default: 

$ cd /etc/apache2/sites-available
$ a2ensite default-ssl

The second way is to comment out (use the # symbol) the "Listen 443" and "NameVirtualHost *:443" lines of /etc/apache2/ports.conf ​

# Listen 443
# NameVirtualHost *:443

Custom Logs for Apache Virtual Host

Let's say you have a few apps running on Apache under the VirtualHost configuration. If you'd like to have logging for these apps written to a particular directory and file name, you can make an entry under the VirtualHost section within the sites-available directory. ​

There are a variety of logger settings that can be configured as well - find them here.​