Solution 1:

Hgwebdir running in a web server (comes with mercurial) does everything except let you create the new repos with a click, which you can very easily do with a simple script you can put right in the hgwebdir footer.

Solution 2:

I have used bitbucket.org but I also wanted an in house DVCM server for my web development team, so we went with Redmine. This is tested and installed easy using BitNami images, http://bitnami.org/stack/redmine

Solution 3:

I've not tried it yet, but RhodeCode seems to have all the features you'd ever want from a web based repository manager.

You can create new repositories, fork current repositories and it allows you to set up user authentication and access rights.