Hi all--

I am about 1 month into the learning process of PHP 4, MySQL and Apache 1.3 on Linux.

I have a hosting account with 1and1.com (the developer package which gives me 2GB, and 3 MySQL DB's @ 100MB each) - I am willing to change this if necessary-even getting my own server at the host.

My goal is this:
To create a paid website where people can create their own mini-sites within mine. The difference between this and Angelfire, etc. is that I am targeting one specific group (Golfers, for example) and will only need one BASIC site with about 15 pages including a gallery. I have a pretty good background in graphics, so I will create maybe 7-8 'looks' - each with modifyable color schemes via CSS.

The user needs to be able to sign up, and get a free 10-day trial after which point they would pay the yearly subscription or be cancelled.

What I Can Do So Far: (in addition to the design itself which separates content from design): Take a user's input from an HTML form (back-end part of the site), have it update the MySQL database, and read it back on the designed template for the public (front-end part). This is great because I already have the core concept of what I am trying to do - let them update their own site. A WYSIWYG editor like I'm typing in the dBforums wouldn't hurt, though.

I need help with the rest
1) After they create an account - a) it creates their own directory on my server, b) copies the empty templates to their newly created folder and c) gives them access to the administration page where they can upload pictures, and enter their own text, etc. The site is --viewable-- immediately to anyone who goes to their directory's index.html/php BUT only the paying user has access to the admin page.

I -was- able to get the directory created based on the username they input using mkdir, but can't seem to copy the template folder recursively. Am I even going about that part the right way?

2) I suppose I could do this part manually - but I would love for the credit card payment to be automated which then determines their permission to the admin page and the visibility of their site to the public (10-days only or the full year based on status)

3) It would be great for them to automatically get their own subdomain - (yoursite.golfers-r-us.com) which points to the directory created in step one. I understand this is done through Apache more than PHP.

4) Finally - I want the ADMIN ONLY to be able to switch the 'theme' of their site (the 7-8 templates I discussed earlier) and make that stick. This differs from the cookie-based stylesheet switchers.

How involved are these first 2 steps? Is there a program already designed to do what I am looking to do? I have found plenty of "CMS" systems - Mambo, ezPublish, Typo3, etc. but they are designed for one site with MANY users. I need MANY sites with really just one admin user per site.

Thanks so much for your expertise--I don't expect a complete script just spoon-fed to me, but hopefully someone can point me towards resources that I can use.