During a recent conversation with a field engineer about a client who needed to replace their server, we discussed how the client was going to have a heart attack when he discovered how much the replacement was going to cost. The hardware cost was doable; the cost of the Client Access Licenses (CALs) is what would send the client into fibrillation. It didn't seem to matter which way the client went with the CALs, the cost was going to be astronomical ($30,000+). Fortunately for the client, he had the budget for the server and the CALs, so he went with that particular setup.
This particular client was not interested in an alternative solution, but the discussion lead to me talking about how clients could replace a Microsoft Windows Server environment with open source software. I know it is also possible to replace the Windows Server platform with a Linux platform like Red Hat Enterprise Linux, but the goal in DIY projects is to save serious cash, and with Red Hat Enterprise Linux, there will be a bigger cost than just the hardware. I'll explain what would be necessary to replace the Microsoft Windows Server platform with a Linux platform that could serve almost any need Windows Server could possibly fulfill.
For a server OS, I highly recommend CentOS, a free enterprise-grade Linux operating system. CentOS is based on the code from Red Hat Enterprise Linux and is 100% binary compatible with the Red Hat release.
The Linux platform does not have an Active Directory; it does, however, have the system Active Directory was based on -- Lightweight Directory Access Protocol (LDAP). LDAP is a protocol for reading/editing directories over a network. This allows for such things as user authentication and records storage. When LDAP is set up properly, it can serve a business in a similar way that Active Directory does. Although LDAP is not the easiest system to get up and running, once you get it up and running, the service is solid and reliable.Related resource: Five tips for managing your LDAP data.
The BIND name system is the most commonly used DNS system. Unlike LDAP, BIND is fairly straightforward to install and configure. It can be installed and configured in about six easy steps, so this portion of getting the Windows Server replacement shouldn't be much trouble. If you are sticking with CentOS as the platform, the installation and configuration of BIND will be even easier.
When using the Linux OS as a server platform, Apache is the web server of choice. Apache is incredibly reliable and scalable, and it's also amazingly simple to install on any platform. In fact, the installation of a full-blown Linux, Apache, MySQL, PHP (LAMP) server can be completed (once the Linux part is done) with the command tasksel. (The tasksel command only applies to Ubuntu and Ubuntu-derivative distributions. For the installation of Apache on CentOS, more than one command is necessary to install constituent pieces.)Related resource: Quickly Install a LAMP server on Ubuntu.
For the longest time, Sendmail was the de facto standard for a Linux email server until it wound up being overly complicated and insecure. Postfix took its place. Postfix might be the easiest to install and configure email server available. It's also easy to manage, and it integrates well into many groupware servers.Related resource: DIY: Email server on a shoestring budget.
A replacement for Microsoft Exchange will be necessary; the good news is there are plenty of groupware servers available for Linux. There is the incredibly powerful (but costly) Zimbra, and there is the free (and open source) EGroupware.There is also the Community edition of Open-Xchange, which offers numerous plugins to extend the functionality of the server. Most Linux groupware servers will add to the Linux server Exchange-like functionality (some come closer to mimicking the Exchange functions than others).Related resources: DIY IT: Groupware on a shoestring budget, Installation guide for eGroupware on Ubuntu Server, and SolutionBase: Build an open source groupware solution with eGroupWare.
The CentOS distribution should have everything necessary for a functioning DHCP server by default. The only necessary configuration changes will be in the /etc/dhcpd.conf. Once you make the fairly simple changes, the DHCP server is simple to restart. As with any good server, the DHCP configuration for the Linux DHCP server can set up some very complex networks. This will be dictated by the needs of the network.
For file serving, Samba will be the server of choice. Although some might say that the Samba server is too challenging to configure, the latest combination of Samba and either GNOME or KDE (in the case of CentOS, GNOME), the sharing out of files with Samba is incredibly simple.Related resource: 10 ways to make your Samba life easier.
Putting it all together
Now all you need to do is put all of these pieces of the puzzle together. In future DIY posts, I'll show you how to lay the pieces over a CentOS installation to create a fully-functioning replacement for a Windows Server environment.
Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.