First, to create a website, a domain name is required. A domain name identifies you on the internet with .com for instance and this is like your postal address with a number and street name.
The you need a server or a way to manage access to a centralized service in a network and this is like your actual house, where you your things are stored. When I can afford it, I’ll use WP Engine.
Then you’ll need a way to handle your content such as WordPress or Shopify so you can organize properly how you show your content online to the world.
Lastly you’ll have to stock your photos, sounds and videos somewhere, and this may be on your computer memory. However, you may want a safer and long term solution such as a cloud service, like AWS where you only pay what you use.