You really only need NameVirtualHost if you are running sites with multiple DocumentRoots. That is not the case for most setups of MU. If you are running MU and some other websites all with the same Apache instance, then you need a NameVirtualHost (common if you are running, for instance, five or six standalone WP installs).
That said, it's easy to run MU on Apache 2.2. This is a sample for Debian/Ubuntu setup. You really should bind Apache to a specific IP, not all addresses.
At the bottom of /etc/apache2/apache2.conf, but above the site include (most defaults are okay in this file)
# setup a your NameVirtualHost
NameVirtualHost 10.10.10.1:80
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
And now for your MU 'site' in /etc/apache2/sites-available:
<VirtualHost 10.10.10.1:80>
ServerName example.com
ServerAlias *.example.com
ServerAdmin webmaster@example.com
ServerSignature On
DocumentRoot /var/www/wordpress-mu
<Directory /var/www/wordpress-mu>
Options FollowSymLinks MultiViews
AllowOverride FileInfo Options
Order allow,deny
Allow from all
</Directory>
LogLevel warn
ErrorLog /var/log/apache2/example.com/error.log
CustomLog /var/log/apache2/example.com/access.log combined_vhost
</VirtualHost>
If you want your logging to include the virtual host name (e.g. blogone.example.com, blogtwo.example.com, etc.) you'll need to define a new LogFormat and use %V for the virtual host name.
LogFormat "%V %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined_vhost
When it's all done, use a2ensite to enable your site (creates symlinks from /etc/apache2/sites-enabled to sites-available), then reload Apache.