This post is to share the strengths of the Linux OS and explain how this lightweight operating system can be employed within a Microsoft network. This will not be an article about Linux Desktop. The majority of my career in information technology has been spent in the world of UNIX, AIX, and Linux. I spent seven years working with AIX, first as an installer and then as an administrator for a large company that provided banking solutions. I then spent another six years working as a Linux administrator.

During the past year at RSM, I’ve earned my MCSA in Server 2012 r2 and have passed the first of two MCSA exams for Office 365, with the intention of earning that MCSA. The majority of my week is now spent working in the world of Microsoft. Therefore, this is not the usual tired argument in favor of one operating system (OS) over the other. Microsoft has the largest market share for servers, and they have dominance in the desktop environment at over 95%.

I’ll begin with a few points that make Linux a desirable OS for some IT professionals.

  1. The Price Tag. Not all versions of Linux are free, including Red Hat. That being said, there are some very reliable and flexible Linux distros (versions) that are free. CentOS is a very stable version of Linux that is actually considered to be a clone of Red Hat. Due to its stability, CentOS has been my Linux OS of choice. Other versions of Linux include Mint and Ubuntu. Both are very popular among many Linux users. There are well over 100 distros of Linux. The reason for this is related to my third pointbelow. It is open source, and users can actually create their own distro. CentOS, Mint, and Ubuntu are free to download and free to upgrade.
  2. Security. Linux has built in security against the effects of a virus attack. If a Linux administrator is following some simple industry standards while maintaining his servers, only one user has the capability to make changes. The only way a regular user can make changes is if they on the ‘Sudo’ user’s list. This list has specific parameters that can be set for the user to allow them to run root level commands, such as moving a file to a different location. Nobody should be logging in as the root user including the Linux administrator.   This lockdown of users’ capabilities on a standard Linux system helps to prevent a virus from spreading through a system.
  3. Open Source. The concept of open source applies to the OS itself, as well as the types of applications that the server can actually run. One thing that I’ve always enjoyed about Linux is the ability to go into the configuration files and modify them to make it work in a way that simplifies and enhances productivity. The ability to change script code and configuration files also allows it to work with different applications, etc. Some applications, like Nagios, which I will cover later, is open source, as well. In short, Nagios is monitoring software. Because it is open source, the Linux administrator can change the code to fit their network environment. Many open source programs that can be installed on a Linux server are free to download.

With the above features considered, I’ll discuss some of the ways that a Linux machine can be used within a Microsoft-based Network. The three areas that I’ve seen Linux used most often are the following:

  1. Webservers
  2. Network and system monitoring
  3. File servers and storage.

Webservers

In the past, it was often said that the Linux server was more stable than the Windows server. This has all changed since Windows 2012 r2 and 2016 have entered the scene. Linux is still a solid setup, and can often run without much maintenance for long periods of time. To say one OS is better than another is an argument I’m not going to make. Microsoft has a commanding lead in the market for both servers and desktops. But Linux has the market share for webservers for a number of reasons. That being said, I’d be hard pressed to say that one operating system is better than another for webhosting. Windows has a number of interactive features that Linux does not support. Which platform to use for webhosting should be determined by the needs of the developers.

  1. Using a Linux server as a webhost is far more inexpensive than Windows. The OS is free, the database is free, and much of the open source software used for website interaction is free.
  2. The base configuration for the website development is fairly easy to setup on the Linux side, as it only requires a changes to be made to a few files, such as the Apache configuration file. Also, the site may need to have a database which can be added to a MySQL database that is native to the Linux distro. Once the changes have been applied, the website can then be configured via web interface.
  3. Linux also has PHP that can be used to write code for websites.
  4. Linux, Apache (web server), MySQL (or Postgresql), and PHP are referred to as the LAMP stack. Generally, it’s all free and all within the same distro of Linux. This then reduces the need for more resources.
  5. The Linux server is very secure, as discussed above. Additional software to prevent viruses or other attacks is often unnecessary.

Both Linux and Windows servers are fine for running websites. They differ most by cost and development features. If the developer needs to use .NET, then he or she should be using a Windows Server.   If the developer is looking for an inexpensive solution and wants to build their sites using PHP, then Linux is a good option.

Network and System Monitoring

Having a machine set up to run a lightweight distro of Linux for the purpose of running open source networking monitoring software is a good fit for almost any environment. Installing a lightweight distro, such as Lubuntu, onto a machine that does not require a lot of processor or memory usage is very handy and economical. As previously mentioned, open source monitoring software can be downloaded for free. The monitoring tool that I’ve had most experience with is Nagios. The General appearance of Nagios is not as slick as some of the more advanced graphical monitoring solutions out there, but it still provides necessary information, as well as the ability to send alerts when specific thresholds are met.

Nagios is open source software. The administrator can change specific configuration files to determine what devices are monitored, what network changes to look for, and how it alerts (among many others). The code is fairly simple to configure and allows the Linux machine hosting the Nagios software to provide information on a wide range of variables, such as disk usage, network usage, and overall system health. There are other open source networking monitoring tools to choose from, and most of them are free downloads. Zabbix, for instance, is open source and is said to be able to monitor anything. The user interface is extremely detailed. The software is capable of generating reports, graphs and mappings.

File Server and Storage

Due to its simplicity and the fact that it can be freely acquired, using a Linux server as a file server or a target to save files can be ideal for certain administrators. As a file server, Linux has a number of tools, such as FTP and NFS, that make sharing files to Windows users very easy. The configuration of the file server isn’t quite as easy, but once it is configured, it should run with ease. CentOS is a great platform to use as a file server. The main component to the file server setup is the Samba software. It is an open source package that includes file and print services. Samba can be used to set up a domain controller on the CentOS server, which can then allow the Windows user to access the files that will be shared from Linux. Once the configuration is complete, there are a couple of methods that the Windows user can utilize to acquire the files. The first is to map a drive to the Linux Samba share. The mapping is setup by IP address and, to the Windows user, it looks like any other share they may have. Third-party software is also available, such as WinSCP. This may be a bit more cumbersome to the average user, but it does provide a secure copy of the file being transferred.

CentOS or Ubuntu or any number of Distros work fine for using Linux as a storage target. Again, it’s an inexpensive operating system that can be used to run a server whose only purpose is to be a file repository. There are third-party tools that can be used to transfer files from Windows servers and desktops. There are Linux scripts that can be written to mount a shared directory on the network and then pull the files across the network. During my time as a Linux administrator, creating scripts to do the heavy lifting of transferring files from Windows to the Linux storage server was by far the easiest method. These scripts usually use a command SCP, which stands for secure copy. SCP is used in conjunction with a number of different commands to bring copies across the network. These scripts are then made executable and can be launched by the Cron. The Cron is basically an event scheduler. It can run any script at any time, and is configured by the Linux administrator.

If none of this sounds all that exciting, you can always just build a robot using Raspberry Pi to mow your lawn, sweep the floor, or whatever other task you can think of.

To learn more information on RSM’s consulting services and managed services offerings, please visit our website. You can also contact RSM’s technology and management consulting professionals at 800.274.3978 or email us.