Firstly, you will need a domain name. Without it, your website will just be in a form of an IP Address (sets of numbers). A domain name will convert this sets of numbers to a unique name that you have bought.
Secondly, you will need to get a server to store your web files. This is where your HTML, CSS, Javascript, Images and etc will be located.