well i did this on my server. it is actually very simple 🙂 if you use apache then you can also make it set up a sub domain easily as well 🙂
anyways - im sure you know how to do the signup page - have everything stored in a mysql table called "signups" (or woteva).
Also generate a random number and hash it (this will give you a random string of numbers/letters) and store this in the signups table also. Then send an email to the person with a link to a page (eg: verify.php?username=me&verification=hek34k32rkfd9) and when they click it, it will check thier verification number and copy the data into a "members" table and also use mkdir to create a directory.
Thats it 🙂 very simple.
If you are running apache, and want to set up sub domains for your users, you can simply append to httpd.conf the details you want and then restart apache - this works very well and is simple but make sure you backup the file (eg: httpd.conf.24022003) so if something goes wrong you can get the previous data.
If you want the actual script then send me a message but i think its better if youwrite your own.
Hope that helps 🙂
- Matt