Subdomains on localhost

Say you are into developing locally, but want to have distinct domains for each project you've got.

IE -

foo.localhost
bar.localhost
jo-mama.localhost

Here's the easiest way I found for doing this in Ubuntu 9.10:

sudo nano /etc/hosts

Here you'll want to add in unique identifiers for each of the subdomains, such as:

127.0.0.1 localhost
127.0.0.2 foo.localhost
127.0.0.3 bar.localhost
127.0.0.4 jo-mama.localhost

sudo nano /etc/apache2/sites-available/subdomains

Here you'll want to add in VirtualHost entries for all of the different sites, aka

<VirtualHost 127.0.0.1:80>
ServerName localhost
DocumentRoot /home/lionstone/projects/
</VirtualHost>

<VirtualHost 127.0.0.2:80>
ServerName foo.localhost
DocumentRoot /home/lionstone/projects/foo/
</VirtualHost>

<VirtualHost 127.0.0.3:80>
ServerName foo.localhost
DocumentRoot /home/lionstone/projects/bar/
</VirtualHost>

Then to get apache to recognize everything:

# make apache recognize the subdomains
sudo a2ensite subdomains
#restart apache
sudo /etc/init.d/apache2 restart

Thanks to http://ubuntuforums.org/showthread.php?t=964817 here :)