For recognizing kanji "on sight" you could try Heisig's "Remembering the Kanji" to remember how to write all of them, though with limited grasp of the readings. His later volumes teach some of the readings, but don't offer enough compounds to completely reinforce them. The first volume is definitely worth it for what it offers though.
To practice kanji reading and meanings, you could try Anki virtual flashcards. If I remember correctly, they are free, and there are many decks to download, including one to complement Heisig's book.
For further reference, you may want to consult a Japanese Kanji dictionary. I personally like the "Kanji Learners' Dictionary" from Kodansha; it has a nice layout, lists of commonly used kanji compounds and I find is overall quite helpful.
For learning compounds, you may want to listen to a Japanese audiobook, while following a transcript; I find it helps you to associate japanese words you know with their Kanji representations. Kodansha offers a book like this called "Breaking into Japanese Literature", which contains codes for audio versions of the stories it contains. It also features furigana for lots of the kanji in the books, and custom page-by-page dictionaries for vocabulary. Not a bad vocabulary booster too.
Personally, my method is reading literature with furigana place above the kanji. I find it helps to familiarize myself with the various readings, and learn some compounds at the same time.
Oh, and Rocket Japanese deals with a fair few Kanji, readings and their compounds in the later levels.