There are quite a few stuff that you need to know.
1) Adobe Photoshop
2) Adobe ColdFusion
3) Adobe Flex 2
4) Adobe Flash
5) Action Script
6) XML
7) Javascript
Java
9) XML
10) HTML
11) Adobe Dreamweaver
12) PHP
13) C#
14) CSS
15) ASP
16) ASP .NET
17) VB
18) VB .NET
19) SQL
In response to your question regarding how long it will take for you to start doing web site for a fee, this depends on how quickly you learn the skills. For starter, you can learn HTML and some javascript. Be sure to get some books (especially those with sample exercises) and read them. After reading them, try to do some of those sample exercises to see how well you are doing. This is a good way to gauge how well you have mastered the skills. Once you think you have mastered the basic skills, you can go to those freelance web site and start bidding on some simple projects. Remember to charge for a lower price just so you are more likely you will get the project if your price is low.
By the way, I am a web developer by trade. If you have any further questions, please feel free to contact me.