I am looking to create a system which on signup will create a subdomain on my website for the users account area.
e.g. johndoe.website.com
I think it would
Mod_vhost_alias is the right module to do this.
With one line you can tell Apache to look at the right place, with directory hashing, etc. For example, the line:
VirtualDocumentRoot /http/users/%3.1/%3.2/%3
would tell Apache to set the document root to /http/users/s/u/subdomain when requested for subdomain.yourdomain.com