If you use a laptop with a battery and AC adapter, it will have built-in power outage protection. And it should consume less power than a desktop box.
I struggled to get Debian installed due to a boot-up issue so ended up using Puppy Linux. This is well suited to my hardware which only has 256MB of RAM (but the HDD is 500GB lol). Also, it has an efficient web server (Hiawatha) that shouldn't eat up memory like Apache may do.
I was very tempted to use Windows XP SP3 but finally got Linux working.
I set up the Linux Firewall to block anything other than port 80 and 22.
I set the server to have a fixed local IP address.
I set up the router to open port 80 and forward it to this IP address.
Then I entered the IP address into another computer's browser to check for the default web page. This proved that the web server was working and allowing http traffic through the fire wall.
I got my WAN (world-facing) IP address from Google. But I couldn't access the web page in a local browser with this IP address. I guess that loop-back doesn't work? So I uploaded a simple PHP script to one of my web sites to probe the IP address and display the received data. This displayed the web page to show that it was working.
The next step is to work out how to configure the DNS. Normally, you have at least 2 IP addresses for name servers, but your home server only has 1 IP address. Maybe it's as simple as using the same IP address for both name servers (NS1.yournameserverdomain.com and NS2.yournameserverdomain.com) ?