What exactly do you want to create?
Web design goes all over the place. You can make websites from scratch using commonly used languages such as Javascript which can be used to make interactive things such as buttons, animations, and even web games, there are libraries for Javascript, a popular one being Jquery which allows you to make buttons, and pop up windows easier and more interactive. PHP is used for saving information and is commonly used with MySQL for databases, such as the Blockland forums! HTML encompasses everything (it just a markup language used to label things), and lastly CSS just makes things look pretty. Everything at first appears very confusing but as time goes on you'll know what the job of each language is used for.
As for hosting you can host from your home network, which is fine for your own personal use and testing. If you want it public I would suggest using a host provider whether you purchase a subscription or use a free one, and purchasing a domain name (that's why we don't have to type the IP address to go to a website).
If you want to learn Javascript, HTML, CSS, PHP I would use
http://www.w3schools.com/ and anything they don't provide just google for help :)!
If you don't want to make everything from scratch you can just google some web design websites. I could help you more if you explained what you want to make exactly.