CARL HANSER VERLAG Jörg Holzmann, Jürgen Plate Linux-Server für Intranet und Internet Den Server einrichten und administrieren 3-446-21936-6 www.hanser.de
Vorwort Normalerweise ergreifen an dieser Stelle die Autoren das Wort, um sich darüber zu beklagen, wieviel Arbeit das Buch gemacht hat und wie sehr Frau/Freundin/Kinder/Hund unter dem durch das Bücherschreiben erlittenen Mangel an Zuwendung zu leiden hatten. Des weiteren bedankt man sich artig bei denjenigen, deren Ideen man geklaut hat, und jenen, die das Manuskript in verschiedenen Fassungen lesen mußten. Schließlich wird auch der Verlag nicht vergessen, mit dem die Zusammenarbeit in über 90 Prozent aller von uns recherchierten Fälle fruchtbar ist (klar, sonst hätte man sich einen anderen Verlag gesucht). Wenn die Danksagung zu kurz ist und einem nichts weiter einfällt, gibt es eine Inhaltsübersicht. Schon ist das lästige Vorwort erledigt. Wir wollen von diesem Schema abweichen und ein paar Worte über eines der phantastischsten und innovativsten Projekte des vergangenen und aktuellen Jahrhunderts verlieren. Wer tiefer in die Hintergründe von Linux und freier Software eintauchen möchte, dem empfehlen wir das Buch The Cathedral & the Bazaar von Eric S. Raymond, erschienen bei O Reilly. Wir verwenden Linux als Basis unserer Server weil es einerseits freie Software ist (und daher auch für jeden erschwinglich) und weil andererseits ein großer Teil der im Internet eingesetzten Server auf Linux laufen. Deshalb ist dieses Buch auch stark Linux-lastig. Alle verwendeten Programme sind aber für nahezu jede UNIX-Plattform einsetzbar und werden auch dort sehr häufig eingesetzt. Die Unterschiede bei Installation und Konfiguration sind zwar hie und da vorhanden, jedoch so marginal, daß ein Systemadministrator keine Probleme haben sollte, unsere Beschreibung zu adaptieren. Oft sind nur die Pfade unterschiedlich. Deshalb verzichten wir im Buch auf die Nutzung Distributions-spezifischer Tools und beschreiben dafür die Installation. Somit sind die Anwender der unterschiedlichen UNIX-Varianten keineswegs ausgeschlossen und können gleichermaßen Nutzen aus diesem Buch ziehen. Wir haben uns auch verkniffen, eine CD mit Linux-Distribution und Programmen beizulegen, denn die Daten sind spätestens drei Monate nach Erscheinen des Buchs veraltet und die Dateien aus dem Buch können Sie jederzeit von den jeweiligen Webseiten der Programmautoren in aktueller Version laden (Quellenangaben im jeweiligen Kapitel). Die Buchautoren erreichen Sie unter http://www.netzmafia.de/. Dort finden Sie auch Ergänzendes und Aktuelles zum Buch sowie eine etwas ausführlichere Anleitung zur Programmiersprache Perl. Die im Buch abgedruckten Perl-Skripten sind ebenfalls dort abgelegt http://www.netzmafia.de/skripten/perl/.
12 Vorwort Lange Zeit galt das Betriebssystem Linux als Spielzeug für Freaks und das war es sicher am Anfang (Als wir bei Linux eingestiegen sind, passte eine Distribution noch auf ca. 30 Disketten und man mußte fast alle Konfigurationsdateien von Hand erstellen). Doch inzwischen setzt sich die freie Software in immer mehr Unternehmen durch und wird auf manchen Gebieten zur Konkurrenz für andere Systeme. In diesem Buch wollen wir Ihnen zeigen, wie man Linux sinnvoll als Intranet- und Internet-Server einsetzt. Linux ist ein Betriebssystem, das auf Intel-PCs, aber auch auf anderen Rechner- Plattformen (Apple, SUN, IBM 390, usw.) eingesetzt werden kann. Von seiner Konzeption her ist es ein Abkömmling von UNIX, einem Multiuser- und Multitasking-Betriebssystem, das lange vor DOS und Windows entwickelt wurde. Der offizielle Geburtstag von UNIX ist der 1.1.1970. Bei Linux, dessen Geburtstag im Jahr 1991 liegt, handelt es sich um eine Weiterentwicklung von UNIX, die mittlerweile all die Funktionalität besitzt, die man von modernen Betriebssystemen erwartet: Echtes (präemptives) Multitasking, virtuelle Speicherverwaltung, dynamisch nachladbare Bibliotheken mit Versionskontrolle und andere moderne Konzepte machen das am POSIX-Standard orientierte Betriebssystem zur optimalen Lösung für viele Einsatzgebiete. Als der finnische Informatikstudent Linus Torvalds 1991 seine ersten Schritte unternahm, eine eigene Version des Betriebssystems Unix zu entwickeln, nahm in der Fachwelt kaum jemand Notiz davon. Leistungsfähige Unix-Abkömmlinge gab es schon zuhauf, denn viele IT-Konzerne hatten längst eigene Versionen programmiert, um Netzwerke oder Großrechner zum Laufen zu bringen. Dieses anfängliche Desinteresse ist ins Gegenteil umgeschlagen. Schon bald erkannten breite Anwenderkreise das wahre Leistungsvermögen von Linux, dessen Urversion inzwischen von zahllosen Fachleuten fortentwickelt wurde. Rund 1,5 Millionen Codezeilen umfaßt die aktuelle Version, rund 10 000 Programmierer sind derzeit am Werk, um sie weiter zu verbessern. Auf der Cebit 1999 war das Betriebssystern mit dem Pinguin Tux im Logo Gesprächsthema Nummer eins. Kein Wunder, denn Lizenzgebühren sind bei Linux ein Fremdwort: Die Grundversion läßt sich als Freie Software kostenlos aus dem Internet herunterladen. Die Benutzergruppe reicht von privaten Anwendern über Schulungsfirmen, Universitäten, Forschungszentren bis hin zu kommerziellen Anwendern und Firmen, die in Linux eine echte Alternative zu anderen Betriebssystemen sehen. Derzeit erfährt Linux seine größten Zuwachsraten im gesamten Internet-Server-Bereich, in dem es inzwischen aufgrund seiner hohen Netzwerkperformance und großen Sicherheit eine Spitzenposition eingenommen hat. Linux wurde von Anfang an unter die GPL, die General Public License, gestellt. Diese Pseudo-Lizenz garantiert jedem den kostenlosen Zugang zum Quellcode des Linux-Betriebssystems. Linux kann frei und kostenlos verteilt, eingesetzt und erweitert werden. Einzige Bedingung: Jeder Entwickler muß den Quellcode offenlegen. Alle Entwickler haben so Einblick in sämtliche Quellcodes und können dadurch sehr einfach neue Funktionen integrieren bzw. Programmierfehler schnell finden und eliminieren. Um ein häufiges Mißverständnis gleich auszuräumen: Jeder Entwickler muß den Quellcode offenlegen, aber nicht automatisch mit dem lauffähigen Binärprogramm verteilen. Es genügt beispielsweie, in der Dokumen-
Vorwort 13 tation auf einen FTP-Server hinzuweisen, von dem die Qelle bezogen werden kann. Auch bedeutet frei nicht automatisch kostenlos. Ein Entwickler darf mit seiner Software Geld verdienen, soviel er will. Daß trotzdem der überwiegende Anteil der Linux-Software kostenlos ist, spricht für das Engagement und den Gemeinsinn der Entwickler. Das Betriebssystem wird mittlerweile von mehr als 10 Millionen Anwendern genutzt. Und die Linux-Welle scheint nicht abzuebben: Nach Erhebungen des US-Marktforschungsunternehmens International Data Corporation (http://www.idc.com) erreichte das Betriebssystern 1997 bei Servern einen weltweiten Marktanteil von knapp sieben Prozent. Im Jahr darauf waren es bereits gut zehn Prozent mehr. Zum Vergleich: Microsoft hielt mit Windows NT einen Marktanteil von 36 Prozent, Novell kam mit Netware auf 24 Prozent. Laut IDC waren Anfang 2000 mindestens 7,5 Millionen Linux-Lösungen installiert. Großunternehmen wie Siemens oder Compaq liefern Rechnersysteme mit Linux aus. Bei Linux kommen Bug-Fixes innerhalb weniger Tage, manchmal sogar innerhalb von Stunden. Und wer genügend Erfahrung hat, nimmt sich die Quelle vor und beseitigt den Fehler selbst. Das alles macht Linux zu einem idealen Server-Betriebssystem, das zudem sehr schonend mit den Rechner-Ressourcen umgeht. Für einen kleinen WWW-Server im Intranet reicht normalerweise ein alter Pentium mit 90 MHz Taktfrequenz und 64 MByte Speicher aus. In diesem Buch haben wir die Erfahrungen niedergeschrieben, die wir beim Betrieb verschiedener Linux-Server an der Fachhochschule München sammeln konnten. Deshalb steht die Praxisorientierung auch an erster Stelle. Wir beschreiben detailliert, wie ein Linux-System zum vollwertigen und stabilen Server für alle benötigten Intranet- und Internetdienste in der Firma, im Verein oder in der Hochschule/Schule wird. Exemplarisch wird gezeigt, wie man die benötigten Dienste installiert, konfiguriert und testet und mit welchen Tools die Serverprogramme zu administrieren sind. Nebenbei erfährt der Leser auch, welche Sicherheitsrisiken drohen und wie man diesen bestmöglich entgegentritt. Die Grundlagen von Linux und Internet-Protokollen werden nur kurz abgehandelt. Es wird vorausgesetzt, daß der Leser Linux auf seinem Rechner installieren kann und mit den wichtigsten Grundlagen von UNIX vertraut ist zumal viele Linux-Distributionen mit ausführlichem Handbuch geliefert werden. Für Hintergrundinformationen über Netze, UNIX und HTML und natürlich auch für Dateien und weiterführende Infos zum Buch ist der Server der Autoren im Internet zugänglich. Welche Linux-Distribution Sie wählen, ist relativ egal. Die Distributionen unterscheiden sich teilweise in den angebotenen Paketen und teilweise in der Verzeichnis-Struktur. Einem mit Linux vertrauten Fachmann sollte es nicht schwer fallen, die Beispiele und Skripten des Buches entsprechend anzupassen. Wir haben SuSE-Linux 7.3 verwendet und beziehen uns daher manchmal darauf, ohne daß die Allgemeingütigkeit des Buches darunter leidet. Die Distribution von SuSE wurde aus mehreren Gründen gewählt, unter anderem weil sie in Deutschland weit verbreitet ist, weil SuSE auf seinen Webseiten eine sehr aktuelle Support-Datenbank unterhält und weil die Administrationstools wie YaST und SuSEConfig recht komfortable Möglichkeiten bieten (auch wenn sie schon manchmal an Windows erinnern und es oft schneller geht, ein paar Zeilen in einer
14 Vorwort Konfigurationsdatei zu ändern). Manchmal hat uns die Distribution auch eine kleine Falle gestellt. Viele Konfigurationsdaten werden beim System-Neustart restauriert und damit die mühsam erstellte Wunschkonfiguration wieder zerschossen. Beachten Sie also, daß bei SuSE-Distributionen nicht nur die Datei /etc/rc.config berücksichtigt werden muß, sondern auch noch alle Dateien im Verzeichnis /etc/rc.config.d. Das betrifft insbesondere den Webserver Apache und das Programm Sendmail. Trotzdem haben wir von den meisten der besprochenen Programmen die aktuelle Version direkt vom Erzeuger geholt. Schließlich mußten wir ja auch die Installation der Programme von Hand testen. In der zweiten Auflage wurden nicht nur Tippfehler berichtigt, sondern fast alle Kapitel an die neueste Softwareversion angepaßt. Das Kapitel über Webserver- Statistik wurde beträchtlich erweitert und ein neues Kapitel über Hypermail, ein Mail-to-Web-Gateway, neu aufgenommen. Übrigens mußten wir auch für die Produktion des Buches unsere gewohnte Umgebung nicht verlassen, denn es wurde mit dem Editor vi geschrieben und mit L A TEX gesetzt. Die Bilder sind mit gimp, xfig und xv erstellt worden. Geholfen hat uns dabei auch das Buch Textverarbeitung mit L A TEX2 von Wolfgang Mauerer aus dem Hanser Verlag. München, Februar 2002 Jörg Holzmann (holzmann@netzmafia.de) Jürgen Plate (plate@netzmafia.de)