The right way to learn web development is "Learn by Doing".
That being said, you'll learn the real stuff only while you're actually building something even it is a simple webpage. As a developer, I would suggest you to learn in this approach. These days, you can take advantage of many online coding schools where they actually follow this approach.
If you're also concerned about the tools or skills, I would list them here as well.
HTML once you understand how the content is placed on a webpage then start learning CSS and understand how it is being changed or modified or designed.
Once you're done with that then start learning back- end stuff.
You can chose any of the below stack of frameworks.
If you chose Ruby, then learn Ruby on Rails as well.
If you chose Python then learn Django as well.
If you chose PHP then learn Zend or some other framework as well....
Once you're done now learn something about databases . You can learn any of the below based on your interest or requirement.
Sql, Mysql, Oracle, MongoDB... At least 1.
Also learn some version control as well. Example Git, Github.
To learn all these in a order, I would recommend you to check these two awesome online codeschools where they focus on teaching the real stuff.