Freelance web programmer/developer here.
First off, most of the shit you are going to encounter is simple Wordpress websites. I just make $500 off of a quick Wordpress site. My work involved FTPing a Wordpress installation, a quick configuration, then a lot of HTML/CSS and image uploads. Any extra functionality was provided by plugins other people wrote. It took me about 8 hours to do this.
To get started, just install a WAMP/MAMP/XAMPP/whatever localhost server on your computer and start messing around with Wordpress. It's easy as fuck and gets a lot of the foundation right. Wordpress is built off PHP, so you know it's shit. Get your HTML/CSS tight and at least know how to use Javascript/jQuery. Know how to do basic image manipulation with GIMP or Photoshop (pirate that shit, nigga). MySQL is best handled by phpMyAdmin, and you really don't need to be doing command line stuff (you can still do this in phpMyAdmin).
The coding is the easy part, and most gigs will not require anything more than rudimentary programming concepts. Actually, you should avoid any fancy shit you learned with C++. The only difficult part is getting clients. There's a glut of people who have much more sales experience and a huge portfolio to shop around. There are also thousands of companies that actively hunt down clients for jobs. That's your competition. If you don't have any real-world work to show, make your own sites and do the best you can. Never work for free to build a portfolio.
eCommerce is generally drudgery, and you'll have to put up with it at some time in your career. What makes it worthwhile is most clients that want to do this have money and are willing to spend. WooCommerce for Wordpress is easy enough to figure out.
For a general overview, this dude nails the important points:
http://www.youtube.com/watch?v=gvpfTXBXw7w
For the most part, you're going to be struggling until you land some bigger clients. Work for other companies if you want the lowdown on how the whole process works. Work for developers who have too much work to handle. Go door-to-door if you have to. Web development is a broad field, so you can be doing HTML newsletters for one client and a customized ecommerce site for another.