I have built some website for local people and received good accolade from them. I would build a site and then publish on their registered domain so they will view and make comment for change. This worked ok because the sites are new and do not have traffic in build stage.
I now have opportunity to rebuild a site that is already in production. I must build a new website on my local PC but would like to give access to the client to view the site in build before it is uploaded to the host. When it is complete it will have domain name from existing site so it do not have domain name in build stage.
For this I do not have knowledge.
I have read about lamp wamp xamp and IIS. Which is best. I have IIS on my PC but is others better?
How do I make website available for client when it is not yet registered?
Should I add test website as part of my website www.mysite.com/clientsite.html when I am building?
I will perhaps have access to my bosses host service. If I do would that be the correct thing to do?
What is the best way to do this? I would like to understand how "real" developers do this.
"Real" developers do a lot of different things, depending on what works. So, to lets look at a few of these questions:
xamp, wamp, or iis?
Well, what's the target environment? If it's IIS, definitely use IIS. If it's a linux/bsd/unix environment, you can still get away with using IIS if you're intimately familiar with the differences -- but you'll ultimately need to test in an environment like the target production environment.
how do I let the client see what I'm working on?
I rarely shared my local development copy with clients -- it was often in a state of disarray, certain features half-implemented and so forth. I set up a virtual host to use as my staging/beta server. For each project, I set up a subdomain and implemented some basic password protection. Although, in most cases, my own beta/staging environment was in addition to the client's own staging site, which ran alongside the production site -- on the same server and often with a different database.
The details of how and where and how to host the development, beta, and staging environments can be up for you and the client to decide. Although, if you don't have your own hosting solution to at least offer, you'll look pretty unprofessional. So, in the very least, I'd recommend getting a cheap VPS that you can run several beta sites off of at a time. I would recommend slicehost.
And again, for your local development environment -- it's really up to you as long as you can ensure that the application will function remotely as well. If you're not doing any .NET work, I strongly recommend getting a linux, unix, or bsd box (or a Mac) -- or at least get VirtualBox running a local CentOS VM or something. And, if you're not familiar with setting up a LAMP stack and configuring apache, it'll be good to learn how to do so.