You are on page 1of 10

Linux Tutorial Pages Have an old system gathering dust? Turn it into a Linux server! It's easy to do.

Just follow along with our guide pages and we'll walk you through installing the Debian Linux OS and setting up a network with the most common types of Internet and LAN servers. You'll learn some things about operating systems, networking, and the Internet in the process, and you may just have some fun along the way. Even if you have never worked with Linux before, you'll be able to use our guide pages to go from zero to "sysadmin" in no time, as well as get a solid start in the knowledge needed for the Linux+ certification. Why Not Red Hat? Red Hat is in a tough spot. Most of their revenue streams are based on sales, support, and training while the open nature of Linux has resulted in thousands of freely-available Linux resources on the Web. Their survival depends on having a product that is proprietary enough to make you dependent upon them for upgrades and support. And now that they are a publically-held company they are under pressure to meet the expectations of Wall Street analysts for revenue growth and cash flows every quarter. (Did you think it was just a coincidence that they churned out new versions at an average of two a year?) In time, Red Hat's dominance will likely kill off smaller commercial distributions like Mandrake (France) and TurboLinux (Japan) and dealing with Red Hat will be no different than dealing with Microsoft. Why Debian ? Debian is the world's leading non-commercial totally free Linux distribution. Remaining loyal to the concept upon which Linux was created, it is produced by hundreds of volunteer developers around the world. Contrary to a common misconception, Debian is not for Linux gurus only. As a matter of fact, as you will see on the guide pages, its advanced package management system makes it one of the easier distributions for new Linux users to work with. Here are just a few of its advantages: • • Non-Proprietary: Debian is a true GNU/Linux distribution using the standard UNIX style commands. This ensures that what you learn today won't be obsolete in two years and makes it easier to also learn how to work with UNIX systems. Easy Maintenance: A seamless, totally-integrated package management system makes it easy to keep your system up to date and free of orphan files and incompatible products. Most dependent packages are handled automatically so you don't get the "Failed dependencies" error commonly encountered when trying to add software on RPM-based systems like Red Hat and Suse. Automated Patching: The Debian package system also allows you to use a single command to update your entire system (operating system and installed packages) over the Internet. This allows you to use a scheduler to routinely run a shell script to automatically update your system with the latest program, OS, and security patches. Extensive: Only free software packages (applications, utilities, etc.) are allowed to be included in the official Debian distributions, and the current binary distribution comes on 14 CDs because there are over 10,000 of them. With Debian, you don't have different "server" and "workstation" or "personal" editions. It's everything all in one. Support Options: Peer support is available through a community of listservs (mailing lists) and chat rooms. Replies to messages may even be from those who helped develop the product. And since you're likely not the first person to encounter a given issue, there are also searchable archives of listserv messages. If your company requires commercial support contracts fear not. Numerous for-profit support operations offer a variety of technical support options. With Debian, you don't have to worry about forced upgrades due to vendors dropping support for older versions. Minimal Investment: Debian's peformance is excellent even with the modest hardware requirements Linux is famous for. While most OSs require newer, faster, bigger hardware, Debian allows you to utilize those old Pentium systems instead of throwing them into a landfill. This, along with the fact that you can load a single copy of Debian on as many systems as you want, means you can set up a full-blown enterprise at very little cost. Reliable: Debian's focus on stability and reliability results in servers that you may have to reboot once a year, rather than once a month. User-centric: New versions of Debian are developed when major changes warrant one, not to generate revenues from upgrades. (You need only look at the version numbers of the various distributions to verify this.)

• •

Debian CD images are available for download from www.debian.org. If you download the images, be sure to download the current " stable" release (get the "i386" set for an Intel PC system). However, downloading and burning 14 CDs takes some time and effort. You can also purchase ready-made CD sets from Web vendors for around $30. If you don't have a spare computer we've got good news. Linux doesn't need much. You can pick up a Pentium-II clone on sites like eBay for under $100. A system with 64 meg of RAM and a 2-gig drive is more than enough for our needs. (If you have a network be sure to pick up a network card for it also. Used 3Com 3C905s are going for around $10.) If money is tight you could always just pick up a used 2-gig hard-drive and mount that in your current system (we cover this option in more detail on the Installation page). Why Not Debian ? If you're the type who likes to base your operations on the bleeding edge, Debian isn't for you. Debian's focus on providing a stable, reliable operating system across all platforms means it will never be "first to market" with new bells and whistles. They are incorporated into new releases once the bugs have been discovered and worked out.

Linux Basics

Linus Torvalds Created the Linux kernel while at Helsinki University (Finland) Released September 16, 1991

Ian Murdock Created Debian while at Purdue University (Indiana) Released August 16, 1993

While many may shy away from Linux because of its complexity, it is this very complexity that makes it so interesting and beneficial. And as with anything complex, when taken as a series of small, simpler pieces it becomes easy. With all of its pieces, Linux is like a bottomless toy chest that will provide you with many years of learning. "Never stop learning" as they say. Your brain needs exercise just as much as your body. Keep it in shape or you run the risk of becoming a mental turnip by the time you're 70. Back before Microsoft developed Windows, Macintosh computers were more popular. It was easier for new computer users to use a mouse to point to cute little pictures than to have to learn a bunch of DOS commands. However, you couldn't write batch files on Macs, couldn't redirect text or file contents to ports, pipe input to commands, take actions based on return codes, etc., etc. While the Mac GUI made it easier to use a computer, it insulated you from the hardware and OS kernel limiting your ability to execute commands and automate tasks. And isn't automation, i.e. having the computer do the work for you, what computers were supposed to be all about? The Mac GUI did quite the opposite. It required user input to accomplish anything. A similar comparison can now be made between Windows and Linux/UNIX servers and the same equations hold true:

Simplicity = Limitations Complexity = Capabilities
This is the case with just about anything. An audio system with a single "tone" control is easy to use but it doesn't give you the options for sound quality that one with a 15-band graphic equalizer does. While it may be easier to learn how to use a Windows server OS, you pay for it by being forced to manually supply inputs and by being restricted in your ability to automate. The real downside of this is that automation (having computers perform tasks instead of people) is what provides the greatest productivity gains, and gains in productivity can lower costs and increase an organization's competitive advantage.

While it may seem unbelievable that having an old Pentium system and $30 means you can have your own Linux Internet, LAN, gateway, or application server, ( Pentium-II system would be better simply because A the newer BIOS will support booting off of a CD but Pentium systems will work with boot floppies.) The $30 is just to cover media, duplication, and labeling costs. The Debian Linux software itself is absolutely free and you can set up as many systems as you want with no licensing concerns once you get the CDs. If you have a broadband Internet connection and a CD burner you don't even have to spend the $30. You can download the CD images directly from one of Debian's mirrors and burn your own. However, considering that you'd be downloading about 8.5 gigabytes of data, even with full use of a 1.5 megabit/sec T1 line it would take a long time. When you consider the cost of the blanks and the time it would take to get an uncorrupted download of, and then burn, all fourteen images you'd have to have a lot of free time on your hands to make downloading worthwhile. Given all the different types of servers you can set up (see the bullet list in the next section), a set of CDs is a bargain investment in your education. Linux will run on many different hardware platforms and Debian supports the widest variety with each platform having it's own CD set. That's why you'll see Debian CD sets offered with notations like 'i386' for Intel PCs, 'PPC' for Power PCs, 'm68k' for Macs, 'Sparc' for Sun systems, and even an 's390' set for IBM mainframes. There is also a 'Source' CD set which contains the source code files for the entire OS and all of the applications and utilities that come with it. This would be of interest to you if you are a C programmer (or want to become a C programmer) and are interested in viewing or modifying the source code of the OS, utilities, and/or applications included with Debian. (You can even modify the kernel source code itself which is available on the binary CDs.) Note that if you want to install Debian on a standard Intel/AMD/Cyrix PC you'll want the 'i386' CD set. When you say the word "server" most people think you're talking about powerful, expensive systems with RAID drives and dual processors. That's not the case at all. Any old PC can be a server. It's actually the software you run on it that determines if a PC is a server or a "workstation". And thanks to the modest hardware requirements of Linux, you don't need much of a PC in order to set up a server. The best way to play around with a Linux server is to pick up an old Intel P-II or P-III system without a monitor and keyboard. Then also get a 2-port KVM (Keyboard/Video/Mouse) switch so you can use the monitor and keyboard from you current PC for both systems. Setting up Linux on a separate system doesn't cost much and it's safer as it ensures that you won't hose up your primary system trying a multi-partition dual-boot scenario where both Windows and Linux are installed on the same system.

Linux is the name operating system*. However, unlike Windows it is available from many different companies. These companies may add their own bells and whistles to the operating system (like a graphical install routine), but they all use a version of the Linux "kernel" (i.e. guts of the OS). Linux releases from different companies are called "distributions" (aka "distros"). The Red Hat distribution is the most popular commercial distro with Suse and Mandrake being two others. Commercial distros are produced by companies which seek to make a profit on selling and supporting their distributions of Linux. (If see a distro simply referred to as "Linux", for example "Linux 9", it's Red Hat.) Debian (pronounced deb-ee-en) is a little different. It's the world's leading non-commercial distribution produced by volunteer developers world-wide seeking to promote the concept of free and open software upon which Linux was initially created .

* Technically, while the term "Linux" is commonly used to refer to the operating system, Linux is actually just the kernel piece. The rest of the operating system (command-line utilities, etc.) is typically from the GNU free software project. That's why Debian is officially referred to as "Debian GNU/Linux". Commerical distributions become proprietary when they replace some of the commonly-used GNU pieces of the operating system with their own. It's at this point where you start to get distribution-specific problems and requirements for upgrades/support. Red Hat is notorious for replacing many of the standard GNU UNIX-like commands with non-standard, proprietary commands of their own. As a result, many of the freely-available general Linux books and resources on the Web cannot be used when working with a Red Hat system. Even books and resources that cover earlier versions of Red Hat are difficult to use because more commands are changed with each new version. In a few years Red Hat Linux may not look like "Linux" at all. Distributions will also differ in the /locations and names of configuration files. For example, the files that contain network interface (NIC) configuration information are as follows:

Debian Red Hat Suse

-

/etc/network/interfaces /etc/sysconfig/network-scripts/ifcfg-eth0
(A separate file for each interface) For versions >= 8.0

/etc/sysconfig/network/ifcfg-eth0
(A separate file for each interface) For versions < 8.0

/etc/rc.config
Debian was created in 1993 by Ian Murdock while a computer science student at Purdue University. He wanted a Linux distribution that was maintained in a free and open manner adhering to the original intent of Linux and GNU software. (The Debian name comes from combining his name with that of his now-wife Debra.) In addition to developing the initial software, he wrote the Debian Manifesto which outlined his vision for a free and open Linux distribution. Debian's GNU/Linux pedigree and adherence to standards makes it the distro of choice for many including being chosen for a Space Shuttle mission back in 1997. The current Debian distribution (version 3.1, codename 'Sarge') includes over 14,000 software packages which are also totally free (which is why there are fourteen CDs). Desktop applications, server applications, utilities, developer tools, and more can be added to your system with a single command. As a non-commercial distribution, Debian doesn't have to crank out new versions to generate revenues which is why the current version number is much lower than for other distros. Some occasionally criticize Debian for this but you can bet a years salary they're not network administrators (likely those who use Debian for their desktop OS). Network admins don't like upgrading or replacing servers (which is evident by the fact that Microsoft had to back off their plans to stop supporting NT because so many Windows servers out there are still running it). "If it works, don't fix it." More than anything, network admins want stable, reliable servers that simply sit there and do their job year after year requiring little, if any, attention. If you don't like babysitting servers you'll love Debian. Its reputation as a rock solid OS is due, in part, because they're not rushing to crank out new versions. Microsoft sees Linux as the single biggest threat to its business for one simple reason. Since no one owns Linux, it's not something they can just buy up in order to destroy (a tactic Microsoft commonly employs to get rid of its competition as was revealed in the DOJ anti-trust hearings). Rather than deal honestly with genuine competition they choose to bash Linux. Ironically, the fact that Microsoft feels its necessary to take the low road against Linux only helps to substantiate it as a serious operating system capable of providing stable, scalable, secure servers for any size enterprise. Linux is becoming mainstream in its use as a server operating system. According to the Gartner Group, major server vendors (HP, IBM, Dell, Sun) reported that while overall commercial server sales for all platforms dropped 8% from 2001 to 2002, their Linux server sales increased by 63%. Networking stalwart Novell bought Suse to become a major player in the Linux desktop arena and Dell recently reached an agreement with them so they could start selling their desktop PCs with Suse pre-installed. In addition, Novell

is developing editions of its Groupwise and Zenworks products for Linux desktops and IBM already has a Linux version of it's Notes/Domino corporate e-mail package. With heavyweights like HP, Novell, IBM, and Dell all behind the growth in Linux, it's popularity will only increase and those who support server and desktop systems would be well-advised to learn it. In a November, 2004 article ComputerWorld said that "Linux use is growing faster than the talent pool needed to support it." and that "Skilled Linux administrators in major metropolitan markets command 20% to 30% salary premiums over their Unix and Windows counterparts."

Using Linux
Linux can be used to set up any number of server-type systems as well as workstations. This site is primarily concerned with the server aspects of Linux. If you're interested in playing around with Linux as a workstation OS on an older system, pick up a copy of Corel Linux which is based on the Debian distribution and is GUI all the way. The Corel Linux desktop looks a lot like Windows so the transition from using Windows to Linux for a desktop OS will be an easy one. (See the Desktop Linux page for more information on and screenprints of Corel Linux.) You can use your Debian Linux software to set up the following types of systems: • • • • • • • Web servers for external (Internet) or internal (Intranet) use. Mail servers to handle both internal and Internet e-mail. Other Internet-type application servers such as FTP, news, IRC (chat), etc. Web cam servers to keep an eye on your home or business operations from a remote location. Proxy/NAT servers that allow all the systems on a network to share a single broadband Internet connection at home or the office. Packet-filtering firewalls which allow you to control what traffic goes out of and comes in to your network (while also performing the proxy/NAT function). Internal LAN servers for file and print sharing much like Novell or NT/2000. There's even a Linux software package available called Samba that makes a Linux server appear as an NT server to Windows workstations. DNS servers to resolve Internet and/or internal LAN host/domain names. Database servers running MaxDB - formerly SAPDB (free), MySQL (free), or Oracle ($$$$) database software. Fax servers running HylaFax and utilizing old fax-modems allow all users on your network to send faxes from their desktops rather than printing out a hard-copy to stuff in a fax machine. LAN and WAN routers which offer an inexpensive alternative to those $5,000 Cisco boxes. Syslog servers which allow you to centralize the monitoring of your network and systems operations. IDS (Intrusion Detection Systems) to monitor your Internet address space for hacking and attack activity.

• • • • • •

Given the free nature of the Linux software and its modest hardware requirements, small and non-profit businesses, schools, libraries, etc. can have all of the computing capabilities and Internet services of big, forprofit corporations with very little financial investment. And Linux is not just for the little guy. Big businesses can save big dollars with Linux because they don't have to pay for all those expensive client access or "seat" licenses . The other benefit to the modest hardware requirements of Linux is that if you do have a fairly powerful machine, you can run numerous applications (such as Web and e-mail and FTP and Telnet and DNS) all on

one system reducing your overall hardware requirements. (While it is certainly possible for a single server to handle both internal LAN and external Internet functions, it isn't wise to put both functions on one server for security reasons.) Support options for Linux-based systems are also growing. Commercial server vendors HP, IBM, and Dell now offer servers pre-loaded with Linux and provide numerous support options for them. Commercial distro vendors have various support packages available and third-party companies offer distribution-specific support options ranging from per-incident to 24/7 contract coverage. For individuals and small businesses, there are free self-help and peer-support options such as on-line documentation, newsgroups, listserves, and chat rooms. We show you how to use one of Debian's chat rooms on the Compiling Software page and Debian support resources are listed on the Resources page. If you're looking for a career, there are two different categories of jobs working with Linux/UNIX servers, but they can often overlap. You can focus on a career as a network administrator, where you primarily take care of all of the types of systems mentioned above; manage user accounts, access rights to files, etc. The other is as a programmer, where you are writing shell scripts or programs which can be written in a wide variety of languages, with C being the most widely used. These scripts and programs are often used in the middle or "back-end" tiers of "multi-tier" client/server systems to automate things. For instance, Linux/UNIX servers are often used as back-end database servers running Oracle. In large organizations these two aspects are usually segregated with different job titles. In smaller organizations you may end up doing both, which would be the best training you could ask for. Note that a network administrator will find their life much easier if they are a good shell script programmer. The better they are at writing shell scripts the more they can automate administrative tasks on the servers. As more and more businesses learn about the potential for productivity gains and substantial cost savings realized through the reduced licensing costs associated with Linux, those with Linux knowledge will be in greater demand. That's not to say you have to be into networking or C programming to have any use for Linux. A vanilla installation of most Linux distributions will include the installation and setup of the Apache Web server software. Out of the box a Linux system can act as a test Web server for Web site developers and those who write CGI scripts for Web sites (which you know the value of if you've ever taken down a production Web server hosting 200+ sites with a looping CGI script). Linux can be useful at home too. It's easy to use it to set up a firewalling proxy server to share a broadband Internet connection with the all of the computers on a home network. And as long as you've got a Linux proxy box hanging on the Internet, it's just as easy to have your own home Web/e-mail server. Normally, if you want to set up a e -mail or Web server you have to have a fixed ("static") IP address assigned by your ISP and your own domain name. However, dyndns.org offers a free service called "dynamic DNS" which will allow you to set up your own home Web and e-mail server on a system where the IP address changes (as happens with dial-up, and residential DSL and cable-modem services). You don't even need your own domain name! If you did register your family's name as a domain name you can use dynamic DNS and set up a Sendmail server to receive e-mail for the domain name (ex: homer@simpson.com). Family members would then set their POP3 clients to retrieve their mail from this Sendmail server rather than the ISP's. In addition, you can run the Apache Web server software on the system also and host your own family Web site. Information on using dynamic DNS services is given on the DNS page and setting up a Web/e-mail server using the Apache and Sendmail software is given on the Internet Servers page.

Kinda Like DOS
Linux is an OS with a character-based interface like DOS. DOS has a character-based interface and it is the command interpreter in the COMMAND.COM file. When you open a DOS window in Windows you are running a character-based command interpreter similar to DOS' COMMAND.COM interpreter (the CMD.EXE file). It is this interpreter that gives you the C:\> prompt when you open a DOS window or boot a DOS system. (Now you see why they call it an "interpreter". It interprets the commands you type in at the prompt.) While DOS only has one character-based interface, Linux (and UNIX) have several that you can choose from. Instead of "interpreters" they are called "shells" (but they are still interpreters). UNIX has three standard shells; C, Korn, and Bourne. Linux has it's own versions of these three popular UNIX shells plus a few of it's own. One is called "Bash", for Bourne-Again Shell, and it is the default shell for most Linux distributions because it combines most of the features of the Bourne and Korn shells.

The Linux/UNIX shells have their own prompts. When you log into a Linux system you'll see either % or $ depending on which shell you choose to use. There's also a third prompt which is the # if you log in as "root". "root" is the super-user account in Linux/UNIX, similar to "administrator" with NT or "supervisor" with Novell. Just as you would enter commands like dir and copy at a DOS prompt, you enter commands like ls and cp at a Linux shell prompt. And just as Windows 3.1 provided a GUI interface to DOS-based systems, Linux also has several GUI interfaces available. The most widely-used GUI is Gnome. KDE is another popular GUI. But since it doesn't make a lot of sense to have two different GUIs on one system, you usually just install one or the other. When you go looking on the Internet for Linux software you'll often see programs with names that start with a G or a K (like Gpad) which indicates that they are programs that will only work with those specific GUIs. You will also often see GUI program names start with an X or referred to as "X11", "X windows", or just "X" programs. That's because the GUI on Linux/UNIX is a little more sophisticated. A piece of software called an " X-server" actually generates the graphics, and a different piece, called a "desktop manager" (like Gnome or KDE) manages the display of the graphics. This is done so that a central server can generate the graphics while individual workstations can display them the way they want by customizing their desktop manager settings. (Linux/UNIX was into "thin clients" long before it became fashionable in the Windows world.) On a single PC, the server piece and the desktop piece just run on the same machine. (Programs that are not written for a GUI, i.e. are written for the character-based shell interface, are referred to as "console" programs.)

Libraries and educational institutions at all levels with computer labs, and even some businesses, can benefit from the work done by the K-12 Linux Terminal Server Project. Older PCs with no hard-drives can be used as "X-Terminals" in the lab while desktop and applications (such as Open Office and Mozilla Web Browser) management are handled at a central X server. Businesses with more comprehensive applications requirements can use the Linux Terminal Server Project Debian package to set up a terminal server and you can have an office full of fully-functional disk-less workstations for a $20 software investment. Because the end-user systems don't have hard-drives: • • • There are fewer hardware failures to deal with The workstations consume less power running cooler and quieter Users can't modify or hack the workstation configurations or software reducing support requirements

Drawing on the Windows comparisons a little more, you may be familiar with Windows NT. There are two versions of Windows NT, Server and Workstation. With Linux there is only one version, and a Linux system can be either a server, or a workstation, or both simultaneously. You decide if the system is a server or a workstation simply by the services and applications you run on it. The routine on the Installation page will install both server and workstation applications. By following this installation routine, you'll end up with a Linux system similar to one in the following diagram. (There's now a free and open version of Sun's Star Office product called Open Office and some kind folks have created a Debian package of it. See the Resources page for a link to them.)

When compared to a common Windows PC the main difference is that the GUI is integrated into the operating system with versions of Windows after 3.x. As you can see, conceptually they are the same. It's just that the software (both OS and applications) that is run on the system are different, and with Linux the GUI is run like an optional application (it's not forced on you by the OS). Be aware that the items listed in the "Application" layer are OS-specific. That is, you can't run Windows applications on a Linux system and you can't run Linux applications on a Windows system. Some larger "name brand" applications are available in different, platform-specific versions. For example, the Netscape browser has versions available for Windows, Linux, and Macintosh. The real differences between Linux and Windows can be seen in the server area. While Windows 2000 Server would crawl on a Pentium-II with 64 meg of RAM, this same hardware would make a great Linux server. The biggest difference, however, is in the software and licensing costs. While the Windows server software does include the IIS Web server software, the server software will cost you $1,000. And that's only for anonymous access to the Web pages hosted on the server. If you plan to have any Web pages that people log in to, you'll need to get an "Internet Connector License" for an additional $2,000. The Exchange e-mail server software only costs $680 but it'll be a mail server no one can access. For that you need CALs (Client Access Licenses). You not only need Exchange CALs (around $80 per user) so people can use the Exchange application, but because the Exchange application is hosted on a Windows server you'll need Windows Server CALs (which are around another $30 per user) so they can access the application. Here is how the costs compare for 100 users with a combination Web/Mail server:

And this doesn't even get into the annual costs associated with Microsoft's "Software Assurance" program. These costs are just to get things set up initially. The above prices were taken from the CDW Web site (www.cdw.com) for the Windows 2000 and Exchange 2000 products. If your organization has close to 500 users the additional Exchange and Server CALs raise the cost to $58,680. You can verify the need for the above connector and CALs by calling Microsoft at 1-800-RU-LEGIT and select the options for pre-sales

licensing. And that's just for a Web/E-mail server. Setting up database server using SQL Server also involves application CALs so the cost difference between Linux and Windows for a mid-sized organization would be well into six figures for two servers. If you're planning on hiring a consulting firm for a new system implementation, ask them if they offer Linux and UNIX solutions. If they don't, you're only going to get Microsoft products suggested to you, which may be better for the cons ulting firm because they get a piece of the action, but you'll get anything but the most cost-effective solution for your needs. If only Microsoft solutions are proposed ask them why, given the potential cost savings for you - their client - they didn't offer any Linux or UNIX solutions, particularly in the Internet server area. Be suspicious if they infer that Linux isn't mature or stable. Linux servers are sold by the likes of IBM, HP, Dell and others who sell to Fortune 500 customers. While there may very well be areas where a Windows solution is appropriate, such as application requirements or the necessity to interface with a legacy Windows system, any firm that bases their proposals on a "one platform fits all" attitude doesn't have your best interests at heart. Web and E-mail servers are perhaps the easiest place to save big money by going with Linux. While many desktops have the Microsoft Office Suite installed, Outlook and Outlook Express don't care if they're pulling messages from an IMAP server as with Exchange on Windows or a POP server as with Sendmail on Linux. And the release of Samba 3.0 can be used to add a Linux e-mail server to W2K's Active Directory to handle user authentication. As far as Web servers go, IE doesn't care if it's pulling pages off of a Linux Apache or Windows IIS server and Chilisoft will allow you to run ASP pages on Apache. An area where organizations could save substantial dollars using Linux is with database servers because database (Oracle and MS SQL Server) user or seat licenses are typically the most expensive. In most instances, an ODBC connector sits between the database server and the applications running on the client workstations. The beauty of replacing a database server with one running Linux and a free database product is that you simply use a different ODBC connector (the myODBC connector in the case of MySQL) on the clients. If a database server is acting as a back-end to a front-end browser-based application, simply change the ODBC connector on the Web server. No client changes are needed at all. With SAP AG releasing their back-end database product as open source (MaxDB) and MySQL gaining enterprise-level features with each new release, there's simply no reason to bear the cost of an Oracle or SQL Server back end server. We'll show you how to set up a MySQL database server and ODBC connector on the Database Server page. In addition, both MaxDB and MySQL have commercial support options available. (Links to the MaxDB and MySQL sites, as well as several good reference sites, are given on the Resources page.) The advantage MySQL has at this point is that it's included with the official Debian distributions as a .deb package so the installation is more convenient. As more and more businesses realize the potential cost savings of using the open source database products, those with experience with them will have an advantage. We've seen comparisons between Linux and DOS and Linux and Windows, but Linux is very similar to UNIX. If your goal is to be a UNIX administrator, learning Linux will get you 90% of the way there. That's not an exaggeration. I took a UNIX class at our local community college (which used an IBM server running AIX - IBM's flavor of UNIX) and I didn't encounter anything in my assignments that I couldn't do on my Linux system. Linux even comes with a Korn shell, which was the shell we used in my UNIX class because of its enhanced scripting features. I simply set my Linux system to run the Korn shell by default and this allowed me to have the same "user interface" at home that I had on the UNIX system at school. When playing around with the x86 (PC-based) version of Solaris (Sun Microsystem's flavor of purchased a book called "A Practical Guide To Solaris". 70% of the book covers commands that entered at a shell prompt on a Linux system! (If you're interested in using the x86 version of Solaris that UNIX operating system, see our Trying Sun Solaris for x86 UNIX) I can be to learn page.)

If you're a nerd at heart, believe me when I say you will LOVE Linux. It has so many features that it boggles the mind. It's an OS that you could play around with for five years and you'd still find new capabilities and functionality. To say it's like DOS on steroids would be an understatement. It's strong suit is the ability to automate operations due to its myriad of functions and strong scripting capabilities. Sign up for a beginner's Linux or UNIX class at your local community college and you'll see what I'm talking about. Even in a basic class you'll learn about a lot of the neat things it can do. The one down-side to Linux/UNIX is that it's not a user-friendly OS so there is a learning curve involved. Using one of Linux's GUI interfaces is helpful in this respect but to really learn this OS you'll want to use one of the character-based shells. Don't be discouraged if you find Linux confusing. Due to its myriad of commands and capabilities that's not uncommon. I found taking a UNIX basics class at my local community college to be VERY helpful. However, I also found it very helpful to do a little playing around and reading up on Linux before starting the UNIX class as it allowed me to better understand and appreciate what was being taught. If you've done any Perl programming for CGI

scripts on a Website you will find that knowledge helpful also. Not only because you can use Perl to write shell scripts, but because the syntaxes of Perl statements are similar to Linux/UNIX OS commands. Avoid the GUI !!! In order to truly learn Linux you have to learn to use its commands at a shell prompt and work with text configuration files. Many things are not available in a GUI, and the power of automation that Linux offers can only be fully utilized with shell scripts which, as mentioned above, are merely text files containing a series of commands. The GUI makes sense for things like Web browsing, but even in a GUI you should have a terminal window open so you can enter shell commands. Another reason to avoid GUIs is that they eat up system resources. Running a GUI can use up to 32 meg of memory. If you're running multiple server applications on a system with limited RAM, firing up a GUI can slow these applications considerably. There are also security considerations when running a GUI. A GUI should never be installed on a server. The X-server part of a GUI setup is, after all, a server. As such, it opens ports and uses them to "listen" for remote connections. Unnecessary open ports on an Internet-connected system provide another potential entry point for hackers. Because of this, all of the guides on this site only use the character (command line) interface. Most ISPs and Web site hosting services use Linux or UNIX servers. One benefit of learning to use Linux/UNIX commands is that, if your ISP or Web site hosting service includes "shell access" with your account, you'll be able to telnet into your server and use commands at the shell prompt to perform tasks that simply can't be done using an ftp program or a Web interface. Another key benefit is that if you know how to enter commands at the shell prompt, you'll know what commands to enter into shell scripts to automate tasks. The automation capabilities of shell scripts, when combined with a memory-resident scheduler like cron to run those scripts at regular intervals, will allow you to set up systems that do most of the work for you. On the Packages page we'll show you how to use cron and a shell script to automate the process of retreiving and applying the latest security patches for your system which will help protect Internet-connected servers from new worms and exploits. Stuck In A Windows World ? A lot of times the hardest thing about learning to use Linux is getting to use Linux on a daily basis. Many organizations are entrenched in Windows or Novell platforms and opportunities to work with Linux simply don't exist. If you're a network or systems administrator in one of these entrenched environments, one possible solution is to suggest setting up Linux on one or two older PCs to be used in two capacities: • • As a network monitoring and troubleshooting tool As a security monitoring and testing tool (especially if you have Internet-connected systems)

The reason being is that there are a ton of free network monitoring tools ( ntop network traffic probe for example) and security utilities (the nmap port scanner for one) available for Linux, and bosses find it hard to argue with the word "free". On a LAN-connected system, running the Ethereal protocol analyzer can provide you with much of the same information as commerical sniffers costing thousand$ of dollar$ (take it from someone who has used both Ethereal on Linux and Fluke's Protocol Expert on Windows running on the same dual-boot notebook). In addition to using utilities to run security checks against your Internet connected servers, a Linux system located in your DMZ could also run a free IDS (Intrusion Detection System) application like Snort full time. (We show you how to set up and test Snort on the Security page.) Most of the free utilities are available as Debian packages so installation is a snap and any that aren't can be compiled from the available source code. Two good books that detail available free utilities, as well as how to use them, for network monitoring and security testing respectively are: