https://www.linode.com/docs/getting-started
You don't have to have Linode to use the tutorials either. They're a great resource for learners.
Let's say you're deploying a new Debian VM; at the bare minimum, you need to know:
- Basic Linux commands (top, tail, cat, cp, mv, ls, cd, rm, mkdir, et cetera)
- Casual vim/nano usage
- Casual less usage (mainly Ctrl-B/F)
- Knowing that `man [command]` and `[command] --h` are the easiest ways to decipher a tool
- iptables/fail2ban (security)
- Basic MySQL setup (almost everything can be done in a gui)
- Basic Apache2 configuration (vhosts, enabling mods)
- How to manage packages (apt-get update; apt-get upgrade; apt-get install [whatever])
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.
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!
I've been developing with Laravel since last fall.
I've been using Laravel Forge, it's $10/mo put well worth it as it handles setting up the VPS (on your linode, DO, etc) and code deployment, very nice.
Watch the laracast, link is on that page.