I am new to web hosting/ site design and i want to make sure the server i set up supports all of the needed scripts and whatnot.

i just learned html5, css, JavaScript, php, in the last two of weeks and im in the process of learning how AJAX works and how jquerry works, i just learned how to build my shopping cart and i want to know what the best database to go with is.

another thing i would like to know is say i pick MySQL or a free version of it(cant remember the name right now) and i want to run php, and JavaScript and everything i mentioned before are there certain definitions i need to make sure my server comes with? obviously i will need the database stuff but should i get two servers? 3? 4?

what will i need to support this? Apache/php? what would you folks suggest i have set up servers for a call center before but never for a website, can you give me some advise so i can make sure im in a solid condition before i get in over my head i need to establish a budget so i can financially plan for it.
hosting? should i get hosting or try to host it myself i have servers but their not super powerful, and i have a ok size pipe for internet.
Help me Please! i need some experts advice
BTW this will be a E-commerce website