I actually set mine up for my son & his classmates.
Simply put, create a vhost that has it something like this:
ServerAlias *.your.domain.com # <-- This will be the multi-site bit
In DNS, make sure you have *.your.domain.com pointing to your server. Yes, DNS allows for wildcard domains.
Next: follow this guide:
Guide to Creating a Network
as admin, install ONLY plugins you trust. Same goes for templates.
Sub-sites on multi-site installs cannot install plugins or themes, but can use all the ones you have installed. Inversely, they are not required to use a plugin or theme you have installed.