An Introduction to Linux as a Server
Although it’s relatively obvious at first sight what a Linux Desktop is, because we’re all familiar with Windows and the two are not that dissimilar, the term Server often has people diving for cover. It’s the box in the corner of the office that nobody touches, or even the box in the computer room that nobody sees. Because very few people interact with it, it’s not an every day occurrence and hence, as a rule not well understood.
Desktop and Server Linux, what’s the difference?
Essentially there is no real difference, apart from tuning and the choice of software installed from the CD by default. To put it into motor vehicle terms, it’s akin to having an ‘Economy/Sport’ button on your dashboard .. basically the same car, but you can flick a switch to tune it differently depending on how you want to drive it.
The most immediate difference you will see is that the server version tends not to install the Graphical User Interface by default but instead leaves you with a command line interface, the textual installer looks something like this;
Beyond that, whereas Desktop Linux is tuned to run with one user at a time, providing as quick a response as it can to user interaction, Server Linux aims to be more efficient at handling non-interactive processes where response time is far less critical but the ability to handle heavy loads over long periods of time the prime concern. Things that are affected tend to be system parameters, memory allocations and Kernel schedulers, often things you don’t see or even know about, but things that can make quite a bit of difference once you start to stress your computer.
What is a Server good for?
Typically anything you might want to do using a Windows server, you are likely to be able to do with a Linux server, it just you won’t pay as much (if anything) for the software, it’ll take less time to install, once install it’ll probably run faster, and once it’s running it will be far less likely to crash.
Typical uses for a Linux server might be;
As a web server or office intranet server
There are many web servers available for Linux, the most well known is probably Apache. This can be used to provide either static text pages, or link into other systems such as Zend/PHP to provide dynamic content or indeed pretty much any type of custom written online application. This site currently runs on an alternative called lighttpd, maybe not something you’ve heard of, but a number of other large vendors also use it, not least YouTube and Wikipedia.
As a CMS or CRM server
Content Management Systems are fairly common place these days and integral to the operations of many businesses. Some good examples would be Drupal, Joomla, or Brocolage. Although the likes of Goldmine and Salesforce have the top-end of the Customer Relationship Management business fairly well sewn up, there are a number of very good Open Source contenders knocking about like SugarCRM, OpenERP, Compiere, ERP5 and more.
As a file server serving files to Windows and /or Linux users
Linux has a number of methods of sharing files between Linux systems, however the most heavily used file sharing technology is generally between servers and Windows clients. Linux has (and has had for a long time) access to an Open Source application called Samba, which effectively allows a Linux Server, in many contexts, to pretend to be a Windows server. It will act as a host or client for Windows files haring, act as a direct or indirect print server for Windows clients, and indeed act as an Active Directory host in the place of it’s Windows counterpart. Although it’s still being developed and updated, this is very stable software that has been around for a long time.
As a Voice over IP telephony server / PABX
Again this is very much a black-box function, but if you consider the cost of BT based PABX’s or indeed custom VoIP rig’s from other vendors, you’re looking at between £4000 and £12000 for a small office with a handful of people. A Linux server running Asterisk can do the same sorts of things (usually more) for a fraction of the cost. Typically you would use something like FreePBX , which provides Asterisk with a nice web based management console, and pay a couple of hundred pounds for an appropriate Digium card to plug your phone lines into, and you’ve saved yourself an awful lot of money.
As a ‘terminal server’ for remote users
Windows has a facility called terminal services, essentially this is like turning your Server back into a mainframe and having people log into it remotely in order to work – the difference is that users get a Windows terminal rather than an old Green Screen teletype terminal. (so effectively all programs run on the server and users connect to it remotely)
Unsurprisingly Linux has the same sort of functionality, the difference being that the Linux version is quicker / more efficient and free, i.e. not licensed per terminal. Take a look at NX (nomachine) , it is sold as a commercial product, but it is also available as a free / Open Source application.
As a mail or domain name server
There are many options here, for just back-end mail relaying you can take your pick of services like Postfix and Sendmail, or for more complete packages including Webmail, Anti-Spam, Anti-Virus and so forth there are applications like Zimbra which are pretty unbeatable in the commercial world – and of course Zimbra is free! (or at least the community version is free, and unless you’re a very large company, this version will do the job)
As an application server for online applications
Application Server is one of those buzzwords you often hear banded about that can be difficult to nail down. Essentially it’s a platform you would use to build dynamic application on and would include things like Zope, Apache Tomcat, IBM WebSphere, The Mono Project (.NET for Linux). Another little-known web server is the Sun Java System Web Server, not of particular note in it’s own right as a web server, but when you add a free plugin, it is able to run ASP code, making it an application server for ASP on Linux!
As a database server
Lots to choose from here too. The industry standard in open database technology is MySQL closely followed by Postgres, a long lost cousin of one of the original SQL applications, Ingres, which dates back to the 80′s. There are also packages that allow Unix databases to interact with non-Unix systems (such as MSSQL) for example unixODBC. In addition there are a number of commercial applications such as Oracle, Sybase (the daddy of MSSQL) and IBM DB2.
As an infrastructure node in a Cloud Computing configuration
Note
Obviously the list is almost infinite, bear in mind also that ONE Linux server can provide ALL of the above functions, you don’t need a difference box for each one. If you’re now asking yourself, “so why do I need that Windows Server that I just paid £4000 for?”, the answer generally speaking is “you don’t”. And the follow up, “can’t I just put Linux Server onto a £500 PC and use that instead?”, 9 times of out 10, the answer is “yup!”.
Related Posts
Leave a Reply
You must be logged in to post a comment.