Solution 1: Make a server on your machine. Cost: $0.
Go to http://apachefriends.org, download XAMPP, install it following intructions to the letter.
In the folder c:/xampp/htdocs, create a new folder (ie: mysite). Upload your codes to that folder.
Start apache (control panel visible), Start mysql.
Open your browser and type "localhost/mysite" in the address bar. There you are! Your OWN website, on your OWN server, TOTALLY FREE!! Only one problem: you can only see it on your machine, not on the web!
Solution 2:
Set-up your own server. Costs: $10,000's+++ (in the high end)
Buy a proper server (a PC WON'T DO) (~$2500)
It comes with all the necessary software.
Ask your wire/cable/fibre company to set-up a FAST, dedicated line, connected directly to the web backbone. The cost will vary from a few $1000's to many, many more if you are physically far away from a Web Node.
Register as a domain retailer (lots of admin difficulties and costs)
You are then a full, official host and you can build many websites.
Running costs will depend on the traffic you have, but will be, at the minimum, $1000/month.
Solution 3. Be reasonnable! Cost: $50 / year!
Find a hosting company with a domain/server plan ($10 for a domain, $40 for the server).
Upload your files to that server.
You are up and running...