Consider server administration to have the same learning curve as picking up a new language: everything will feel unfamiliar at first, but once you get used to it, you'll start recognizing patterns and similarities between each tool that you use.<p>Let's say you're deploying a new Debian VM; at the bare minimum, you need to know:<p>- Basic Linux commands (top, tail, cat, cp, mv, ls, cd, rm, mkdir, et cetera)<p>- Casual vim/nano usage<p>- Casual less usage (mainly Ctrl-B/F)<p>- Knowing that `man [command]` and `[command] --h` are the easiest ways to decipher a tool<p>- iptables/fail2ban (security)<p>- Basic MySQL setup (almost everything can be done in a gui)<p>- Basic Apache2 configuration (vhosts, enabling mods)<p>- How to manage packages (apt-get update; apt-get upgrade; apt-get install [whatever])<p>At that point, you just need to read a few tutorials to fill in the gaps, and to figure out how to get Apache to serve files from your language of choice.<p>The easiest way to go about all of this is to setup a VM locally, document each step you take while configuring it, then repeat that a few times until you feel comfortable. Then you can figure out how to automate everything!