I spent a long (and frustrating - but geeky and educational) day with my computer yesterday. I decided I was going to install a web server on my home PC.
You see, on the website I use for my business I have a special place were I set up a set of forums just for me and my employees using XOOPS ( see http://www.xoops.org/ ). It's fantastic and we've come to rely on it as our primary mode of communication between shifts and from day to day. It's mostly a just set of PHP scripts.
Twice in the past month, it's gone down - which is a huge pain in the tushy for me and my employees. Just the PHP-based forum was inaccessible, not the publicly available website - and I realized that there was some problem going on with my hosting company and the execution of PHP scripts. But the hosting company has been less than helpful in trying to get my issues resolved and I decided I needed to move our PHP based forum elsewhere.
So I thought... why not set up a web server on my home computer and do it from there? It's low traffic, so I could support it, and if something went wrong I would have much more control over the troubleshooting effort. It would also give me an excuse to learn a little more about web serves, MySQL (also necessary to run XOOPS) and PHP.
I found a great article on setting this up at home from LifeHacker and I followed the steps as outlined in the article.
My comments on that article: I did need to do the "netstat -a -o" procedure written into the notes and it didn't help. The only http process that was running was inetstat.exe and if you go to http://www.processlibrary.com/ you'll see that it is a necessary service running on the machine (and appeared to instantly restart whenever I killed it). At that point, I rebooted my computer and when it came up, Apache was running just fine.
My next problem was that I couldn't access my new served stuff from any other computer. I was following another LifeHacker article. I tried from a laptop I have on the same wireless network and I tried through an internet proxy site http://www.atunnel.com/ (as was recommended in one of the article comments). I have a Linksys router, and it took a while to find where my "Port forwarding" settings were (they're under "Applications & Gaming") and there's not a pick-list for the Application, so I tried typing in "http" and tried "HTTP" since there was no guidance on what was supposed to go in this field. Overall, I was disappointed in the help documentation that came with the router.
I also had to punch a hole through the Norton Firewall I have running. The advanced rules settings lets you open port 80 to the world or a limited number of computers.
But in the end, it turned out that my ISP doesn't allow web servers. When I was searching the web for suggestions on how to get this to work, I found many people with the same problems, but few suggestions on what to do next. I found some suggestions regarding checking with your ISP - and when I went to my ISP's website, I was lucky enough to find a FAQ entry about this - they simply don't allow it. I also checked the website for the ISP I use for my business, thinking that we could do the same thing there, but there was nothing written in the FAQ or help that said either way. (Note to others: just check with your ISP first before starting.)
Poop.
So for now, I do need our forum hosted someplace else. But in the meantime, this was a very educational experience - and I can still run my web server locally and download PHP and MySQL and have a version that I can tweak and troubleshoot. Just more things to play with.