To make a basic site you need to learn HTML & CSS. There are plenty of tutorials out there, or get a book as they are usually better.
To put it on the Internet, you need a web host. Unfortunately there aren't really any good, free web hosts left now.
If you are only using HTML & CSS, you would have to do everything manually. For advanced stuff, you can learn the PHP programming language, and MySQL for actual database storage.