Chapter 8: Linux Servers on the LAN What Is Linux • Linux is a UNIX-like open source operating system. • Open source software is software in which the source code is available. • Linux actually refers to the kernel of the operating system. The kernel is the operating system’s centerpiece. • Other components of the operating system have their own names such as X-Windows, Apache and Sendmail. A collection of components bundled with Linux is known as a distribution. What Is Linux • Some versions of Linux are freely available for download off the Internet. • Linux use on the LAN is growing as it can perform many of the functions that a Windows server can, without the associated licensing costs. • A drawback of Linux is that often more complicated to configure than Windows is. What an organization saves in licensing costs, it might spend on personnel to manage the Linux systems. • Linux computers generally co-exist on the LAN with Windows and Novell servers and replace older UNIX servers. Distribution A specific collection of Linux and programs that run on Linux is known as a distribution. Anyone can create their own Linux distribution with enough time and effort. Several popular distributions are: RedHat Enterprise Linux. Subscription-based, includes support. Targeted at large corporate LANs. Aims to replace traditional UNIX vendors. RedHat Fedora. Development branch of Redhat Enterprise Linux used to test new software. Freely available, but less stable than the Enterprise version. Debian. Freely available and highly stable Linux distribution. Does not include the very newest versions of software, only those versions that have proven stable. Novell SUSE. Novell’s Linux distribution. Integrated closely with the Novell network operating system. Subscription based. Mandrake. Popular beginner distribution of Linux. Freely available. Source and Packages • Source code is the program language text, usually written in the language C, in text file format. • A binary file is the result of compiled source code. • A dependency is another component of the operating system that must already be installed before the new program will function. Some, but not all, software source code will attempt a dependency check prior to installation. • It can be difficult to uninstall software that you have installed from the source code. Source and Packages • Packages are pre-configured binary files for specific distributions. Package managers keep track of which packages have been installed. • When you install software using a package manager, a dependency check will occur. If the required packages are not present on the computer, the installation will abort. • Some distributions offer a tracking service that will notify you when new versions of installed packages are available. Command Line Administration • Because of Linux’s UNIX roots, the primary method by which it is administered is the command line. • Commands are often followed by switches, which allow different options to be used. • All administrative tasks can be performed from the command line, either by issuing specific commands or editing text-based configuration files. Command Line Administration • Can be accessed without the need to run the X-Windows graphical environment, which reduces CPU overhead. Can be accessed from GUI as well. • Can be accessed remotely via encrypted SSH session. Extremely low bandwidth means that servers can be administered over the slowest modem connections. • Command line administration can offer a more precise control of the operating system than GUI-based administration. The down side is that it requires precise syntax. Use an incorrect command switch and you may get a very unintended result. • Scripts are written in languages like Perl to automate administration tasks. X-Windows • Most Linux services and applications do have GUI-based configuration utilities as well. • Generally though, the GUI-based configuration utilities lack all of the options of command line utilities. • X-Windows can be run remotely, so that you can view graphic utilities running on remote computers. • There are some security issues with running X-Windows remotely, so it is often better to use a remote desktop product such as VNC to remotely connect to a Linux GUI. Webmin • Webmin is a Web-based remote administration tool that can be run via Web browser. • Offers the ability to configure most Linux services. • Some tools are better than the Linux GUI versions. Command line still offers the best functionality. Single Sign On • In Windows, you log on and authenticate against a domain controller. This means that you can use the same logon account on any computer for the domain. • Unlike Windows, Linux computers are designed primarily to be stand alone. To have a single sign on solution means that you must configure a NIS/NIS+ server. • A NIS+ (Network Information Service plus) server keeps a copy of the account database each NIS+ client computer. • NIS+ is highly complicated to configure compared to Active Directory. File and Print Sharing • Linux files can be shared in several ways. The first is via NFS and the second is via SAMBA. • NFS is primarily used to share files with other Linux clients. Linux clients can mount an NFS share as a directory within their local file system. • SAMBA is primarily used to share files and printers with Windows clients. • Windows Servers can be configured to print directly to Linux printers. You create a shared printer on Windows Server 2003 which points to the Linux printer. Windows clients then direct print jobs through the Windows Server 2003 computer. SAMBA • Samba allows Windows clients to access resources on Linux computers. • When a request is made for a resource, the Linux computer uses a Windows server to authenticate the user. • Shared files appear to clients the same as they would if hosted on a Windows Server. Apache Web Server • The most popular Web server in the world. • Has been in use since 1995. • Configuration is performed by editing httpd.conf file. • Supports multiple Web sites, differentiated by FQDN, IP and TCP port. • Can restrict access on basis of IP address, domain name, username, and password. • Apache modules can be added to support different features, such as scripting languages and encryption. • Modules are add-on components that enhance Apache’s functionality. • Apache modules can be added to support restrictions via digital certificate. E-Mail Servers • Almost all Linux distributions come with a built in e-mail server. • The most popular is Sendmail. Sendmail supports POP3, IMAP4, and SMTP. • Sendmail is configured by editing sendmail.cf. It has a reputation as being very difficult to fine tune. • Another popular mail server is Postfix. Postfix was designed to be a simpler to administer alternative to Sendmail. Summary • A Linux distribution is a collection of utilities bundled around the Linux kernel. • The most complete administrative interface for Linux is the command line. GUI and Web based administration are possible, but don’t always offer the same number of configuration options. • When sharing files to UNIX or Linux clients, use NFS. When sharing files to Windows clients, use SAMBA. • SAMBA allows a Linux computer to use a Windows Server to authenticate Windows clients. • Apache Web server is the most deployed Web server in the world. Add-in modules extend Apache’s functionality. • Sendmail and Postfix are popular Linux mail servers. Sendmail is more fully featured, but more complex to configure. Discussion Questions Which mail server was designed as a simpler to administer alternative to sendmail? Describe the difference between source and packages? What service should you install to provide single sign on capabilities to Linux? What do Apache modules do? What are the disadvantages to command-line administration?