Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am looking to replace a Win 2008 server by a Linux equivalent.

The Windows server provides us with the following services:

  • File sharing with user / group based permissions
  • VPN access from home user to the company
  • Remote desktops access to PC (usually from home via VPN)
  • Centralized user management and domain user authentication so people can login from any Win PC with their own username / password.
  • DNS server

I would like to know which distribution you recommend and if there is any recipe / best practice and gotchas you want to share.

Thank you!

share|improve this question

closed as too broad by kce, Tim Brigham, Jenny D, Dave M, Rex Mar 13 '14 at 15:49

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

You have all of that on a single server? – Zoredache Oct 24 '09 at 0:20
This is such a bad idea, on so many levels. – Izzy Oct 24 '09 at 4:23
Is there some reason for this? – Jim B Nov 27 '11 at 22:50
up vote 8 down vote accepted

I am looking to replace a Win 2008 server by a Linux equivalent.

This is doable, but requires significant labor.

The Windows server provides us with the following services:

  • File sharing with user / group based permissions

Samba will provide this. This is a major task in and of itself. However, you are indicating (below) that you will not have an Active Directory domain to authenticate there will be additional work involved.

  • VPN access from home user to the company

There are several ways to approach this. Are you wanting "traditional" VPN access, or can you use 3rd party tools?

  • Remote desktops access to PC (usually from home via VPN)

UltraVNC on each Windows desktop will accomplish this.

  • Centralized user management and domain user authentication so people can login from any Win PC with their own username / password.

This is the tricky one. Kerberos (or a variant such as Heimdal) will accomplish this, but expect to also spend significant time setting up and testing this. It will also have a significant impact on the configuration of Samba (as mentioned above).

  • DNS server

BIND is available, although there are others (PowerDNS, djbdns, etc.). Choose what works best for your environment.

I would like to know which distribution you recommend and if there is any recipe / best practice and gotchas you want to share.

Debian, if just for the stability and longevity of it.

Keep in mind that you're asking an awful lot, and making an awful lot of assumptions in the process. This could easily be a month-long full-time project in the making, doing nothing but getting all of these pieces working correctly together. Are you sure you want to do that?

There are also several unanswered questions here as well:

  • Do you need to have Windows client connectivity? OpenAFS might accomplish what you want with far less grief than Samba, or if you're running new-enough clients, NFS.
  • Following that question, does the file share need to be very secure, somewhat secure, or just usable?
  • Do you expect to connect to file shares outside of your LAN?
  • Are all of your clients Windows-based, or is this a mixed environment?
  • What kind of clients are connecting to your VPN?
  • How much time and labor can you invest into this?
  • Is the cost of it worth not purchasing 2008?
  • Are you expecting to use website or GUI tools to administrate all of this?
  • What level of interoperability do you need between environments?
  • Do you plan on adding different clients, or services, in the near future?
  • I see no mention of contingency planning. How do you want to approach this?

I can go on and on all, to answer your question in a generic sense, yes, you can do all of this and have it work fine. Whether or not it works the way you anticipate, is a different matter.

share|improve this answer

Why are you changing? I don't want this to come off as offensive, because it's not at all, but if you have to ask these questions now may not be the time to switch.

You're asking for best practices and gotchas to many complex systems and really it is far too much to get into. Honestly I'd stick with Windows in your case until you've had a chance to set some of this up in a test environment.

I'd start by testing with CentOS or Debian. CentOS is a free fork of RHEL that is line-for-line the same with only the RHEL trademarks and copywritten logos removed. Debian has been forked a billion times and is considered one of the most stable OSes as well.

You'll be using SAMBA for Windows file sharing. VNC in place of remote desktop. Some kind of PAM module for AD based authentication. Probably OpenVPN for your VPN support, and BIND for DNS.

One of the bigger changes is permissions. *nix permissions work differently than Windows permissions and are not as granular. You can only specify permissions for one owner, one group, and for the rest of the world.

Seriously though. Do all of this in test instead of switching on the fly to a platform that you're unfamiliar with.

Edit: I misread the part about authentication. If you want the clients to authenticate against this server you need LDAP. This is very tricky though if the clients are Windows.

Re-reading this question makes me think you did a trial of SBS, with all of the features you have installed, and you've grown accustomed to the features but don't want to buy it. If this is the case, just buy it. There's a reason people use Windows servers that directly support Windows clients. There is certainly a time and a place for Linux, lots of times and places actually. But one of them is not to replace a domain controller.

share|improve this answer
You are better off using a Windows AD with window clients for now. You know when in Rome. However Samba 4 could change this but it's still a ways out. In the shorter term Franky may fill the gap but I'm not sure how production ready that is. It's Samba 3's File and Print Services combined with Samba 4's AD Directory and Kerbos bits. – 3dinfluence Oct 24 '09 at 1:03
It's definitely doable with various applications and modules, but how worth it is it? Plus none of those solutions offer group policy preferences/app deployment. There's no WSUS, etc etc. I'm not citing these things as a shortcoming of Linux by any means, they are simply proprietary pieces that Microsoft changes and update constantly that the Linux community cannot be expected to reverse engineer on demand. Windows servers are really the only way to go for a DC-type or SBS-esque role, just because you know new things will be supported. – MDMarra Oct 24 '09 at 1:06
+1 for the objective point of view. "There's a reason people use Windows servers that directly support Windows clients." – Torben Gundtofte-Bruun Nov 18 '09 at 14:19

In my opinion, the fact that you're asking this question here means you SHOULD NOT do this. Why?

Linux is a fantastic system... but if you think Windows is complicated, play with linux for a week. More importantly, try to fix it when it breaks when you don't really have a clue what's going on. If you were linux savvy, then I would recommend you consider it. Clearly, you are not linux savvy (to the extent you should be to be using it as your server) or you wouldn't ask which distro to use - and you don't already have a linux expert at your disposal or you would have had your answer from them.

You may not like that you have to pay for Windows and you may think Linux is free... is it? Is it costing you less to pay $800 for a server license and use something you are familiar with and can easily get help with? Or is it costing you less to use a free operating system that will cost more than the Windows license within 5-10 hours of paid support? Will the problems integrating Windows clients be worth the "Free" license to Linux? Will the productivity disruption be worth it?

share|improve this answer

I'd recommend Windows actually. I don't see any real reason to replace with Linux in terms of the services you want to provide, and it strikes me that you may be making things difficult for yourself just for the sake of getting Linux in there (correct me if I'm wrong).

share|improve this answer

I agree with the others in that you do not appear to be anywhere near ready for such a move. Doing so without being fully prepared will cause you no end of trouble and work. For now you should be getting familiar enough with Linux and Samba that you no longer need to ask such questions. If possible, set up a lab situation where you have a Linux machine and one or more Windows clients so that you can try everything out and be sure of what you're going to get long before trying it out in a production environment. Unless Linux is your native tongue, and the question itself suggests it's not, you may well find that such a switch is far more trouble than it's worth.

share|improve this answer

You don't say anything about commercial versus non-commercial and it doesn't appear that you have a lot of Linux expertise, so I'm going to suggest that you move to Novell Open Enterprise Server 2. This is based on top of the same Linux distro that you get with OpenSUSE, but the big difference is that it comes with Novell's support.

Novell has a white paper here which compares their Enterprise Server Linux to Windows Server. The main benefit in your scenario is that it comes with Novell's eDirectory which removes any issues with trying to get SAMBA working with Active Directory. Novell just works.

share|improve this answer

Essentially everybody agrees that Linux is good, but in this specific case, it would be wiser to remain on Windows. I agree with that. I'd like to throw in a suggestion that would make a migration possible, over a longer time frame:

Currently all those services are running on a single server. How about picking just one service (like file sharing to begin with) and setting that up on a separate, Linux-based server?

That would:
- act as a proof-of-concept (Linux is a possibility), and
- give you some idea of the amount of work involved (Linux is possible but difficult for us), and
- help you decide when/if it would ever be sensible to switch from a Windows-based server to a Linux-based one (we need XYZ skills before we're really ready to switch, and that would cost us XYZ time or dollars to aqcuire).

share|improve this answer

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