[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