This question is rather vague so I'm going to give a higher-level and rather vague answer.
The part of the question that is vague is that you stated a "programming/server configuration problem." You didn't specify chasing a bug or debugging specifically.
So assuming you are trying to code some algorithm or data structure and you hit a wall, what I typically do is search for solutions to similar problems online just to see how someone else went about solving the problem. You can even look on GitHub and see if you can see some source code for a similar problem solution.
Many times, it is about approaching the solution in a way that you were not currently thinking of. For example, maybe you think that you need to A B C when you can really get away with doing D E F, or D B A.
As you gain more programming experience, you will increase your knowledge of how programming problems can be solved in general and you will find that you can sit there without an Internet connection and figure out more ways on your own so sometimes you just need to spend a few hours doing this.
I think this same advice applies for server config as well.
Sometimes going on a walk or doing something completely unrelated will help too and some solutions will pop into your head that you can try.
In general, if I have a stack trace, I first try to evaluate if the stack trace makes sense. Sometimes is the symptom of another problem somewhere near the error that is being reported. Then, I try to solve the first problem reported, and then the second, etc.
I think it's different when you have a problem with servers. There're other things involved like network, software versions, etc. From my experience, it's important to not tackle all the problems and possible causes at once. But isolate a problem, see what could be causing it, check documentation. You'll probably start to have some ideas about why the problem is happening. Try these ideas, see if they make sense. If they don't, isolate even more the problem. It's basically divide and conquer. And use logs, logs are you friend.
If you provide more details or examples, I can try to give you more suggestions.
Todd
Software Security TechLead
j
stuff ;)
I would recommend asking an expert to bootstrap you. That's the quickest solution often it's a trivial thing you just don't know and the time you need to grasp it may be better invested in doing something you're more qualified in. And a working condition is a better starting point unless you want to become the expert than it's bottom up and as a user it's top down.
To the problem question.
Progressive solution: Try to get a tutorial with a working basic setup and start changing 1 parameter at the time to get from initial state A to wanted state N. But always stay reversible. That way you always can return to a working state, which is less frustrating.
Immersive solution: Read the documentation first, -> start with reading only the index, move to cross-read the chapters, move to detail reading the chapters still ignore all examples only 'what is the point' not 'how do I get to the point', move to reading the configurations and examples. Test everything invest 2-3 Weeks into the technology do 10 different setups understand the differences.
Based on what you actually want to achieve I would pick a strategy, you can change it afterwards.... I don't know what you want to achieve.