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.

Thank you for your replies.