Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.)

share|improve this question
    
What version of Windows? –  Dave M Jun 1 '12 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 '12 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 '12 at 16:22
add comment

5 Answers

up vote 8 down vote accepted

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.

share|improve this answer
add comment

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"?

share|improve this answer
    
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 '12 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 '12 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 '12 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 '12 at 16:31
1  
@alficles thoughts and prayers go with you after your terrifying ordeal. –  gravyface Jun 1 '12 at 18:34
show 6 more comments

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.

share|improve this answer
    
(See comment directed at Bart.) –  alficles Jun 1 '12 at 15:11
add comment

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/

share|improve this answer
    
BTW, This solution is all point and click ;) –  Brent Pabst Jun 1 '12 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 '12 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. –  Brent Pabst Jun 1 '12 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 '12 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 '12 at 16:03
show 15 more comments

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

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.