ARE YOU NUTS? DO YOU HAVE ANY IDEA WHAT YOU ARE GETTING INTO?
Ignore that - its a joke - my sense of humor sucks!
The very first thing you have to understand is that "web development" involves many different skills.
The "job" is to produce a web page - how to do it is unique to each one of us.
So, starting at the top, the first thing you need to learn is HTML. I personally suggest w3schools.com who have a number of "Learn whatever" sections
I have been developing websites since 1995 and I use that site EVERY DAY to check up on something or other.
Remember that EVERY web page IS HTML.
The server can be Windows, Unix, Linux or anything else - it can be using ASP, PHP, JAVA or anything else, what hits the browser is HTML so it is vital that you have a good understanding of how HTML works, what the rules are and what is good development practice.
HTML puts stuff (text, images etc) on the screen - now you need to make it look good.
CSS is the next thing you will need to learn. Once again may I recommend w3schools.com (no I am not plugging them, I just think that they are tops)
CSS allows you to change the fonts, font sizes, placement and a whole bunch of other stuff.
At this point you will be able to produce a "helloword.html" page with your photo and some text that is formatted and colored any way you want.
You do NOT need a server or a domain, this can all be done on your pc - all you need is a text editor (some use notepad, DO NOT use Word !)
Next, make a "myhobby.html" page with a bunch of stuff in it. Then figure out how to put a link in "helloword.html" that will make the browser show "myhobby.html"
Once you have done that, you have effectively produced your first website - congratulations.
It is important to understand (repeating I know - but it is important) that PHP or whatever (ASP, JAVA, ASP.NET etc) is running on the server and is simply PRODUCING HTML to send to the browser.
For example, most modern browsers can handle HTML3 and HTML4 but HTML5 is an issue - Some browsers can do this, some that, some the other - there are very few HTML5 commands that can be handled by them all but the situation is improving.
CSS is unfortunately the source of a lot of headaches in that one of the most common browsers (Internet Explorer) is STILL not CSS2 compliant - (The CSS2 specification came out in 2002 and in ten years the bunch at Microsoft still are not able to draw a rounded corner - PATHETIC !)
So, learn the basics - learn them well and always be prepared to experiment - always try out new stuff - if you see something on a site that impresses you, have a look at the source code and try to figure out how they are doing it - everyone in the development field has done it - most have done it in the last 48 hours - its nothing to be ashamed of, its just the human desire for answers being catered for.
And most importantly, HAVE FUN !