Skip navigation.

Software > Operating Systems, Open Source

Linux in Mixed Environments

By Hugh Barnard

It's not necessary to change everything to Linux, in order to benefit from it. Linux can co-exist with Windows, especially when used as a central server. This article and short case study illustrate briefly how.

Why run a mixed environment?

These are some reasons to use a mixed Linux/Windows environment, using Linux as a server:

  • Expense of Windows Server 2003 + components
  • Forced update/upgrade cycle for Windows
  • Steadily increasing hardware requirements and sustainability
  • Difficulties with running some open source tools on Windows
  • Experimentation with open source (non critical server, though)

Unless you are a registered charity or educational establishment, you may not be able to get Windows Server and Windows Small Business Server at discounted prices. The server and associated tools (Exchange, SQL Server, for example) may run into several hundred to over a thousand pounds. There is also the associated licensing complexity.

If you are a charity you may be able to get Small Business Server through the Charity Technology Exchange (CTX), part of the Charity Technologies Trust. Windows 2003 server is normally available to charities at a discount through the usual specialist charity software suppliers.

Windows has a Microsoft-driven update cycle, associated with the licensing. Whilst 'benign neglect' is not an entirely good thing (vulnerabilities should always be corrected, for example), it is a reasonable strategy for situations that don't have a lot of access to technical help.

In general, Linux can run on older and lower specification hardware though it's difficult to rigorously compare, like for like. Since there's no forced update cycle, the older hardware can stay in place longer. This is an ecological benefit too.

Linux Server Tools

Here are some of the more useful and accessible server tools:

  • Samba file and printer sharing
  • Samba as a PDC (not great, frankly for XP)
  • Sendmail
  • Apache
  • Webmin
  • MySQL

There's a brief description of these tools below.

Samba

Samba file sharing provides file space and directories to Windows desktops as Windows file shares (Windows directories). Samba also provides printer sharing which means less printer configuration and maintenance for each desktop.

It can also be used as a Primary Domain Controller (PDC) which means that individual login information and users’ desktop data can be kept on the server. This, in turn, means that users can 'roam' between machines and retain their personalised data. This requires quite a lot of modification to the standard desktop XP security settings. 

Sendmail

Sendmail is the oldest and most venerable Mail Transfer Agent (MTA) of the Internet. Think of it as a mailroom that analyses addresses, sorts, transfers and delivers mail. I used it here, because I'm familiar with it.

However, it has a fairly complex configuration and some (usually promptly corrected) security issues. If you need mail on the server, in this context, it's worth looking at Postfix, a Mail Transport Agent that does the same thing and has a simpler configuration task.

In this context, Sendmail or Postfix gives a partial replacement for Exchange server. The replacement is partial because these tools are not so tightly integrated with the Windows desktop tools.

Apache

Apache is an open source web server. It takes web pages (and programs that produce pages – Common Gateway Interface programs) and serves them to web browsers such as Firefox and Internet Explorer. It can serve many different domains (www.this.com, wwe.that.com) and is also very configurable.

Configuration is somewhat easier than Sendmail, since it's in a modern format (XML – eXtensible Markup Language), and there are fewer files to configure. We use it to serve our Intranet (internal web space) and various domains and websites that our pupils have produced.

Apache replaces Microsoft’s Internet Information Server (IIS), in this context.

Webmin

Webmin is a web based administration tool for nearly everything on Linux. It means that about 95% of the server functions can be administered via the web without using command line operations.

Also, the Webmin community have provided a rich ecology of plugins (small programs that enrich the basic Webmin). We use one called Virtualmin, which means we can set up multiple web domains on the same server.

Since this is a potential source of insecurity, it should be blocked from outside the firewall (outside the offices or other space where it is being used).

MySQL

MySQL is relational database software, that is, software for structuring, storing and retrieving information. Think of it as a large and versatile filing cabinet. We use this to keep a register of students and it's also used by some of the web sites to store deliver structured information.

This is our server replacement for SQL Server and a replacement for some of the things that are usually done with Access on the desktop. There are also free (but not necessarily open source) Windows desktop tools for maintaining and managing MySQL databases, examples include phpMyAdmin, MySQL GUI tools bundle, Heidi SQL and SQLyog.

Case Study: Age Concern Classroom

We use a Linux Redhat server as a classroom and student resource within a project for older computer users (there are free and commercial and versions of Redhat, here’s a feature comparison).

The server took about three hours to set up, using a selection of pre-chosen software packages in Redhat Package Manager (RPM) format. RPM format means that the software is organised in a certain way, so as to install/uninstall cleanly and easily. It also gives an inventory of installed software (something like the Windows registry).

We used the tools listed and described above and Perl for some of the automation tasks including student registration.

We used Samba to provide a set of shares for different classes and a general share with a named directory for each student. Since modern disks are large, we have a fairly permissive policy about keeping things (with the exception of digitised video, for example). 

We use Apache 2.0 to serve the main site for the intranet (the internal web space) and for student created sites and content. Since most of this is simple web pages, the default configuration for Apache is used. We've created a special 'web' directory that connects to the web content, so providing web content is usually 'drag and drop'. We use Wordpress for the main website, this was quicker and simpler than a complete content management system.

We use Webmin to administer all the standard tools and use the Virtualmin module to set up individual websites and sub domains.

Points to Watch for and Conclusion

  • Samba is no more than adequate as a primary domain controller (PDC) for Windows XP desktops
  • Postfix is probably a 'better' choice than Sendmail, configuration is more rational
  • Debian and derived distributions (especially Ubuntu) are gaining popularity, we chose Redhat for this because it was/is a mainstream distribution
  • Stability of this Redhat server had been very good, very little unplanned downtime
  • Try and standardise on one standard set of tools and server build within the organisation
  • Webmin is your friend, easy to install and administers without using raw Linux commands
  • Block access to Webmin (default port is 10000) from outside your environment

This has proved to be a useful server and set of tools with a quick build time (probably in the region of three hours for the initial build) and a fairly low total cost of ownership (based on the idea that we change only what is necessary).


About the author

Hugh Barnard
Hugh Barnard has been involved in computing for about thirty years and involved in open source and the web since their inception.

Glossary

Apache, Command Line, Database, Debian, Firewall, Hardware, IIS, Internet, Line, Linux, MySQL, Registry, Software, SQL, Web Server, Website, WWW, XML

Related articles

Published: 4th September 2006

Copyright © 2006 Hugh Barnard

User comments and discussion

If you have useful information to add to this article please Add a comment. Comments will appear after they have been moderated.

Discuss this topic in the Knowledgebase forums. This is a useful place to share knowledge, experiences, and ask questions.

Please sign in or register to be able to post a comment or discussion.

IainRob
6th February 2007This article misses a fundamental "pro" point for Linux: that far from being a cheap alternative to Windows, many server administrators would say that it's superior in many ways: more stable, more secure and more configurable for example.

Similarly, the software should not be seen as any sort of second-rate replacement. As a file share, Samba on Linux is often faster than a native Windows server. The Apache web server runs around two thirds of the world's websites. MySQL is used by everyone from one-man websites up to major banks, hospitals and governments.

Most organisations I know that switch to Linux and Open Source do so not because it's cheaper (though it often is) but because they want something better than Windows.