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
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 UK: England & Wales License.