[Edit - I consider this post to be pretty out of date (don't start with PHP anymore!) but have not yet updated it.  The one-line answer today would be to use a minimalist Ruby or Python framework (Bottle.py or Sinatra) to get started.


Say you know basic programming, probably through some Java or high school APs, but you've never written a line of PHP or had to deal with anything with Unix. Now you want to get into programming for the web. What should you read/do/etc?  Provided is an early draft at a bare-minimum comprehensive guide.

1.  How the Web/Web Servers work

2.  Front-end (HTML/CSS)

Update: W3Schools is pretty out of date. Let's use the Google tutorials instead.

3. Back-end language

If you're just getting started and don't have a particular reason not to, use PHP.  I'm writing this for some work that's going to be done in Rails, but PHP is probably a simpler starting language. I'll include links for both:

Ruby on Rails (Ruby is the Language, Rails is the Framework)

PHP: The official PHP tutorials aren't half-bad, but there's a ton of crappy, outdated PHP stuff out there. Googling 'how do I do X' in PHP will typically result in terrible advice; if the site looks out of date, it's suggesting that you do it wrong. Use these as a reasonable starting point if you go with PHP:

4. *nix:

You might not need to touch that much Linux (GNU/Linux, if you'd like) to get something done, but just in case, here are the bare essentials:

What am I missing? Are there better guides suitable for beginners that I haven't found?