5

I'm looking for a dead simple web server for Windows. Load will not be high as it will be primarily serving binaries for a WPKG update service. It needs to serve the entire contents of a single folder over HTTP on a configurable (high) port. No CGI or other scripting is required, but it might be nice for future features.

I started with Mongoose, since it doesn't even have an installation requirement (a very nice perk), but it fails to start when run as a service. (Technically, it acts as it's own installer.) I've investigated LighTPD as well, but it appears to be minimally (at best) tested on Windows.

And naturally, I'm looking for something free. As in beer is good, but speech is better, as always.

Edit: I didn't mention this initially, but non-tech people will be doing the install. They'll have whatever script I write for the install, but the goal is a simple system that is easy to troubleshoot.

(I almost worded this question "What is the best...", but Serverfault rightly observed that that is a subjective question. And it's really not an optimization problem, any suitable solution will work. I just can't seem to find one for Windows.)

3
  • What version of Windows?
    – Dave M
    Jun 1, 2012 at 15:12
  • Server 2008, if I have to restrict it. It would be better to not need to care which version of Windows. (Bonus points if it works on (shudder) XP.)
    – alficles
    Jun 1, 2012 at 15:22
  • 1
    This just screams for Apache. Out of the box, apache's conf doesn't even need to be touched and the footprint is small; IIS is going to require some script jiggery-pokery to get it to listen on a different port and if they happen to have IIS already, you're going to have to mess with virtual directories or adding a new site.
    – gravyface
    Jun 1, 2012 at 16:22

5 Answers 5

8

As others have stated, Apache is the clear choice here: flexible, well-tested on Windows (any "NT" version of Windows), for your application will require minimal configuration changes. Small footprint too. While Apache has rightly been criticized for a glut of configuration files, for simply dishing up some files, you would literally have to make one, maybe two changes to the default configuration:

Listen <your new port> and potentially: DocumentRoot c:\my\binary\path

Another aspect that you may not have considered is the binary signature and anti-virus: httpd.exe is a very common process, well-documented, open source; will not trigger false positives like perhaps a lesser known "freeware" Windows web server (Symantec uses it for their Endpoint Protection product to do exactly what you're doing: distributing update binaries to clients; I would think if it works for Symantec...).

Also, there's a built-in service install, all scriptable from the httpd executable (httpd -k install -n "MyServiceName" -f "c:\files\my.conf") so easy to "sidechain" from the parent installer. Easy to clean up/uninstall (again, httpd -k uninstall -n "MyServiceName").

More information here.

4

There is Apache for Windows. I'm not sure how IIS would work, as it depends on licensing and your situation.

Is there anything else that appears when Googling for "windows free web server"?

11
  • Heh. Apache is large and complex. It's config files are a legendary pain in the tukas. I can fall back to it if I have to, but it drastically increases the maintenance cost for the system.
    – alficles
    Jun 1, 2012 at 15:11
  • And yes, that search provides some options, but no experience and recommendations. en.wikipedia.org/wiki/Comparison_of_lightweight_web_servers is also a handy page.
    – alficles
    Jun 1, 2012 at 15:13
  • Yes, but it works out-of-the box with the default configuration. Just install, run, and copy the files to the correct dir. You don't need to edit any config, to run a basic site with files.
    – mulaz
    Jun 1, 2012 at 15:13
  • 3
    @alficles: I think you're blowing this way out of proportion: you literally have to make one, maybe two changes: DocumentRoot to point to /your/binary/path, and then modify the Listen directive to change the port it listens on. All the other defaults will never need to be touched because you're not doing anything but serving up some binary files. If that's too overwhelming, I'm lost for words.
    – gravyface
    Jun 1, 2012 at 16:31
  • 1
    @alficles thoughts and prayers go with you after your terrifying ordeal.
    – gravyface
    Jun 1, 2012 at 18:34
4

Why not IIS with WebDAV enabled? Seems simple, and included with the OS?

http://learn.iis.net/page.aspx/350/installing-and-configuring-webdav-on-iis/

20
  • BTW, This solution is all point and click ;) Jun 1, 2012 at 15:14
  • Yeah, it looks promising, though it looks like it requires an IIS install. The target machine is "probably" Server 2008, though it would be nice to be OS-version-agnostic.
    – alficles
    Jun 1, 2012 at 15:20
  • WebDAV has been around for a while... here are some IIS 6 instructions: blogs.msdn.com/b/robert_mcmurray/archive/2008/03/04/…. If you're looking for a client (Win7, XP) setup it most likely should work on Win 7, not sure about XP though. Jun 1, 2012 at 15:40
  • It looks like IIS may come with Server 2008, but not other OSs (like Windows 7 Enterprise). That would greatly complicate install, but perhaps not fatally so.
    – alficles
    Jun 1, 2012 at 15:41
  • 1
    @BrentPabst Of course, one wouldn't want that. It's a matter of what one can get. If I got what I wanted (trained people in all the places they were needed), I'd be doing a lot of things differently. So, I'm looking for solutions that reduce the chances of people getting things wrong and reduce the number of things to troubleshoot when they do go wrong. Hence the desire for a simple system.
    – alficles
    Jun 1, 2012 at 16:03
3

Apache? It's (I believe) still the most popular webserver around. And there's a windows version too, with a .msi installer, and works as a service.

1
  • (See comment directed at Bart.)
    – alficles
    Jun 1, 2012 at 15:11
1

Abyss Web Server

It's free (personal users, low traffic sites, web developers, students, small companies, small intranets), you can change the port, and support CGI

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .