I've always used shared hosting in the past but now I'm thinking about moving to a Linode for my new web sites. However my knowledge of Linux and Apache is quite limited. I wonder how long it takes to set up a web server + MySQL db server?
Entirely depends...it's subjective. How fast a learner are you? How much is there to configure? How much custom work do you need done? You have limited Linux knowledge, but how much do you know? How much help do you have available?
Could take an hour. Could take a couple days. There is no way to answer this...
If you don't know the answer in advance it might be best to leave a week part-time free. The first thing you'll want to do is secure the server (you need a set of iptables rules that will only permit those services you want, and probably re-assign the SSH port to something other than 22).
To be honest why use Linode if your knowledge of Linux and Apache is limited? I use Linode because my knowledge is deep and thus I can fully flex the capabilities of both on an always-on server when I cannot do that at home.
Otherwise a hosting provider will offer you scripting and MySQL database services (such as iPowerWeb which I've used in the past).