Can Windows 7 be used as a simple file and (local) web server?

I have a box with fairly modest hardware (Asus P5KPL-CM/Dual Core E2180/1GB RAM) that I’d like to use as a network file server for a couple PCs and Macs. I’d also like to run Apache, PHP, MySQL, etc. to use as a testing server for Web pages we build for our clients (i.e., we have Dreamweaver’s testing server tab set to the local machine, not the remote Web host). It doesn’t have to do anything else (that’s the beauty of it), and it will largely run headlessly.

[ol]
[li]Will Windows 7 be able to manage a RAID 1 array?[/li]
[li]Will I be able to costlessly (and easily) install Apache, PHP, MySQL, PHPMyAdmin, etc.? [/li]
[li]There is a router with a NAT between it and the Internet. Other than regularly patching/updating it, is there an increased security risk of storing files on it? It’s connected to the Internet, but won’t surf. (Charlie notwithstanding.) [/li]
[li]Post installation and data transfer, will other Windows and Mac machines be able to map/read/write to it without jumping through any hoops? [/li]
[li]Since I’m not running other software, will the meager hardware be up to the task of serving files and web pages? Would more RAM make a difference under these circumstances (or would that be overkill)?[/li]
[li]Am I overlooking anything?[/li][/ol]

Thanks,

Rhythm

Take a look at SME. linux based, very easy to set up, designed to be headless and a great file server. Comes with apache but i never used that aspect. Worked well with the lower end hardware I installed it on but i would install more ram. You are quite safe behind a router so I wouldnt worry too too much. Price is right, its free…
good luck

Hmm, I don’t know and it’s not obvious on the web. I know that some versions of windows support mirrored disks (not sure if it’s actually RAID or if it’s some MS version). I’m guessing you might need W7 Business or Ultimate. I’m at work but I can check my copy of Ultimate and see what it supports later.

Yes, XAMPP. Note, I’ve only briefly fiddled with that but it fits your build and has a big support community.

Shouldn’t be, run a virus checker etc. NAT should protect it from outside access as long as you don’t deliberately forward the ports. In fact you should be able to block external access to port 80 on the router just to be sure.

You should be able to share the directory hosting the sites the same as anything else in Windows. I’m assuming that Macs can access Windows shares. If not XAMMP has a FTP server bundled.

Probably yes. Depends on how many people are accessing the server, what sort of code you’re running. My gut feel is that more RAM is going to make is snappier, I’m not sure how much Windows will eat just sitting there. If you’re not actually using the computer much (i.e. accessing it remotely) then you’ll want to disable Aero and anything else that eats memory.

It seems overkill to run Windows 7 just to set up a web server. Mostly for the price (if it’s pre-installed then that’s not an issue). You might be better off with a Linux distro which will come with all of that. Of course it depends how familiar you are with Linux – but you’re using apps mostly ported from Linux on Windows.

Linux has the advantage of being free, giving you more options and taking up way less in terms of overhead. If you don’t want to nuke the machine you could probably get it running from a live CD and a USB key for the config. But I can see why you might want to stick with Windows if that’s what you’ve already got.

Hope that helps somewhat, someone with more knowledge will probably correct me shortly. And expect a flood of people suggesting you just stick Linux on it.

SD

With just 1 GB of RAM, there’s only a very minimal amount of free memory to play with under Windows 7. It may not be such a good idea.

The non-server editions of Windows (e.g. Windows 7, Vista, XP) also have restrictions on the maximum number of incoming connections they can support. You should be fine if you’re testing and only have a few machines, but you should keep that in mind if you may need to scale up in the future. The server Windows are $$$.

Windows 7 does support dynamic disks, that would allow you to set up mirrored disks. Again, I don’t know if it’s just available in Ultimate or not.

Do you mean Windows limits incoming connections at the network level? I’ve never heard that, although it might be right. It must be quite a few connections since I can run a torrent client (and a bunch of other stuff) with no problems.

Or do you mean there’s a limited number of users that can access a network share?

For network share, yes. Since serving files is part of the requirements of the machine in the OP, this is relevant.

It looks like there’s no software enforced limit on incoming TCP connections, but there may be something in the licence agreement nonetheless. Quote from MSFT KB314882 (near the end of the article):

"Per development: The connection limit refers to the number of redirector-based connections and is enforced for any file, print, named pipe, or mail slot session. The TCP connection limit is not enforced, but it may be bound by legal agreement to not permit more than 10 clients. "

This article applies to XP, but similar terms likely apply to all other client-side oriented Windows.

Ah, OK. I didn’t know share’s were limited like that. Fair enough.

If the OP is looking for that sort of clout (and out of that machine) then I’m not sure any flavour of Windows is the best bet.

But for just a few machines, it’ll probably work.

Win7 isnt a server OS, thus MS limits what it can do with its native programs.

Its not going to be a good fileserver as it only support 10 (15?) simultaneous connections. This is not a TCP limit, its an SMB/CIFS limitation. The non-server version of IIS only support x amount of connections too.

You can install apache on there and use ftp/sftp to get around these limitations.

Windows non-server products do not support software RADI1 naively. You’ll need to buy a RAID1 card. Preferable a real one and not a cheapo ‘fakeraid.’

># Since I’m not running other software, will the meager hardware be up to the task of serving files and web pages? Would more RAM make a difference under these circumstances (or would that be overkill)?

Its impossible for us to answer this. What is your load? Run your app, do load testing against it. See how much RAM, processor, and disk IO it is using. It may be that your php script is pounding a large database and its disk bound. Or in other cases its CPU or RAM bound.

Seconding this. IMHO, SME Server is would be a much better option for your needs. I’ve been using it for years as a simple file server and gateway. Easy to setup and free and open source.