Linux – Windows Clients: Windows or Linux Domain Controller

domain-controllerlinuxwindows-server-2008

I'm planning to set up a domain controller for our small computer laboratory. I'm a little confused as to what operating system to use for our domain controller.

What's in the lab:

  • The lab has 25 units running a mix of Windows 7 and Windows XP.
  • The domain controller will only have 2GB of RAM running a C2D E7200. (Is this enough?)

What we want:

  • The Domain Controller will also be running a git server.
  • The Domain Controller will also be used as a general development machine (mostly Java, PHP).
  • A way to centralize the updates for the windows clients, so that they won't have to download the same patches from the remote site. The machines would just query them from the local domain controller and get the updates from there.

Our head recommended that I virtualize a Windows Server 2008 system under a Linux host and use the former as a domain controller and the latter for development or the other way around.

A comparison of the advantages and disadvantages of using a Linux distribution or Windows Server 2008 in this situation would also be appreciated.

As you may have noticed by now, I'm kinda new to setting up a domain so I hope you guys will be able to help me. Thank you.

Best Answer

If you are building a Windows environment, run a Windows domain controller. You will save yourself an infinite number of headaches and drastically reduce your setup time. Plus if/when something goes wrong competent MS folks are easier to find than competent *nix folks with domain controller hackery experience :)

You can run a Domain Controller on a very lean system (or even a VM as you mention above) IF you resist the temptation to tack a bunch of other services onto your DC. Running WSUS on it is probably OK, but It should NOT be a git server and it should NOT be a development machine. Dedicate another box for these tasks (it can even be a unix system, which will make git easier to wrangle).
ideally nobody should be logging in to your DC locally, especially in a lab-type environment.

If you are not married to using Windows clients there are a number of ways to implement the lab environment using BSD or Linux systems...