Although, there are as many ways to learn languages as there are people. Here's what worked for Daniel Weiner when he studied Azeri.
(1) Don't wait for ideal circumstances before you start. They'll never come. Plunge in. Get started with the resources that are available to you.
(2) Find a person willing to work with you. A native speaker is ideal. But anyone can be immensely helpful. A thousand books aren't worth as much as a single person committed to helping you.
(3) Learn the fundamentals of how the language is structured noun declensions, verb conjugations, word order, etc.
(4) Be resourceful. Create opportunities to read and listen to the language.
(5) Speak with as many different people as you possible can. You'll expand your vocabulary, learn different ways of expressing yourself and attune you ear to different pronunciations, inflections, rhythms, etc. Besides, it's a wonderful opportunity to make good friends.
(6) Youdon't have to be perfect. Don't be afraid of making mistakes. Rather focus on communicating and making yourself understood. Have fun doing it.
Hi! I like very much what you wrote (even if Daniel Weiner did ^^) I'm italian, and I'm learning english and french, but i'm fascinated by every language and every culture i meet. Italian school really sucks, what i learn to school isn't enough to work abroad, so i practise by myself. It's a bit hard, but i do something i like, so it's ok. Well, hope you come to visit my blog (eeeh...it's in italian, but i'm sure you'll like it as well as i like yours). Bye!