Requirements: Domain Name, Web Host, some sort of website software
To start out by purchasing a domain name - cost about $10 for a year.
Then there are free web server packages that will let you run a website from your home computer while your working on it and before it is "published"
UniServer
Xampp
Wamp
Joomla, for example is a free "content management system" that is open source. You download the latest version, install it in your local webserver and you have a very basic website. Other options - WordPress, etc
Here is what the basic, free, joomla site looks like:
Joomla Hosting - Launch a Joomla site in the Cloud
I think the easiest way would be to purchase a template. RocketTheme has some pretty decent ones which cost around $50. They have dozens to chose from
Joomla Templates Club
You then can edit the template - substituting your pics and text and go from there.
Now that you have a working website - you need a "host" to publish it. Some low cost hosts like BlueHost, Hostmonster, GoDaddy etc are in the $5 to $8 per month range. But since you completley OWN the website you created, you can easily move it to another host if your want.
Lots of videos and tutorial out there on the web