I'm trying to improve my skills in PHP by creating my own CMS infrastructure, probably based on a lightweight framework like FuelPHP.
Because I think it's better to have a goal, I would like to use this opportunity to build a multi site CMS.
It would be a CMS for a game.
Basically, here the workflow:
Somebody create an account on the main site (http://www.mainsite.com), then create a site for his server (http://my-beautiful-server.mainsite.com). People from his server would then come to the subdomain and register to interact with the forum, the gallery, updating their account, etc.
Is using subdomains a correct approach ?
If I use a wildcard for my DNS, how must the vhost be configured to redirect on the correct folder based on the subdomain ? Can I not use a folder system for each site and use only one app to handle everything by just "passing" the subdomain as a variable to the app to tell it on which site I am ? Is it reliable ?
If in the future I want to propose custom domain names, is it possible with this approach ? I would only need to handle domain name registering myself and add a vhost configuration to redirect on the correct folder ?
I'm a little lost on the correct and most robust approach.
Today I have the domain name and I will take a little VPS for testing.
Thanks a lot for any help to guide me in the good direction and sorry for my broken english, I had trouble finding ressources on the Internet.
Is using subdomains a correct approach ?
It is a perfectly acceptable approach.
If I use a wildcard for my DNS, how must the vhost be configured to redirect on the correct folder based on the subdomain ?
You use a default vhost to capture all the requests for the different hostnames.
Then you can shuffle them around using mod_rewrite or by examining the requested hostname at the application level.
Can I not use a folder system for each site and use only one app to handle everything by just "passing" the subdomain as a variable to the app to tell it on which site I am ? Is it reliable ?
Yes.
The variable will already be available to your PHP via $_SERVER['HTTP_HOST']
.
If in the future I want to propose custom domain names, is it possible with this approach ?
Yes. There is no practical difference between a domain name and a subdomain as far as a webserver is concerned.
I would only need to handle domain name registering myself and add a vhost configuration to redirect on the correct folder ?
You wouldn't even need a specific vhost configuration. Your default one would suffice.