Well, there's a bit of a difference here. Those hosting companies are running
virtual servers from within Apache.
Your current document root is /var/www
If you want a "simple" server, you can just place everything in there, and ignore the public_html directory. The concept of public_html is to allow files to be served from a user-accessible directory.
i.e. if your web host (bigcompany.com) has clients Mr. Smith (smith.com) and Mr. Jones (jones.com) they could set it up as follows:
/var/www (bigcompany.com's site)
/home
/smith
/public_html
/jones
/public_html
Now, smith.com will be served out of /home/smith/public_html but that directory will appear to be the top level.
I usually set this up on systems so that users can have their own personal web space, but it is midifiable from within their home directory (to keep permissions and ownership simple) and also, being in their home directory, the space is calculated as part of their quota for /home.
These can also be accessed without virtual servers, by using the ~ preceding the user's home directory - i.e. in the above setup, with only one virtual server (the default) and with public_html enabled:
typing in
www.bigcompany.com will serve from /var/www
www.bigcompany.com/~smith/ will server from /home/smith/public_html