This can be a bit tricky a question to answer. I am glad to see Ubuntu in the question. However, what is missing is whether hosting will be used or even a control panel. This is where it gets tricky. Let me explain.
Years ago just about when Apache 2.0 was released a structural change was made that did not always carry through. Prior, all site configurations were placed in httpd.conf which was the configuration for Apache itself. This was not necessarily bad, however, a positive change was made in configuration intended to be more secure and simpler to manage. There were, and still is, two problems with this change. One, Apache did not make the builds for the various OS installs and two, not all control panels followed best practices at the time nor did they change.
For example, Ubuntu did impliment the update the configuration schema while Redhat did not. On the control panel side, Webmin/Virtualmin did update the configuration schema while cPanel did not. See where I am going?
For hosting, cPanel is used universally. This is unfortunate since we often clean up the mess here. For most who hosts their sites find security issues and operational issues that should never exist.
Since I only use Ubuntu, I can tell you that the Apache install is good and will remain so if you also use Webmin or Virtualmin. However, if you choose to use cPanel, the Apache configuration will be as poor as it can be. If you choose not to use a control panel, you should be fine.
Here is what happens.
Redhat installs and cPanel installs will create a web space in /var/httpd/html or in /var/www/public_html. Somethimes this directory will be on a partition that is small following old traditions when sites were small. This is not always the case, however, I have seen it enough times where a site operator runs out of disk space quickly and easily.
Proper installs will create a default site under the /home/ directory or under the /var/www/ directory with individual configuration files per site under /etc/apache2/sites-available/ and /etc/apache2/sites-enabled/ directories. The default configuration file is 000-default.conf which should largely be left alone. The reason for this is to create a catch-all site which handles all IP based requests and requests for domains that do not exist on the server. The 000-default.conf file can be copied to create a new site. Typically, the file name format would be example.com.conf and created in the sites-available directory.
As for the web space, this should match the configuration file such as /home/example.com/ or /var/www/example.com. I do not like using the /var/www/ directory for individual sites. Often, you get into permissions conflicts. Save /var/www/html for the default site if that is what you have. Otherwise, if you are familiar with setting permissions, I suggest using the /home/ directory which will not have permission conflicts.
Of course you will need to sudo a2ensite example.com.conf
to properly enable the site and then restart Apache with sudo service apache2 restart
.
So what is wrong with using /var/www/? Apache runs with specific permissions which would have to exist throughout the entire tree. If, for example, we follow what cPanel does, your first site is created under /var/www/public_html/ which in of itself is not bad. However, the next site is created under /var/www/public_html/example/ which makes it available as a directory of the first site created as www.firstsite.com/example/. Bad. Very bad. In addition, all sites are run under one user, Apaches default user which can be a variety of names including root. It is not common that root is used. It really should be a non-privilaged user.
When you segment sites into wholely separate directories in a directory other than /var/www/, each site can be run under different users added to the group Apache uses. This is sandboxing as mentioned in the comments. Leaving the default site alone allows you to further sandbox bad requests including intentional attacks.
For example configurations, I have a few in this answer. Virtualhost config: routing and wildcard usage These are non-controversial and should work well assuming you did not goof something up.
/home/site1/public_html
.