To be fair a lot of it was on the technical side of it, relating to getting out through a proxy liuke this: Ubuntu Server Wordpress Proxy Settings Not Working and for us then having a mail relay which worked for sending out usernames and passwords.
We restricted the signup domain to the school one and had a couple of addresses setup for each blog to use, however while wordpress for the most part respects the admin email address for sending things out, it also quite heavily falls back on a default address of email@example.com. "QnD wp_mail filter" fixed this so that we could use whatever email address we wanted for emailing out, without having to fall back to wordpress@
For the list of blogs on a single page we used "Multi-Site Site List Shortcode"
In the end, this was my checklist for configuring the server/blogs (before Ubuntu 14.04 came out so didn't have Zend OpCache):
ICT Staff were added as Network Admins for the site so that they could go and manage any of the blogs and deal with any issues.
Enable ModRewrite (sudo a2enmod rewrite)
Install Postfix - configure as a satellite
Alter php.ini so sendmail is configured, use -f firstname.lastname@example.org
Add Proxy to WP-Config:
Add and Activate email filter plugin - http://www.butlerblog.com/2011/07/14/changing-the-wp_mail-from-address-with-a-plugin/
define( 'WP_ALLOW_MULTISITE', true );
Additional Server Notes
Install php5-curl (sudo apt-get install php5-curl)
Installed SUHOSIN for PHP (apt-get install php5-suhosin)
Installed APC (apt-get install php-apc)
Increase APC cache size (/etc/php5/apache2/conf.d/apc.ini)
Increased Max Upload File Size
Increase Max post size
After that, it was just gradually adding a few more file types to allowed upload types as and when required