Paul Ferrill evaluates openSUSE 11.0, which shines on the desktop, for its fitness as a server capable of filling many different roles.
OpenSUSE 11.0 does a great job on the desktop, but it shines equally as bright in the server role. Everything you need to set up most any type of server comes on the OpenSUSE 11.0 installation DVD. The trick is narrowing down the options to the ones you'll really need. While you could have a single 'do everything' box, you might want to consider separating out some of the functionality for security and reliability reasons.
We'll go through some of the more popular server options and hit the highlights of getting each one installed. Deciding on how to parcel out the roles to different machines will depend a lot on your situation and what type of activity you need to support. For discussion purposes we'll assume a typical small-to-medium business scenario as we go through the different options.
File and Print
Sharing files and a printer has been the most common use case for servers since they were first conceived. Samba provides both client and server applications to share files from a central location. One thing you'll need to consider if you plan on providing services to Windows-based clients is the potential need for a Primary Domain Controller (PDC) if there isn't one already on your network. There's a good article on the openSUSE site with details on getting everything configured properly.
Centralized printing is another common service needed for small workgroups. Implementing Internet Printing Protocol (IPP) is one of the most common options for sharing a printer from a Linux host. The most straightforward way to set this up requires a static IP address for the Linux host. For a good step-by-step set of instructions check out the Linux Documentation Project Printing HOWTO page. Common Unix Printing System (CUPS) administration is available by accessing port 631 on the server with a web browser as in:
if you're on the server itself.
If file and print are the most common use case for a workgroup server, then providing all the various network services you need for a small network comes in a close second. These typically include things like DNS, DHCP, Firewall, remote access through either SSH or some type of VPN. You probably don't want to put all of these services on the same machine especially if one of the roles will be firewall.
Configuring an openSUSE machine to act as a firewall will require a minimum set of hardware components, not the least of which will be two network interface cards (NICs). This lets your machine have one connection to the outside world and a second to the internal network. openSUSE 11.0 comes with SuSEfirewall2, a stateful network packet filter based on the standard iptables service. All of the configuration options are available through the YaST utility on the Firewall page.
DNS and DHCP are also configured from YaST as is the Samba Server configuration. DNS is one of those services that you'll need to get smart on especially if your network has more than a single subnet. In most instances you'll have named services within your internal network that you will want broadcast while at the same time linking to an external DNS provider for Internet name resolution.
According to the Netcraft tracking site, the Apache project continues to be the most used web server on the Internet. Configuring Apache to meet your needs can be an involved project depending on what you want to do. Fortunately there are a wealth of resources from both the openSUSE documentation site and the main Apache Software Foundation site.
JBoss and Tomcat are the two most popular open source J2EE servers. Both are supported on openSUSE through the standard distribution and documentation. The commercial version of JBoss is now owned by Red Hat, so there might be some reluctance on some parties to go with a solution that has taken more of a closed-source approach. Tomcat is a part of the Apache project and as such integrates very tightly with the Apache web server.
openSUSE 11.0 is a great option for implementing a LAMP server, meaning Linux, Apache, MySQL and PHP. All the necessary components come with the standard distribution and are also available from the main repositories. Starting with version 10.3 of openSUSE you can install missing components using the one-click-install method. There's a good howto on the SUSE geek website.
E-mail is another critical service that some companies choose to take on in-house. openSUSE comes with the standard Linux Mail program but also offers a number of alternatives. Kolab is a full-blown groupware solution that ships with version 11 but is currently broken due to some dependency issues. You'll have to back up to openSUSE 10.3 if you want to give this tool a try.
Helping stem the tide of spam is another common use for Linux servers. The most popular tool for this task is Spam Assassin. Another alternative is the ASSP project, although not as popular as Spam Assassin. There's a whole host of network monitoring tools for things like packet capture and filtering if you're looking for a way to do intrusion detection and monitoring.
openSUSE 11.0 is definitely up to any server task you want to throw at it. One thing not discussed here is the area of virtualization. openSUSE supports all the major open source virtualization tools for creating independent server instances on high-end hardware. The earlier discussion of separating tasks across servers is made even simpler with this approach. All-in-all, it's a distribution worth your consideration.
This article was first published on LinuxPlanet.com.