There are some workarounds to do this like making a router into an webserver or making a remote storage device into a LAMP machine. or even your smartphone into a webserver.
Am I missing something, are there any other ways to do this?
The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming.
As kobaltz suggests, Raspberry Pi is a good possibility. However, if for whatever reason you need an x86 based solution or something with a bit more RAM and CPU power you can also meet your power target using an off-the-shelf Intel Atom or AMD Brazos build.
I put together an Atom D510 server box awhile ago, and I've got 4 web server instances running on it at the moment (2x Apache httpd, 2x Apache Tomcat) as well as a SVN server. That's probably well beyond what could be done with a single Raspberry Pi instance, mostly due to memory requirements.
I've had no issues with this system at all in terms of stability/reliability (it's been running 24/7 for months now), and the power consumption is just over 20W at full load (though the only time I've ever seen it at full load was when I was benchmarking for the purposes of measuring power-consumption at full load).
So you've got a couple of different options.