Very good question! As a chess-enthusiast, I have been learning chess from the following website: www.gamesknot.com
This is a wonderful website for learning chess. You can learn opening moves, middle game and end games. You can get the analysis of moves of eminent grandmasters and can also play online games. You can also play against computers at different levels. There are many international tournaments in this site and it can be used free.
I strongly recommend you to use this site. I have been using this site extensively for more than 5 years and I myself have improved a lot.
Beware! I question everything and everybody.