Inhalt - I -
Inhalt
Vorwort 1
Einleitung 2
1. Konzepte für Internet-Dienste 4
1.1 Die Entstehung des Internet 4
1.2 Was ist das Internet? 7
1.3 Arten des Internetzugangs 8
1.3.1 Permanente Internet-Protokoll-Verbindung 10
1.3.2 Wählverbindung zu einem Computer im Internet 11
1.3.3 Internet-Protokolle über Wählverbindung 12
1.4 Gründe für die Fachhochschule Ludwigshafen, einen WWW-Server
einzurichten 13
1.5 Protokolle 15
1.5.1 Protokoll-Hierarchie 16
1.5.1.1 Die Ebene Lokales Netzwerk 18
1.5.1.2 Die Ebene Internet 19
1.5.1.2.1 Internet Protocol (IP) 19
1.5.1.2.2 Address Resolution Protocol (ARP) 21
1.5.1.2.3 Internet Control Message Protocol (ICMP) 21
1.5.1.3 Die Ebene Host-to-Host 22
1.5.1.3.1 User Datagram Protocol (UDP) 22
1.5.1.3.2 Transmission Control Protocol (TCP) 23
1.5.1.4 Die Ebene Anwendung 24
1.5.2 Der Superserver inetd 25
1.5.3 Eigenständige Server 26
1.5.4 Namenskonventionen 27
1.6 Ein kurzer Einschub zum Thema: Client / Server 29
2. Einführung in die Internet-Dienste 33
2.1 E-Mail-Dienste 33
2.2 FTP 35
2.3 Telnet und Finger 37
2.4 Gopher 39
2.5 WAIS 40
2.6 Das World Wide Web 41
2.7 Einsatzmöglichkeiten von Internet-Diensten 43
2.7.1 Interne Dienste 43
2.7.2 Externe Dienste 44
2.7.3 Welche Dienste sind für die Fachhochschule Ludwigshafen
interessant? 45
3. Anforderungen an System und Netz 52
3.1 Auswahl des Betriebssystems für einen Internetserver 52
3.1.1 Entscheidung für Linux als Betriebssystem 54
3.2 Auswahl der Hardware für einen Internetserver 56
3.3 Art der Netzverbindung 61
3.3.1 Netzbelastung 62
Inhalt - II -
3.4 Personelle Anforderungen 64
4. Installation eines Linux-Servers 66
4.1 Einrichten eines Base-Linux-Systems mit Slakware 67
4.1.1 Vorkehrungen vor der Installation 67
4.1.2 Erstellen der Boot- und Root-Disketten 68
4.1.3 Erstes Booten von Linux 69
4.1.4 Partitionierung der Festplatte 69
4.1.5 Installation des Dateisystems 71
4.1.5.1 Installation von LILO 71
4.1.5.2 Netzanbindung 74
4.1.5.3 Anpassung (Neukompilierung) des Linux-Kernels bei Hinzufügen
neuer Hardwarekomponenten 75
4.1.5.4 Sicherung des Linux-Servers 78
4.1.5.5 Zurücklesen eines Backupsatzes 79
4.1.5.6 Der Terminkalender crontab 80
5. Installation eines WWW-Server 83
5.1 Das HyperText-Transfer-Protokoll (HTTP) 83
5.1.1 Der Request-Block 84
5.2 Auswahl der Serversoftware 87
5.3 Installation des Apache/1.1b4 WWW-Servers 89
5.3.1 Httpd.conf: Wichtige Servereinstellungen 92
5.3.2 srm.conf: Darstellung der Daten 94
5.3.3 access.conf: Zugriffsbeschränkungen vornehmen 97
5.4 Starten und Testen des Apache-Servers 101
6. Betrieb eines WWW-Server 103
6.1 Bekanntmachen des WWW-Servers 103
6.2 CGI-Skripte (Common-Gateway-Interface) 104
6.2.1 Webglimpse - eine lokale Suchmaschine für WWW-Server 105
6.2.2 Auswertung der Server-Log-Dateien mit Wusage 4.0 108
Schlu ßwort 111
Literaturverzeichnis 112
Stichwortverzeichnis 113
Anhang 115
1. Die Konfigurationsdatei inetd.conf 115
2. Die Datei /etc/services 117
3. Konfigurationsdateien zur Netzanbindung 122
4. Die Datei lilo.conf 123
5. Konfigurationsdatei zur Modifikation des Systemkerns 245
6. Crontab 248
7. Wichtige Dateien zur Konfiguration des Apache-Servers 250
7.1 Informationen zur Installation des Servers 250
7.2 Die Datei Configuration 252
7.3 httpd.conf 258
7.4 srm conf 262
Inhalt - III -
7.5 access.conf 268
7.6 rc.local 271
8. Ein Beispiel für ein CGI-Skript 272
Ehrenw örtliche Erklärung 161
Vorwort - 1 -
Vorwort
Darf es in einer Zeit, in der selbst Kinder in der Grundschule schon etwas mit den Begriffen „Internet“ und „World Wide Web“ anzufangen wissen und in der man als „snobistischer Technikverweigerer“ gilt, wenn man auf seiner Visitenkarte oder Briefkopf neben den üblichen Adressdaten nicht auch mit einem Verweis auf seine private Homepage beziehungsweise wenigstens einer „simplen“ E-Mail Adresse aufwarten kann, eine Hochschule geben, die noch keinen Internetanschluß, geschweige denn einen World-Wide-Web-Server besitzt?
Nun, diese etwas überspitzt formulierte, durchaus nicht ganz ernst gemeinte Frage beantwortet sich von selbst.
Wie bei jedem Witz, so steckt auch in der obigen Frage tatsächlich ein Quentchen Wahrheit, denn betrachtet man die enormen Zuwachsraten, die das Internet in den letzten Jahren erfahren hat, so sollte auch eine Bildungsstätte wie die Fachhochschule Ludwigshafen im Internet beziehungsweise im World Wide Web vertreten sein.
Als ich im Frühjahr 1996 mit der Einrichtung des WWW-Servers für die Fachhochschule begann, gab es auch in der näheren Umgebung schon etliche Hochschulen, die sich mit einem Web-Server im Internet präsentierten, so zum Beispiel die Fachhochschule Worms, die Fachhochschule für Technik in Mannheim, wie auch die Uni Mannheim. Insofern war der Zeitpunkt für die FH-Ludwigshafen gerade noch rechtzeitig, um in dieser Hinsicht nicht den Anschluß zu verpassen, denn auch unter Hochschulen soll es so etwas wie Konkurrenzkampf geben.
Unter diesen Gesichtspunkten war es mir auch persönlich ein Anliegen, für die Fachhochschule möglichst schnell einen World-Wide-Web-Server
aufzubauen. Daß das Vorhaben auch unter diesem Zeitdruck relativ schnell realisiert werden konnte, - die Fachhochschule war bereits drei Wochen nach Beginn der Einrichtungsphase am 17. März 1996 mit einer eigenen Homepage im Internet vertreten -, verdanke ich nicht zuletzt meinen Professoren und den
Einleitung - 2 -
Mitarbeitern des Rechenzentrums der FH-Ludwigshafen. Sicherlich hätte vielleicht manch anderer den Server in einer noch kürzeren Zeit aufbauen können, jedoch muß ich hierzu erwähnen, daß ich bei einigen Themengebieten kaum Vorwissen hatte. So mußte der WWW-Server, - warum wird in einem späteren Kapitel erklärt -, auf einem eigenständigen UNIX-Server installiert werden. Bis dahin waren meine Kenntnisse in bezug auf UNIX sehr gering, und es war schon eine Herausforderung, einen kompletten Server mit diesem Betriebssystem zu installieren.
Daher gilt mein besonderer Dank Herrn Professor Dr. Martin Müller, der sich bereit erklärte, diese Diplomarbeit zu betreuen und dem technischen Leiter des Rechenzentrums, Herrn Professor Dr. Manfred Döringer, der es mir ermöglichte, die technischen Einrichtungen des Rechenzentrums für meine Arbeit zu nutzen. Danken möchte ich auch Herrn Jürgen Grieß, dem damaligen Assistenten des Rechenzentrums, der mir mit Rat und Tat zur Seite stand, insbesondere bei Fragen zu UNIX und Netzwerktechnologie. Nicht vergessen möchte ich hier meinen Vater, bei dem ich mich auch recht herzlich bedanken möchte, da er geduldig die TELEKOM-Rechnungen bezahlte, die seit der Einrichtung des WWW-Servers auch in unserem Hause sprunghaft angestiegen sind.
Einleitung
Das grundlegende Ziel dieser Diplomarbeit war es, wie aus dem Titel unschwer zu erkennen ist, für die Fachhochschule Ludwigshafen einen World-Wide-Web-Server einzurichten. Die erfolgreiche Umsetzung dieser Aufgabe kann heute jeder Zeit überprüft werden, indem man einen Web-Browser wie zum Beispiel Netscape, - sofern man über einen Internetanschluß verfügt -, auf folgende Adresse im Internet richtet: http://www.fh-ludwigshafen.de.
Somit ist der praktische Teil dieser Diplomarbeit erfüllt. Es wäre nun allerdings zu einfach, wenn in der vorliegenden theoretischen Abhandlung lediglich die technischen Einzelheiten schrittweise aufgezählt würden, die zur praktischen Umsetzung des Projektes notwendig sind. Vielmehr soll ein in dieser Materie nicht allzu kundiger Leser durch diese schriftliche Ausarbeitung zumindest
Einleitung - 3 -
einen groben Überblick über die Zusammenhänge und Funktionsweisen des Internet erhalten. Da gerade auch der Verfasser dieser Diplomarbeit, wie bereits im Vorwort erwähnt, mit diesen Problemen zu kämpfen hatte und sich vieles an Fachwissen selbst aneignen mußte, mögen einem Experten in Sachen Internet manche Ausführungen eventuell zu detailliert erscheinen. Dieser Leserkreis kann die Kapitel 1 bis einschließlich 2 überspringen, da hier die theoretischen Grundlagen des Internet behandelt werden. Praktisch interessierte und mit den Bereichen Hardware und Netzwerktechnologie vertraute Leser müssen auch Kapitel 0 nicht unbedingt gelesen haben, um ab Kapitel 0 in medias res zu gehen und mit der Installation eines Servers zu beginnen.
Für den mit dem Stoff weniger vertrauten Leser sei hier noch angemerkt, daß der Rahmen dieser schriftlichen Ausarbeitung gesprengt würde, wenn alle Details bis ins kleinste aufbereitet würden. Bestimmte Sachverhalte werden somit vom Verfasser vorausgesetzt und können vom interessierten Leser in der einschlägigen Fachliteratur vertiefend nachgelesen werden. Somit sei hier beispielhaft für viele ein ausgezeichnetes Buch erwähnt, „Internet-Server einrichten und verwalten“ von Cricket Liu, Jerry Peek, Russ Jones, Bryan Buus & Adrian Nye, erschienen 1995 beim O´Reilly/International Thomson Verlag. Der Aufbau dieser Diplomarbeit ist, bis auf einige Ausnahmen, auch stark am Aufbau dieses Buches orientiert. Teilweise wurden auch die gleichen Kapitelüberschriften verwendet, sodaß ein leichtes Auffinden der behandelten Themengebiete möglich ist. Folglich sind in diesen Kapiteln auch inhaltliche Parallelen zu finden, wobei bestimmte Sachverhalte verkürzt dargestellt sind, während andere zum besseren Verständnis mit zusätzlichen Informationen erweitert worden sind. Hinsichtlich der Zitierweise wurde in dieser Abhandlung daher so verfahren, daß Kapitel, die vom Inhalt her dem oben genannten Buch entsprechen, durch eine Fußnote hinter der Überschrift gekennzeichnet sind.
Aus Platzgründen wird auch nicht auf die Auszeichnungssprache HTML eingegangen. Außerdem war es nicht Ziel dieser Diplomarbeit HTML-Dokumente zu erstellen, sondern einen WWW-Server einzurichten (siehe oben). Diesbezüglich sei hier auf die weiterführende Literatur verwiesen.
0. Konzepte für Internet-Dienste - 4 -
1 Konzepte für Internet-Dienste
Im ersten Kapitel dieser Diplomarbeit sollen dem Leser nach einem kurzen geschichtlichen Überblick über die Entwicklung auch die wesentlichen Grundlagen des Internet näher gebracht werden. Die Ausführungen sind recht allgemein gehalten, sodaß die gewonnenen Erkenntnisse, losgelöst vom speziellen Anwendungsfall der Fachhochschule Ludwigshafen, auch auf andere Organisationsformen übertragen werden können.
2 Die Entstehung des Internet
Als 1969 aufgrund der Initiative des US Verteidigungsministerium durch den Einsatz von erheblichen personellen und finanziellen Mitteln die Entwicklung im Bereich der Computervernetzung forciert wurde, hat damals wohl niemand geahnt, daß sich daraus das größte Computernetz der Welt entwickeln würde.
Daß an diesem Projekt ausgerechnet das Militär, - wie dies häufig in der Geschichte bei der Entwicklung neuer Technologien der Fall war -, so großes Interesse hatte, war kein Zufall. Schon lange war man in diesen Kreisen an einem Kommunikationsmittel interessiert, mit dem auch unter ungünstigen Bedingungen der Transport von Daten sicher gewährleistet werden konnte. Somit wurde 1972 mit dem DARPANET (Defense Advanced Research Projects Agency-NET) an einem System gearbeitet, das selbst beim Ausfall von Teilen des Netzes noch funktionsfähig bleiben sollte. Folglich kann man sagen, daß wir das Internet eigentlich dem kalten Krieg in den siebziger Jahren zu verdanken haben.
Die Rechner der ersten Stunde, die damals miteinander vernetzt wurden waren, große, teure Maschinen mit 12 KB Arbeitsspeicher.
Neben den militärischen Verwendungszwecken eröffnete die Vernetzung von Computern im Laufe der Zeit in wissenschaftlichen und immer mehr in kommerziellen Bereichen völlig neue Anwendungsmöglichkeiten.
1 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 1 ff
2 vgl. Hajer, Kolbeck 1994, S. 15
0. Konzepte für Internet-Dienste - 5 -
Um bestimmte wissenschaftliche Probleme mit Hilfe von Computern lösen zu können, sind oft Rechner mit enormer Rechenleistung und speziellen Programmen notwendig. Häufig sind diese Ausstattungen so teuer, daß sie nicht für jede wissenschaftliche Einrichtung angeschafft werden können. Oft hat ein ganzes Land lediglich einen dieser begehrten Großrechner. Durch eine Vernetzung ist es nun möglich, daß ein Wissenschaftler jeder Zeit auf die Ressourcen eines solchen Großcomputers zurückgreifen kann.
Durch die Vernetzung von Computern ist es also allgemein möglich, alle in einem Netzwerk angeschlossenen Ressourcen zu nutzen (resource sharing). Somit können Netzteilnehmer unterschiedliche Hardware, Programme, Daten und sonstige Peripherie gemeinsam und unabhängig vom jeweiligen Standort nutzen.
Durch die Einrichtung des NSFNET (National Science Foundation Network) in den achtziger Jahren wurde es Universitäten und Forschungsgruppen möglich, Verbindungen zu den modernsten Großrechnern und auch untereinander aufzunehmen.
Während etliche der oben erwähnten „frühen“ Netzwerke ihren Dienst wieder einstellten, schlossen sich die verbleibenden um das Jahr 1990 mit dem NSFNET zusammen. Zu diesen kamen innerhalb kurzer Zeit weitere Netzwerkdienste hinzu, wodurch ein schnell wachsendes Netz
unterschiedlichster Netzwerke entstand.
Der Grundstein für das weltgrößte Rechnernetz, das Internet, war somit gelegt.
Da eine kommerzielle Nutzung des NSFNET aufgrund seiner Nutzungsbestimmungen nicht zulässig war, wurde das CIX-Netz (Commercial Internet Exchange) aufgebaut. Somit wurde das zunächst für regierungseigene Institutionen wie für das Militär und wenige ausgewählte Forschungsgruppen und Universitäten vorbehaltene Internet für jeden zugänglich. Seit Anfang 1993 erlebte das Internet einen regelrechten Boom, und die Anzahl der Server und
0. Konzepte für Internet-Dienste - 6 -
angeschlossenen Netzwerke verdoppelte sich innerhalb eines Jahres (siehe
3
Abbildung 1 bis Abbildung 3)
Entwicklung Hosts von 1969-1994
2500 2217
2056
2000
Ab '85 Werte mal 100
1500
1136
1000
313
500
159
19,61
4 11,1
0
1969 1977 1985 1989 1990 1992 1993 1994 1969 1977 1985 1989 1990 1992 1993 1994
Abbildung 1: Entwicklung der Hosts im Internet
Entwicklung Domains 1992-
Enwicklung Netzwerke 1989-1994
1994
30000
25000
20539
25000
20000 16533
20000
15000
15000
Anzahl
9300 Domains
7505
10000 10000 Netzwerke
5500
5000
5000
0
0
1992 1993 1994 1992 1993 1994
1989 1992 1994 1989 1992 1994
Abbildung 2: Wachstum der Netzwerke
Abbildung 3: Wachstum der Domains
3 Die Daten für die Grafiken stammen aus dem Buch „Internet: Der Schnelle Start ins weltgrösste
Rechnernetz “ von Hans Hajer und Rainer Kolbeck, erschienen 1994 beim Markt und Technik, Buch- und
Software -Verl
0. Konzepte für Internet-Dienste - 7 -
4 Was ist das Internet?
Unter dem Internet versteht man ein elektronisches Mail- und Informationssystem, das verschiedene staatliche Institutionen (vor allem in den USA), militärische Bereiche, Universitäten und kommerzielle Unternehmen
5 miteinander verbindet .
Spricht man vom Internet, so entsteht leicht der Eindruck, daß es sich dabei um ein riesiges Gesamtnetz einzeln miteinander verbundener Computer handelt. Tatsächlich besteht das Internet aber aus Teilnetzen, die über Hochgeschwindigkeitstelefonleitungen zusammengeschlossen sind. Der Begriff Hochgeschwindikeitstelefonleitung könnte nun den Eindruck erwecken, daß es sich beim Internet um ein Hochgeschwindigkeitsnetz handelt. Der gerne verwendete Ausdruck des „Internet-Surfen“ sollte jedoch besser mit „Internet-Kriechen“ ersetzt werden. Mit ein Grund für diese schlechte Performance ist der rasante Zuwachs von Clients und Servern, die zu regelrechten Datenstaus in den Leitungen führen. Doch nicht nur die Zahl der Nutzer belastet das Netz, auch Programme sind für Engpässe und lange Wartezeiten verantwortlich. Besonders Multimedia-Anwendungen belasten die Bandbreite des Netzes. Während eine große Grafik einige hundert KByte Speicherplatz beansprucht, muß das Netz bei Audio- und Video-Übertragungen gleich mehrere MByte durch die Kabel schleusen.
Viele Probleme haben ihren Grund aber auch im Aufbau des Internet: Das riesige Netz setzt sich, wie oben bereits erwähnt, unter anderem aus vielen kleinen Netzwerken zusammen, die miteinander verbunden sind. Kleine Service-Anbieter speisen ihren Datenverkehr in die Netze größerer Service-Anbieter. Die wiederum liefern den akkumulierten Datenstrom an den nächstgrößeren und so weiter, bis nur wenige große Provider übrigbleiben. Die „großen“ Anbieter haben nun begonnen, ihre Infrastruktur zu verbreitern. Sie bauen die Kapazitäten ihrer Rechner aus und steigern die Zahl der Modems in den lokalen Zugangsknoten.
4 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 1 f
5 vgl. Haje, Kolbeck 1994, S. 13
0. Konzepte für Internet-Dienste - 8 -
Auch wenn sich das Internet in vielen Punkten wie ein homogenes Netz verhält, handelt es sich nicht um einen zentral organisierten und verwalteten Netzwerkdienst. Die angeschlossenen Rechner werden individuell von ihrem sogenannten Webmaster verwaltet und am Laufen gehalten. Die oben genannte Homogenität des Internet liegt darin, daß die miteinander verbundenen Rechner eine Gemeinsamkeit haben: Sie verstehen alle das Protokoll TCP/IP (Transmission Control Protokoll / Internet Protokoll). Auf die Eigenschaften und Aufgaben von Protokollen wird später genauer eingegangen. TCP/IP trägt jedenfalls dazu bei, daß die unterschiedlichsten Rechnerplattformen miteinander kommunizieren können. Das Spektrum der miteinander verbundenen Rechner geht von PCs über MACs bis schließlich zu UNIX-Maschinen. Dieser Eigenschaft hat das Internet letztlich seinen unglaublichen Erfolg zu verdanken.
Arten des Internetzugangs 6
Was bedeutet es nun eigentlich, wenn jemand davon spricht, im Internet zu sein? Im wesentlichen kann man drei Rollen definieren, die im Internet gespielt werden:
1. Die Informationsanbieter
Sie stellen auf ihren Rechnern, die an das Internet angeschlossen sind, Daten zur Verfügung. Diese Daten können aus Textinformationen, Grafiken, Sounddaten oder auch Programmen bestehen. Die Standorte der Informationsanbieter sind über die ganze Welt verbreitet. Neben bedeutenden naturwissenschaftlichen Museen findet man internationale Organisationen wie die NATO und die Weltbank, Hochschulen und Schulen und auch kleine Geschäfte, die ihre Produkte anbieten. In dieser Abhandlung wollen wir uns in erster Linie mit der Rolle des Informationsanbieters beschäftigen.
6 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 3 f
0. Konzepte für Internet-Dienste - 9 -
2. Die Benutzer oder auch Kunden
Eine weitere, nicht weniger wichtige Rolle spielen die Benutzer des Internet, denn was nützen die besten Informationen, wenn sie niemand abfragt. Die Anzahl der an das Internet angeschlossenen Kunden wurde im Mai 1996 auf ca. 34 Millionen geschätzt. Galt das Internet in seinen Anfangszeiten eher als Spielwiese für Computerspezialisten und Wissenschaftler, so finden wir heute neben Pädagogen, Autoren, Gesetzgebern und Anwälten eine immer stärker werdende Zahl von privaten Nutzern des Internet. Gerade letztere sind der Grund, warum so viele Unternehmen als Informationsanbieter ins Internet drängen. Es kann sich schließlich bei jedem neu angeschlossenen Internet-User um einen potentiellen Kunden handeln. Abbildung 4 soll einen kleinen Eindruck vermitteln, wie sich die Benutzerzahlen bis zum Jahr 1999 entwickeln werden.
Mittlerweile spricht man von „katastrophalen Zusammenbrüchen“, die im Internet aufträten. So sagte Bob Metcalfe, der Erfinder des Ethernet-Netzwerkstandards, den ersten Kollaps des Internet für das Jahr 1996 voraus. Angesichts der enormen Zuwachsraten, die das Internet erleben wird, sollte man diese Warnungen ernst nehmen. Nur wenn man in Zukunft daran denkt, das Internet zu verbessern, - sprich: die Informationen besser packen und die Übertragungen beschleunigen, - wird es in Zukunft so selbstverständlich benutzt wie heute Telefon und Fernsehen.
0. Konzepte für Internet-Dienste - 10 -
3. Die Verbindungsanbieter
Damit Informationsanbieter ihre Daten anbieten und Benutzer diese abfragen können, benötigen sie eine Netzverbindung zum Internet. Diese wird von den Verbindungsanbietern (connection provider) zur Verfügung gestellt. Auf ihre Rolle soll hier nicht näher eingegangen werden. T-Online, AOL, Compuserve, EUnet und MSN seien hier lediglich als eine Auswahl der bekanntesten genannt.
Nachfolgend sollen drei Verbindungsmöglichkeiten zum Internet aufgezeigt werden:
Permanente Internet-Protokoll-Verbindung
Will man im Internet als Informationsanbieter auftreten, ist es wichtig, daß die bereitgestellten Daten rund um die Uhr zur Abfrage bereitstehen. Um Kosten zu sparen wäre es natürlich auch möglich, den Dienst nur tagsüber anzubieten. Bedenkt man allerdings, daß sich das Internet über alle Erdteile erstreckt und es für potentielle Informationsnachfrager, also mögliche Kunden, immer irgendwo Tag ist, bleibt schließlich nur die Auswahl einer 24-Stunden Standleitung.
7 H. Witte: Der Internet-Kollaps. In: PC-Welt-Extra 5/96, S. III
0. Konzepte für Internet-Dienste - 11 -
In der Regel gibt es bei diesem Internetzugang einen Rechner in einem LAN, der über einen Router per Standleitung mit einem Internet-Connection-Provider verbunden ist und somit einen Zugang zum Internet hat. Auf diesem und jedem anderen Rechner des LAN können nun Internet-Dienste wie E-Mail, FTP und WWW ausgeführt werden. Daneben besteht nun auch die für einen zukünftigen Informationsanbieter interessante Möglichkeit der Einrichtung eines eigenen Internetservers.
Den oben beschriebenen Luxus einer permanenten IP-Verbindung können sich in der Regel nur öffentliche Einrichtungen wie Hochschulen und finanzkräftige Unternehmen leisten, denn für diese Lösung fallen monatliche Gebühren zwischen DM 3.000 und 5.000 an. Für den privaten Internet-User sind diese Kosten natürlich zu hoch und unerschwinglich weswegen sich diesem Benutzerkreis eine der nachfolgenden Lösungsmöglichkeiten anbietet.
Wählverbindung zu einem Computer im Internet
Bei dieser Art des Internetzugangs ist ein Benutzer mit einem Modem oder ISDN-Anschluß über die Telefonleitung mit einem Rechner verbunden, der seinerseits an das Internet angeschlossen ist. Mittels einer Terminalemulation, die das Protokoll ZMODEM oder XMODEM verwendet, kann nun der Single-User verschiedene Internet-Dienst-Programme auf diesem Rechner ablaufen lassen. Der Benutzer führt sozusagen eine Fernsteuerung des Internet-Rechners durch. Voraussetzung hierfür ist, daß beide Rechner eines der oben genannten Terminal-Protokolle verwenden. Diese Variante des
Internetzugangs findet man häufig an Hochschulen vor, die so ihren Professoren und Studenten einen günstigen Internetzugang verschaffen, denn es fallen hierbei keine weiteren Gebühren außer den verbindungsabhängigen Telefongebühren an. Natürlich kann diese Methode auch kommerziell genutzt werden. In der Regel werden hier neben den Telefongebühren auch Gebühren für die Dauer des jeweils genutzten Dienstes berechnet, wie zum Beispiel bei Compuserve.
0. Konzepte für Internet-Dienste - 12 -
Internet-Protokolleüber Wählverbindung
Während man bei der oben beschriebenen Wählverbindung zu einem Computer im Internet von einer „Pseudo-Internetverbindung“ sprechen kann, da über die Leitung zwischen dem Benutzer und dem Host-Rechner des Anbieters keine reinen Internet-Protokolle laufen und der Host sozusagen als Zwischenspeicher für den Benutzer dient, kann man bei der Variante der Internet-Protokolle über eine Wählverbindung von einem direkten Internet-Zugang des User sprechen. Um diese Zugangsmöglichkeit nutzen zu können, muß der Netzwerkanbieter das sogenannte Protokoll SLIP (Serial Internet Protokoll) oder das in letzter Zeit mehr favorisierte PPP (Point to Point Protocol) unterstützen. Der Rechner des Benutzers muß entweder TCP/IP und SLIP oder PPP beherrschen, damit diese Zugangsart möglich wird. Somit wird der Einsatz von graphischen Oberflächen möglich, die einen direkten Internet-Zugang voraussetzen.
Beide zuletzt beschriebenen Zugangsmöglichkeiten zum Internet bieten keine 24-Stunden-Verbindung und sind zudem relativ langsam. Sie eignen sich für Single-User, die sich nicht permanent im Internet aufhalten. Ein zukünftiger Informationsanbieter muß sich letztlich mit dem Gedanken anfreunden, die kostspielige Variante der permanenten IP-Verbindung zu nutzen, wenn er einen sinnvollen Dienst aufbauen will. Es werden zwar auch kostengünstigere Alternativen von Connection-Providern angeboten, die auch ohne eine permanente Verbindung zum Internet auskommen, diese sind aber von der Datenpflege her recht umständlich. Die Firma EUnet bietet zum Beispiel die Möglichkeit an, auf einem ihrer eigenen Internet-Server Festplattenspeicher zu mieten. Auf diesem können dann die Seiten des Informationsanbieters abgelegt und zum Abruf im Internet bereitgestellt werden. Aber selbst bei dieser Variante liegen die monatlichen Kosten bei ca. DM 1.000. Viele Provider, - so zum Beispiel T-Online und AOL -, bieten ihren Kunden auch die Möglichkeit, private Home-Pages auf einem ihrer anbietereigenen Rechner einzurichten, in der Regel sogar kostenlos. Das Problem liegt hier allerdings im äußerst begrenzten
0. Konzepte für Internet-Dienste - 13 -
Plattenspeicher, der dem Benutzer zur Verfügung steht. Für den professionellen Einsatz scheint also auch diese Möglichkeit nicht geeignet.
Gründe für die Fachhochschule Ludwigshafen, einen WWW-Server einzurichten
So, wie es Konkurrenz zwischen den Unternehmen gibt, existiert auch ein Wettbewerb unter den Hochschulen. Zwar wird hier bei weitem nicht so hart gekämpft, wie man dies aus der freien Wirtschaft kennt, aber jede Hochschule weiß, daß ihr die Kunden, sprich Studenten, nicht unbedingt von selbst zulaufen. Daher sollte jede Hochschule bemüht sein, ihr Studienangebot möglichst positiv nach außen darzustellen. Wie aus den obigen Ausführungen zu ersehen ist, erfreut sich das Internet immer größerer Beliebtheit, und viele Benutzer verwenden die darin angebotenen Informationen. Ist ein Unternehmen im Internet präsent, so signalisiert es damit dem Informationsnachfrager, daß es sich für ihn und nicht zuletzt seine innovative Einstellung zu den neuen Medien interessiert. Allein dieser Punkt könnte ausschlaggebend für eine neue Kundenbeziehung sein. Überträgt man diese Tatsache auf eine Hochschule, so kann der erste Eindruck, den ein Benutzer beim Besuch des Hochschul-Server bekommt, entscheidend für die Bewerbung sein. Dabei genügt nicht nur die schlichte Existenz eines Servers, vielmehr ist das effizient strukturierte und leicht nachvollziehbare Informationsangebot von ebenso fundamentaler Bedeutung.
Im folgenden sollen zunächst drei wesentliche Gründe für die Fachhochschule Ludwigshafen zur Einrichtung eines Internet-Server dargestellt werden:
1. Zur Außendarstellung der Hochschule
• Vermittlung allgemeiner Informationen über die Fachhochschule
Ludwigshafen:
Zum Beispiel Informationen über Standort, Entwicklung und Partner der Fachhochschule.
• Organisation der Fachhochschule:
Zum Beispiel Informationen über Leitung, Personal und Einrichtungen der Fachhochschule.
0. Konzepte für Internet-Dienste - 14 -
• Studienangebot:
Beschreibung der Studienmöglichkeiten an der Fachhochschule.
2. Zum Aufbau eines Intranet
• Unter dem Begriff Intranet versteht man die Verwendung von Internet-Diensten innerhalb einer Organisation. Diese Dienste können allerdings nur von autorisierten Benutzern in Anspruch genommen werden, das heißt Internet-Benutzer von außen haben auf bestimmte Bereiche des Internet-Server keinen Zugriff.
• Mit einem Intranet können Informationen wie zum Beispiel Rundschreiben
oder Termine innerhalb der Fachhochschule zwischen den Fachbereichen und Einrichtungen ausgetauscht werden. Damit könnte man der Idee des papierlosen Büros etwas näherkommen.
• Die Einrichtung eines Intranet für die Fachhochschule Ludwigshafen ist
derzeit noch nicht realisiert und liegt noch in der Planung. Hier sei auf den Arbeitskreis Intranet unter der Leitung von Professor Peter Kursawe im Rahmen des Arbeitskreises Internet unserer Hochschule verwiesen, der sich mit dieser Thematik genauer befaßt.
3. Als Informationssystem für Studenten
Nicht zuletzt soll der Internet-Server der Fachhochschule Ludwigshafen ein Informationssystem für unsere Studenten sein. Er soll sie mit wichtigen Informationen versorgen, ihnen die Organisation ihres Studiums erleichtern und als Kommunikationsmittel untereinander und mit den Professoren und Einrichtungen dienen. Folgende interessanten Funktionen seien hier herausgegriffen:
• Hilfe bei der Bewerbung an der Fachhochschule:
Informationen über das Vorgehen bei der Bewerbung um einen Studienplatz (Ansprechpartner, Zugangsbeschränkungen, notwendige Unterlagen, Bewerbungsfristen).
• Studienordnungen:
Zur Verfügungstellung der aktuellen Studienordnung.
0. Konzepte für Internet-Dienste - 15 -
• Stundenpläne:
Abfragemöglichkeit der Vorlesungstermine und deren Änderungen über das Internet.
• Anmeldung zu Prüfungen:
Vereinfachung der Anmeldungsprozedur zu Klausuren, Diplomarbeiten, Vordiploms- und Abschlußprüfungen durch Nutzung des Inter- bzw. Intranets und damit Abbau von Wartezeiten.
• Veröffentlichung von Diplomarbeiten:
Studenten soll die Möglichkeit gegeben werden, ihre Diplomarbeiten einem breiten Publikum zur Verfügung stellen zu können.
Die Punkte Stundenpläne, Anmeldung zu Prüfungen und Veröffentlichung von Diplomarbeiten sind zur Zeit noch nicht realisiert. Der Arbeitskreis Internet arbeitet an der Verwirklichung dieser Dienste, dazu sind allerdings grundlegende organisatorische Umstrukturierungen der betroffenen Bereiche wie zum Beispiel Semesterplanungsamt oder Prüfungsamt zu bewerkstelligen, und es müssen geeignete Schnittstellen zwischen diesen Einrichtungen und dem Internet geschaffen werden.
Protokolle 8
Wie bereits erwähnt, ist im Internet ein erstaunliches Spektrum unterschiedlicher Rechnerplattformen miteinander verbunden. Wenn man bedenkt, wie kompliziert es ist, auf konventionellem Weg (zum Beispiel mit Disketten) Daten zwischen einem PC und einem UNIX- oder Macintosh-Computer auszutauschen, verwundert es schon ein wenig, warum das über das Internet so scheinbar problemlos funktioniert. Das Geheimnis dieser enormen Flexibilität im Internet sind die Protokolle, die Kommunikation und Datenaustausch im Internet ermöglichen.
In diesem Abschnitt soll nun kurz auf die wichtigsten Protokolle, deren Funktionen und Aufgaben im Internet eingegangen werden. Da man einen Internet-Dienst aufbauen kann, auch wenn man die Funktionsweise von Protokollen nicht in allen Einzelheiten kennt, sollen hier nur die
0. Konzepte für Internet-Dienste - 16 -
Grundfunktionen von Protokollen und die drei wesentlichen Protokolle IP, TCP und UDP behandelt werden. Für tiefergehende Informationen sei hier auf die weiterführende Literatur verwiesen.
Zunächst soll geklärt werden, was ein Protokoll ist und welche Aufgaben es zu leisten hat. Da der Begriff in verschiedenen Zusammenhängen gebraucht wird, sei zunächst erwähnt, daß immer „Kommunikationsprotokoll“ gemeint ist, wenn in diesem Text der Begriff „Protokoll“ gebraucht wird.
Definition: Ein Protokoll definiert ein Schema, nach dem ein Datenaustausch zu
Demnach sind Protokolle sozusagen Sprachen, mit denen sich Rechner verständigen können. Im Internet ist das wichtigste Protokoll TCP/IP. Es sichert den problemlosen Datenaustausch zwischen den Rechnern im Internet. Dabei spielt es keine Rolle, in welchem Netzwerk sich der Rechner befindet oder um welche Rechnerplattform es sich handelt.
10 Protokoll-Hierarchie
Da ein einziges Protokoll der Vielzahl von Anforderungen nicht gewachsen ist, werden im Internet eine ganze Reihe von Protokollen verwendet, die unter dem Sammelbegriff TCP/IP zusammengefaßt sind, wobei TCP (Transmission Control Protocol) und IP (Internet Protocol) die zentralen Protokolle darstellen.
Folgende Anforderungsprofile sollten von einem Internet-Protokoll erfüllt werden:
• Möglichst große Unabhängigkeit von der verwendeten Netzwerk-Hardware,
sowohl hinsichtlich der verwendeten Übertragungsmedien (Kupferkabel, Lichtwellenleiter etc.) als auch des lokalen Netzwerkbetriebssystems (Ethernet, Token-Ring etc.)
8 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 9
9 vgl. Krückeberg, Spaniol 1990, S. 490 10 vgl. Zenk 1994, S. 217 ff
0. Konzepte für Internet-Dienste - 17 -
• Erreichbarkeitaller Rechner im gesamten Internet
• Fehlererkennung und Fehlerkorrektur
• Logische Adressierung. Das heißt, die Adresse eines Rechners im Internet
sollte nicht von der Netzwerk-Hardware abhängen. So hat zum Beispiel eine Ethernet-Karte eine fest codierte 48 Bit lange Adresse. Ein Austauschen dieser Karte würde ohne logische Adressierung automatisch zu einem Adresswechsel führen.
• Versenden von Paketen (ähnlich wie beim Telegramm).
• Herstellen von Verbindungen (ähnlich wie beim Telefongespräch).
• Übertragen der notwendigen Daten, um die gewünschten Dienste zu
realisieren.
Damit diese Anforderungen erfüllt werden können, benötigt man nicht nur mehrere Protokolle, sondern auch einen sinnvolle Anordnung derselben. Zu diesem Zweck wurde ein Schichtenmodell entwickelt, in dessen unteren Schichten sich die low-level-Protokolle befinden, welche eng auf der Hardware aufsetzen. In den höheren Schichten befinden sich Protokolle, die eine Anwendung beziehungsweise einen Dienst ermöglichen. So bietet das Internet Protocol (IP) der darüberliegenden Schicht den Transport von kleinen Datenpaketen an. Diese Funktionalität kann genutzt werden, ohne die darunterliegende Hardware zu kennen.
0. Konzepte für Internet-Dienste - 18 -
Die folgende Tabelle zeigt ein vereinfachtes Schichtenmodell:
Die Ebene Lokales Netzwerk
In der hier mit Lokalem Netzwerk bezeichneten untersten Ebene dieses einfachen Modells befinden sich neben den Übertragungsmedien auch die Netzwerkkarten wie zum Beispiel Ethernet oder Token-Ring. Die Aufgabe einer Netzwerkkarte besteht im Transport von Datenpaketen, sogenannten Frames, die eine Größe von einem bis 1500 Byte haben können. Ein Frame besteht aus zwei Teilen, wobei im ersten Teil, dem sogenannten Kopf, wichtige Informationen wie zum Beispiel die Zieladresse des Datenpakets gespeichert ist. Die eigentlichen Nutzdaten eines Frames befinden sich im zweiten Teil. Diese werden von der nächsthöheren Schicht im Modell verwendet und wiederum mit einem Kopf- und Nutzdatenteil versehen.
0. Konzepte für Internet-Dienste - 19 -
Der Aufbau eines Frame ist in Abbildung 6 noch einmal bildlich dargestellt.
Die Ebene Internet
Die Internet-Ebene baut direkt auf die Funktionalität eines lokalen Netzwerkes, - also zum Beispiel auf eine vorgegebene Ethernet-Hardware -, auf. Sie ist für den gesamten Datentransport im Internet verantwortlich.
Die drei wichtigsten Protokolle der Internet-Schicht sind das Internet Protocol (IP), das Address Resolution Protocol (ARP) und das Internet Control Message Protocol (ICMP).
Internet Protocol (IP)
IP ist neben den beiden anderen größeren Protokollen TCP und UDP der TCP/IP-Familie mit das wichtigste Protokoll im Internet. In IP sind die eben genannten Protokolle ähnlich wie in Briefumschlägen eingepackt. Im IP-Paket ist die Adresse des Internet-Rechners gespeichert, an welchen die Daten geschickt werden sollen.
0. Konzepte für Internet-Dienste - 20 -
Eine solche Adresse besteht aus einer 32-Bit langen Zahl, die zwischen 0 und 4,3 Milliarden liegen kann. Da von einem Benutzer nicht verlangt werden kann, daß er sich solche „Megazahlen“ merken muß, werden diese IP-Adressen in einer etwas leichter zu merkende Kurzform, der sogenannten Oktette, geschrieben. Dazu wird die 32-Bit-Adresse zunächst in vier Gruppen von jeweils 8 Bit zerlegt. Danach werden die 8-Bit-Gruppen in jeweils eine Dezimalzahl umgewandelt. Zum Schluß werden die resultierenden 4 Dezimalzahlen ebenfalls miteinander verbunden und durch Punkte voneinander getrennt.
Abbildung 7: Binärdarstellung einer IP-Adresse
In Abbildung 7 ist die IP-Nummer des WWW-Servers der Fachhochschule Ludwigshafen nach diesem Verfahren aufgeschlüsselt. Der Aufbau einer IP-Adresse ergibt sich aus folgendem hierarchischen Aufbau: Netz, Teilnetz, Computer. In der Regel beschreiben die beiden ersten beziehungsweise die ersten drei Oktette das Netz, die letzten 16 beziehungsweise 8 Bit das Teilnetz und den Computer der IP-Adresse. Durch diesen Aufbau einer IP-Adresse wird ein sinnvolles Routing im riesigen Internet erst sinnvoll, denn Internet-Router müssen lediglich über eine Liste mit allen Netzen verfügen, um ein IP-Paket an die richtige Adresse weiterzuleiten. Müßte ein Router den Weg zu jedem einzelnen Computer kennen, müßte er im Extremfall 4,3 Milliarden Einträge enthalten. Ist nun ein IP-Paket im richtigen Netz angekommen, muß es von den dortigen Routern nur noch in das gewünschte Teilnetz und von dort zum entsprechenden Computer weitergeleitet werden. IP stellt demnach lediglich die Adressierungsinformationen zur Verfügung, die zu einem Transport von Daten zwischen zwei Rechnern benötigt werden. IP führt allerdings weder
0. Konzepte für Internet-Dienste - 21 -
eine Fehlerprüfung durch, noch stellt es sicher, daß die Daten-Pakete in der Reihenfolge beim Adressaten ankommen, wie sie abgeschickt worden sind.
Address Resolution Protocol (ARP)
Neben den im obigen Abschnitt beschriebenen sogenannten logischen Adressen gibt es auch Hardware-Adressen, welche vom Protokoll ARP versorgt werden. Zwischen logischer und Hardware-Adresse besteht eine Beziehung im Verhältnis von 1:1. ARP hat dabei die Aufgabe, logische Adressen in Hardware-Adressen umzuwandeln. Für diese Umwandlung nutzt ARP die Broadcasting-Möglichkeiten (= das Senden an eine Netzwerk-Hardware-Adresse) der Ethernet-Technik. Ein Broadcast-Paket enthält die IP-Adresse der Station, die angesprochen werden soll. Die betroffene Station sendet dann ihre Hardware-Adresse an den Absender des Broadcast. Ein Rechner speichert die gewonnenen Erkenntnisse über die Beziehung zwischen logischen Adressen und Hardware-Adressen in einem speziellen Zwischenspeicher, dem ARP-Cache. Dadurch kann die Netzbelastung gesenkt werden, da die am häufigsten benutzten Zuordnungen schon im Speicher vorhanden sind.
Internet Control Message Protocol (ICMP)
Im Zusammenhang mit IP gibt es ein weiteres Protokoll, das einfache Rückbeziehungsweise Fehlermeldungen darüber liefert, wie die Internet-Schicht arbeitet. Werden Daten über Gateway (Rechner zur Kopplung von zwei oder mehreren verschiedenen Netzwerken) transportiert, können Fehler auftreten. So könnte beispielsweise der Pufferspeicher eines Gateways überlastet sein, wodurch ein Weiterleiten des Datenpakets nicht mehr möglich ist. Eine weitere, häufig auftretende Fehlerquelle könnte die Überschreitung der maximalen Transportkapazität des Gateways oder des Übertragungsmediums (zum Beispiel Kupferkabel) sein. In diesen Fällen übermittelt ICMP Fehlermeldungen über die Art und Ursache des aufgetretenen Fehlers und bietet den Protokollen der Internetschicht „Ratschläge“, wie sie ihr Verhalten anpassen können, um den Fehler abzufangen.
0. Konzepte für Internet-Dienste - 22 -
Die Ebene Host-to-Host
Die Host-to-Host- beziehungsweise Transportschicht ist für die Datenübertragung von Rechner zu Rechner verantwortlich. Diese Aufgabe übernehmen im wesentlichen die beiden Protokolle UDP und TCP, die im folgenden vorgestellt werden:
User Datagram Protocol (UDP)
Bei UDP handelt es sich um ein verbindungsloses Transportprotokoll in der Internetfamilie. Als Protokoll der Transportschicht verwendet es bei der Zustellung der Daten das Protokoll IP. UDP nimmt die Daten von IP entgegen und fügt dem Paket lediglich zwei Merkmale hinzu, wobei eines davon optional ist. Bei der ersten zugefügten Eigenschaft handelt es sich um die Portnummern. Ports sind eine Art Unteradressierung und kennzeichnen einzelne Dienste auf einem Rechner. Damit mehrere Dienste auf einem Rechner laufen können, wird ein Bezeichner verwendet, der über die Zielportnummer feststellt, an welches Programm (zum Beispiel Telnet oder FTP) die Daten weitergeleitet werden sollen. Ohne Ports könnte maximal ein Dienst (zum Beispiel FTP) pro Rechner benutzt werden. Eine Portnummer besteht aus einer 16 Bit breiten Zahl (von 0 bis etwa 65000). Es gibt Anwendungen, die auf fast allen Internet-Rechnern die gleiche Portnummer haben. So ist der Port 25 auf den meisten Rechnern für den Mail-Server, Port 23 in der Regel für das Telnet-Protokoll reserviert.
0. Konzepte für Internet-Dienste - 23 -
Beim optionalen Merkmal von UDP handelt es sich um die Prüfsummenbildung. Mit diesem Verfahren ist es möglich, festzustellen, ob die Daten während der Übertragung verändert worden sind. Da diese Option die Geschwindigkeit beeinträchtigt, wird häufig auf diese Anwendung verzichtet. UDP wird beispielsweise vom Netware File System (NFS) zur Übertragung von Daten innerhalb des lokalen Dateisystems verwendet. Allerdings ist bei UDP zu beachten, daß der Datentransport relativ unsicher ist. Da die Wahrscheinlichkeit steigt, daß beim Verlassen des lokalen Netzwerks IP-Pakete verloren gehen, ist die Verwendung von UDP für die meisten Anwendungen nicht ausreichend. UDP eignet sich also eher für kurze Anfragen und Antworten, die in ein IP passen.
Transmission Control Protocol (TCP)
Der beim Protokoll UDP erwähnte Mangel an Datensicherheit bei der PaketÜbermittlung wird vom Transmission Control Protocol (TCP) ausgeglichen. Mit TCP ist es nun auch möglich, anspruchsvollere Anwendungen mit einem höheren Grad an Zuverlässigkeit zu versorgen. Daneben sorgt TCP dafür, daß die Datenpakete in der Reihenfolge ankommen, in der sie abgeschickt worden sind. Damit wird die in Abschnitt 0 erwähnte Unfähigkeit von IP, die korrekte Aufeinanderfolge der Daten sicherzustellen, ausgeglichen. Hierzu verwendet TCP sogenannte Sequenznummern, die in jedes IP-Paket neben den eigentlichen Daten eingetragen werden und bei jedem neuen Paket um 1 erhöht werden. Anhand dieser Nummern kann der Empfänger die Reihenfolge der Pakete feststellen. Außerdem kann der Empfänger feststellen, ob die Daten vollständig angekommen sind. Kommen beispielsweise die Sequenznummern 1,2 und 5 beim Empfänger an, so fehlen 2 IP-Pakete. TCP wird dann vom Empfänger veranlaßt, die Daten erneut zu senden. Auch TCP verwendet wie UDP das Port-Konzept (siehe Abschnitt 0), um mehrere Dienste innerhalb eines Computers ansprechen zu können.
0. Konzepte für Internet-Dienste - 24 -
Vergleich von TCP und UDP:
Die Ebene Anwendung
An der Spitze des in Abbildung 5 dargestellten vereinfachten Schichtenmodells befindet sich die Anwendungsschicht.
In ihr befinden sich zum einen Anwendungen und zum anderen Protokolle.
Bei den Anwendungen wird zwischen Client-Programmen, mit denen ein Benutzer bestimmte Dienste wie z.B. FTP oder TELNET ausführen kann, und Server-Programmen, auch Dämonen genannt, welche die oben genannten Dienste anbieten, unterschieden. Bei den Dämonen handelt es sich um Programme, die entweder einmal gestartet werden und ständig auf dem Server laufen oder bei einer Client-Anfrage vom Superserver inetd gestartet und nach der Verarbeitung der Anfrage wieder beendet werden. Die Client-Programme hingegen sind in der Regel nur zeitweise aktiv, z.B. wenn ein Benutzer Informationen aus den Internet abrufen will.
Neben den reinen Anwendungen befinden sich in dieser Schicht, wie bereits oben erwähnt, auch Protokolle. Diese werden von den Anwendungen zur Datenübertragung verwendet.
Das Zusammenspiel zwischen Anwendung und Protokoll soll nachfolgend an einem Beispiel erläutert werden.
Will ein Benutzer eine E-Mail schreiben, so verwendet er dazu ein Mail-Programm (Client-Programm). Das Mail-Programm verwendet nun seinerseits das dienstspezifische Protokoll SMTP (Simple Mail Transfer Protokoll) zum Versenden der Mail. Damit die Mail weitergeleitet werden kann, wird ein Server-Programm zur Weiterverarbeitung des Auftrags benötigt. Hierzu gibt es
0. Konzepte für Internet-Dienste - 25 -
einen SMTP-Server (meist das UNIX-Programm „sendmail“), welcher die Mail an den SMTP-Server des Empfängers weiterleitet. Dort wird die Mail in einem Speicher (z.B. Festplatte) abgelegt. Der Empfänger kann jetzt mit seinem Mail-Programm die E-Mail abfragen und lesen.
Der Superserver inetd 11
Mit dem Portkonzept (siehe 0) ist es möglich, auf einem Rechner eine große Zahl von Servern gleichzeitig laufen zu lassen. Um keinen Speicherplatz durch den Dauerbetrieb von nur wenig beanspruchten Server-Programmen zu verschwenden, werden die meisten erst bei Bedarf durch den Superserver inetd gestartet und nach der Verarbeitung der Daten wieder beendet. Dabei hat inetd die einzige Aufgabe, die Ports permanent nach Anfragen von Clients abzufragen und die entsprechenden Programme zu starten. Damit inetd bei einer Anfrage den richtigen Server startet, holt er sich die notwendigen Angaben aus der Konfigurationsdatei inetd.conf (siehe Anhang - Abbildung 1). Versucht ein Client zum Beispiel, eine FTP-Session zu einem Server herzustellen, startet inetd das in Zeile 25 im Anhang - Abbildung 1 aufgeführte FTP-Programm.
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/wu.ftpd
0. Konzepte für Internet-Dienste - 26 -
Mit dem ersten Eintrag wird das jeweilige Dienstprogramm definiert. Der Service-Name (hier ftp) ist direkt auf eine Portnummer abgebildet, die inetd abhört. Diese Beziehung ist in der Datei services im Verzeichnis /etc definiert (siehe Anhang - Abbildung 2). Dort wird durch den Eintrag:
ftp 21/tcp
in Zeile 27 allen Anfragen, die an Port 21 gerichtet werden, das FTP-Programm zugewiesen.
Die Einträge stream und tcp weisen dem Protokoll TCP einen seriellen Datenstrom zu. Nowait teilt inetd mit, daß für jeden Client ein neuer Server aktiviert werden soll. Würde an dieser Stelle wait eingetragen, so würde bei einer Client-Anfrage jeweils nur ein Server gestartet. In diesem Fall wäre der Server solange für neue Anfragen blockiert, bis die letzte Session beendet ist.
Der Eintrag root gibt an, unter welcher Benutzerkennung der Server laufen soll. Normalerweise ist hier der Superuser (root) eingetragen. Aus Sicherheitsgründen kann hier aber auch ein spezieller User mit weniger Rechten verwendet werden. Der sechste Eintrag in inetd.conf enthält den Pfadnamen des Serverprogramms, während das letzte Element (/usr/sbin/wu.ftpd) aus der kompletten Kommandozeile für den Server einschließlich des Servernamens und seiner Argumente besteht.
Inetd eignet sich also besonders für Server-Programme, die nur relativ selten benötigt werden. Ein weiterer Vorteil von inetd besteht darin, daß Veränderungen an den Konfigurationsdateien der Server-Programme sofort beim nächsten Aufruf durch den Superserver wirksam werden.
12 Eigenständige Server
Werden Dienste auf einem Server stark frequentiert, stößt man schnell an die Grenzen von inetd. Da inetd ein Server-Programm bei einer Anfrage jedesmal neu startet, muß das betroffene Programm auch seine Konfigurationsdateien neu einlesen. Dies kann bei starkem Benutzerandrang zu zeitlichen Engpässen und Systemüberlastungen führen.
11 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 13
12 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 14
0. Konzepte für Internet-Dienste - 27 -
In diesem Fall empfiehlt es sich, den entsprechenden Server als eigenständigen Dämon laufen zu lassen. Der eigenständige Dämon überwacht bei diesem Verfahren den ihm zugeordneten Port und erstellt für jede eintreffende Client-Anfrage eine Kopie von sich selbst. Durch diese schnellere Methode können die oben geschilderten Probleme von inetd weitgehend umgangen werden.
Namenskonventionen 13
In Abschnitt 0 wurde der Aufbau einer IP-Adresse näher beleuchtet. Über diese Nummer wird einem Rechner eine eindeutige Adresse zugewiesen. Bewegt man sich im Internet, stößt man allerdings nur sehr selten auf diese Nummern. In der Regel wird ein Rechner über einen ihm zugewiesenen Namen, hinter dem sich letztlich die entsprechende IP-Nummer verbirgt, angesprochen. Um Rechnern statt den IP-Adressen auch logische Namen zuordnen zu können, wurde das Domain Name System (DNS) geschaffen. In den Anfängen des Internet erfolgte diese Zuordnung über eine zentral gehaltene Datei (/etc/hosts auf UNIX-Systemen) durch den Network Information Center (NIC). Diese Datei wurde regelmäßig mittels FTP an alle Rechner jeder Domain verschickt und ordnete jeder IP-Adresse einen eindeutigen Namen zu. Durch das rasante Anwachsen des Internet und der damit verbundenen immer größer werdenden Anzahl von IP-Adressen wäre eine Übermittlung der hosts-Datei mit FTP und das Aktualisieren der Daten zu aufwendig gewesen. Mittlerweile ist die Datei /etc/hosts zu einer beachtlichen Datenbank angewachsen. Sie wird in Zonen aufgeteilt und von sogenannten Domain Name Servern innerhalb der Zone verwaltet. Jeder Domain Name Server sieht also nur einen Teil des gesamten Domain Name Space. Es gibt insgesamt drei Hauptkomponenten, aus denen sich der Domain Name Service zusammensetzt.
13 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 15
0. Konzepte für Internet-Dienste - 28 -
1. DerDomain Name Space
Der Domain Name Space und die sogenannten Resource Records bilden einen baumartigen, hierarchisch strukturierten Namensraum (siehe Abbildung 10). Unter den Resource Records versteht man Datensätze, die den jeweiligen Knotenpunkten zugeordnet sind.
2. Die Name Server
Unter ihnen versteht man Name Server Programme beziehungsweise Rechner, in welchen die Informationen über die Struktur des Domain Name Space verwaltet und aktualisiert werden.
3. Die Resolver
Bei den Resolvern handelt es sich um Programme, die einem Name Server zugeordnet sind und für den Client Anfragen bezüglich der passenden IP-Nummer zu einem Rechnernamen stellen. Kann ein Name Server eine Anfrage nicht beantworten, muß er die Antwort unter Umständen bei
0. Konzepte für Internet-Dienste - 29 -
anderen Name Servern, mit denen er über Referenzen verbunden ist, erfragen, bevor er sie an den Resolver zurückgibt (siehe Abbildung 11).
Die Zonen, welche die Name Server des Domain Name Service verwalten, beinhalten einen Knotenpunkt im DNS Baum und alle darunterliegenden Zweige. In jeder Zone gibt es aus Sicherheitsgründen mindestens zwei aktive Name Server (primary und secondary), die jeweils ihre nächsthöheren und -tieferen Nachbarn kennen. Somit wird zum Beispiel der Bereich der primary-Server vom DE-NIC betrieben.
14 Ein kurzer Einschub zum Thema: Client / Server
In den bisherigen Ausführungen wurden häufig die Begriffe Client und Server verwendet. Dies läßt den Schluß zu, daß das Internet auf einer Client-Server-Architektur basiert. Nachfolgend soll nun geklärt werden, um was es sich eigentlich bei einem Client-Server-System handelt, welche Bedeutung ein solches System für das Internet hat und wie die Kommunikation zwischen einem Client und einem Server im Internet abläuft.
0. Konzepte für Internet-Dienste - 30 -
Seit Anfang der 60er Jahre sind Mainframes ein gewohntes Bild des Computer-Zeitalters geworden. Mainframes wie die IBM/370 sowie nicht IBMkompatible Systeme von Bull, Unisys, Siemens oder Tandem prägen immer noch das Bild der Rechenzentren in Unternehmen und Behörden.
Die Systemarchitektur eines Mainframe ist zentralistisch ausgerichtet. Die Zentraleinheit, kurz CPU, steht im Mittelpunkt und setzt sich aus den Komponenten für Verarbeitung, zentrale Speicherung sowie Ein- und Ausgabe zusammen. In der traditionellen Mainframe-Terminal-Umgebung sind alphanumerische Terminals mit der CPU verbunden. Die CPU eines Mainframes zeichnet sich durch schnelle Durchsatzleistungen, große virtuelle Adreßräume und Plattenkapazitäten im GB-Bereich aus. In einer typischen Mainframe-Umgebung ist ein Einsatz von 1000 Terminals keine Seltenheit. So lassen sich Terminals nicht nur in großer Stückzahl, sondern auch über große Entfernungen, zum Beispiel mittels SNA-Links, in eine IBM-Welt integrieren.
Den oben genannten Vorteilen stehen aber auch Nachteile gegenüber. So kann beispielsweise das Einbinden eines zusätzlichen Terminals dazu führen, daß das gesamte System heruntergefahren werden muß. Bei der Verwendung von Mainframe-Systemen kann in der Regel nicht auf den Einsatz von EDV-
14 vgl. Zenk 1994, S. 704 ff
0. Konzepte für Internet-Dienste - 31 -
Spezialisten verzichtet werden. Dadurch wird das System unflexibler, und der administrative Aufwand nimmt zu. Andererseits bedeutet die Zunahme von Terminals, daß die Antwortzeiten bei rechenintensiven Prozessen extrem zunehmen. Terminals werden von der CPU des Mainframe über ein Time-Sharing-Verfahren gesteuert. Daher nimmt mit der steigenden Anzahl von Terminals die Breite des Zeitfensters pro Terminal ab.
Fällt einmal der Großrechner aus, kommt damit auch das gesamte System zum Erliegen, da die Terminals, die in der Regel nur aus Bildschirm und Tastatur bestehen, nicht eigenständig arbeiten können.
Aufgrund des zunehmenden Kostendrucks und Miniaturisierungszwangs wurden Anfang der 70er Jahre die Mainframes durch die Minicomputer ersetzt. Dadurch änderte sich die Systemarchitektur vom zentralen Großrechner hin zu vielen autarken Abteilungsrechnern. Bei dieser Lösung blieb aber die zentralistische Systemstruktur weiterhin bestehen: Unintelligente Terminals sind im Master-Slave Betrieb mit einem Host verbunden, Informationen werden weiterhin zentral bearbeitet.
Als Mitte der 70er Jahre die ersten stand-alone Personal Computer auf den Markt kamen, traten sie den Siegeszug gegen die etablierten Mainframes an. Sie zeichneten sich durch die einfache, nüchterne Philosophie aus, die Rechnerleistung dort zur Verfügung zu stellen, wo sie tatsächlich gebraucht wird - auf dem Schreibtisch des Benutzers.
Als dann zu Beginn der 80er Jahre die ersten PCs in einem LAN miteinander vernetzt wurden, war der Weg zu heutigen Client-Server Architekturen nicht mehr weit. Mit dem Client-Server Gedanken sind unweigerlich mehr Unabhängigkeit, Flexibilität und Erweiterbarkeit verbunden. Unabhängigkeit wird dadurch gewährleistet, daß jedem Anwender seine Rechenleistung zur Verfügung steht und diese nicht mit anderen geteilt werden muß. Flexibilität läßt sich erreichen, wenn die Rechenleistung kontinuierlich den Leistungsanforderungen des Anwenders angepaßt werden kann.
Die beiden Punkte Unabhängigkeit und Flexibilität sind somit auch die wesentlichen Vorteile, die ein Client-Server System gegenüber einer Mainframe Architektur hat. Fällt beim Client-Server Computing einmal ein
0. Konzepte für Internet-Dienste - 32 -
Server aus, so fällt im schlimmsten Fall lediglich ein Teilbereich des Gesamtnetzes aus. Ein Totalausfall, wie dies bei Mainframe Systemen oft der Fall ist, ist eher unwahrscheinlich.
Genau dieser Sachverhalt war und ist auch heute noch entscheidend für die Entwicklung des Internet. Der rasante Erfolg des Internet ist also sicherlich auch auf die Entwicklungen im Bereich der Client-Server Architektur der letzten Jahre zurückzuführen.
Abschließend soll nun noch gezeigt werden, wie die Kommunikation, die ein typischer Client eines Informationsdienstes mit einem Informations Server führt, abläuft. Angenommen, ein Benutzer möchte auf einem WWW-Server ein bestimmtes Dokument einsehen. Dazu gibt er in seinem Client-Programm (Web-Browser) den kompletten URL (Uniform Resource Locator) ein, welcher die Adresse des WWW-Servers und die Bezeichnung des Dokumentes beschreibt. Der Client (Rechner des Benutzers) nimmt die Eingabe entgegen und übersetzt sie in eine an den Server gerichtete zulässige Anfrage. Der Server sucht dann in der Datei /etc/services nach der richtigen Portnummer für den WWW-Server und findet folgendes:
www 80/tcp
(siehe Zeile 50 Anhang - Abbildung 2). Hier ist festgelegt, daß alle Anfragen an den WWW-Server über das TCP Protokoll erfolgen und der Port 80 angesprochen wird. Der Client beginnt nun ein oder mehrere IP-Pakete an den Port 80 des Servers zu senden. An Port 80 der Zielmaschine wartet nun entweder das WWW-Server Protokoll (HTTP) selbst, oder an seiner Stelle inetd, je nachdem, ob es sich um einen eigenständigen Server handelt oder nicht. Läuft der WWW-Server als ein eigenständiger Server, so verarbeitet er die empfangenen TCP-Daten direkt oder das Protokoll HTTP wird erst noch von inetd gestartet, um mit der Verarbeitung der Daten beginnen zu können. Client und Server können nun die entsprechenden Daten untereinander austauschen. Der Client empfängt die gewünschten Informationen und speichert sie im Hauptspeicher oder auf der Festplatte ab. Sind die Informationen vollständig auf den Client übertragen, wird die TCP-Verbindung mit einer speziellen TCP-Paketsequenz geschlossen.
0. Einführung in die Internet-Dienste - 33 -
Einführungin die Internet-Dienste
In Kapitel 1 wurden die wesentlichen, technischen Grundlagen des Internet grob erläutert. Dieses theoretische Grundwissen ist völlig ausreichend für den Betrieb eines WWW-Servers. Der interessierte Leser sei daher auf die weiterführende Literatur verwiesen. Im folgenden Kapitel sollen nun die Informationsdienste im Internet wie E-Mail, FTP, Gopher, WAIS und das World-Wide-Web näher erklärt werden. Bei der Beschreibung wird mit den Informationsdiensten begonnen, die aufgrund ihrer Popularität und einfachen Verfügbarkeit von einem sehr großen Benutzerkreis verwendet werden. Später wird dann auf die in bezug auf ihre Verfügbarkeit und Einrichtung etwas anspruchsvolleren Dienste näher eingegangen.
E-Mail-Dienste 15
Electronic-Mail - oder kurz E-Mail - erlaubt den Austausch von Nachrichten über elektronische E-Mail Netzwerke. E-Mail ist einer der ältesten und verbreitetsten Netzdienste überhaupt. Da heutzutage fast jeder Rechner über mindestens ein Mail-System verfügt, kann ein Benutzer mit standardisierten Protokollen problemlos am E-Mail-Verbund teilnehmen. Auch die Einrichtung eines E-Mail Server ist relativ einfach, da in der Regel jeder UNIX-Rechner, also auch Linux, über das SMTP (Simple Mail Transfer Protokoll) verfügt. Bei näherer Betrachtung des Systems ist es immer wieder hilfreich, sich die Analogie zum normalen Postweg zu vergegenwärtigen. Bei der Zustellungsdauer besteht zwischen beiden Systemen jedoch ein gewaltiger Unterschied. Während zum Beispiel eine Ansichtskarte aus Amerika mehrere Wochen unterwegs sein kann, benötigt eine über E-Mail versandte Nachricht lediglich Minuten, um zum Empfänger auf der anderen Seite der Erde zu gelangen. Auch die geringeren Kosten, die E-Mail gegenüber der herkömmlichen Post verursacht, machen diesen Dienst immer attraktiver.
Um einen Brief über den herkömmlichen Postweg zu versenden, sind im wesentlichen die folgenden drei Schritte notwendig:
1. Erstellen des Briefes.
0. Einführung in die Internet-Dienste - 34 -
2. Eintragen des Empfängers (und eventuell des Absenders) auf dem Briefumschlag.
3. Abgabe auf dem Postamt und Bezahlung der Gebühr.
Genau wie vor dem Versenden eines Briefes eine korrekte Empfängeradresse auf den Umschlag geschrieben werden muß, müssen auch E-Mails mit korrekten Empfängerdaten versehen werden. Hat ein Absender seinen Brief bei der Post abgeliefert, so braucht er sich nicht mehr darum zu kümmern, über welche Wege der Brief zum Empfänger gelangt. Genauso ist es auch für den E-Mail Absender unerheblich, welche Wege seine Post nimmt, um schließlich beim Empfänger anzukommen. Nach dem Betätigen der „Sende-Taste“ ist der E-Mail Vorgang für den Absender beendet. Die Wegewahl zum Empfänger wird vom Mail-Transportsystem übernommen. Das Transportsystem liefert die Mail bis zur „eigenen Haustür“ des Empfängers, dem benutzereigenen Briefkasten (Mailbox oder Inbox genannt).
Voraussetzung für die weltweite Kommunikation über E-Mail sind eindeutige Mail-Adressen. Als Identifizierung für Mail-Adressen wird eine Kombination aus Benutzernummer / Benutzername und Domainnummer / Domainname verwendet. Daraus ergibt sich die Schreibweise nach dem Schema user@domain (gesprochen user at domain). User steht dabei für den Benutzeraccount, welcher in der Regel aus Buchstaben und / oder Ziffern (auch Sonderzeichen sind erlaubt) besteht. Domain steht für den Rechnernamen, dem durch das Domain Name System (siehe Abschnitt 0) eine eindeutige IP-Adresse zugeordnet ist. Da auf Rechnern die Benutzeraccounts eindeutig sein müssen, wird durch den beschriebenen Aufbau einer E-Mail Adresse der zu Beginn genannten Forderung nach Eindeutigkeit einer E-Mail Adresse Rechnung getragen. Ein Beispiel einer gültigen Adresse ist: guido@fhludwigshafen.de. Eine an diese Adresse verschickte Mail ist also für einen Benutzer mit dem Account guido auf dem Rechner fh-ludwigshafen.de bestimmt.
15 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 457 ff
0. Einführung in die Internet-Dienste - 35 -
16 FTP
Ein weiterer, wichtiger und häufig verwendeter Dienst im Internet ist das File Transfer Protocol (FTP). FTP bezeichnet neben dem Protokoll auch gleichzeitig den Dienst, der mit dem Protokoll realisiert ist: Die Übertragung von Dateien zwischen verschiedenen Rechnern über das Netz. FTP arbeitet wie viele andere Internet Dienste auch Client-Server orientiert und steht auf fast allen Plattformen zur Verfügung. Um Dateien von einem Rechner zum anderen zu übertragen, benötigt ein Client die notwendigen Zugriffsrechte auf dem Server. Um Benutzern den Zugriff auf die FTP Datenarchive zu erleichtern, wurden weltweit verteilte, frei zugängliche Anonymous FTP-Server eingerichtet. Auf diesen Rechnern werden gewaltige Mengen der unterschiedlichsten Daten zur Verfügung gestellt. Auf diesen Servern findet man für fast alle denkbaren Rechnertypen Software, Dokumente jeglicher Art, Bilder, Videosequenzen, Sounddateien und vieles mehr. Der Vorteil eines Anonymous FTP-Server liegt darin, daß ein Client keine spezifischen Zugriffsrechte benötigt. Hat ein User eine Verbindung zu einem solchen FTP-Server aufgebaut, so gibt er als Benutzernamen anonymous (oder ftp) und als Paßwort seine komplette E-Mail Adresse ein (siehe Abbildung 13: Die fett markierten Textstellen sind die notwendigen Benutzereingaben).
16 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 59 ff
0. Einführung in die Internet-Dienste - 36 -
Abbildung13: Eine einfache Beispielsitzung auf einem Anonymous-FTP Server
Der zentrale Bestandteil des FTP-Protokolls besteht in der Trennung zwischen Kontroll- und Datenverbindung. Vereinfacht betrachtet, läuft eine FTP-Sitzung folgendermaßen ab: Der Client baut zunächst eine Kontrollverbindung zum FTP-Server auf und schickt über diese Kommandos an den Server. Der Server antwortet auf die Kommandos ebenfalls über diese Kontrollverbindung. Mit den Kommandos legt der Client die Parameter für die Datenübertragung zum Beispiel Datentyp, Übertragungsmodus, Datenstruktur und die
0. Einführung in die Internet-Dienste - 37 -
durchzuführenden Operationen (zum Beispiel Auflisten, Abholen, Speichern von Dateien) fest. Die Datenverbindung dient lediglich der Übertragung von Daten, nachdem zuvor über die Kontrollverbindung die erforderlichen Parameter zur Datenübertragung zwischen Client und Server festgelegt worden sind. Nach erfolgreicher Datenübertragung wird dann die Verbindung zwischen Client und Server durch eine bestimmte Sequenz (zum Beispiel durch den Befehl quit) beendet.
Auch wenn ein großer Nachteil von FTP in der relativ bescheidenen Geschwindigkeit bei der Datenübertragung liegt, ist es dennoch ein Dienst, der auf keinem Internet-Server fehlen sollte. Neben der Möglichkeit, Daten von einem Server auf einen Client zu übertragen, kann umgekehrt ein Client auch Daten auf einen Server mittels FTP übertragen. Aus diesem Grund ist FTP unter anderem ein wichtiger Informationsdienst in Zusammenhang mit einem WWW-Server. Mit den Up- und Download-Möglichkeiten des File Transfer Protocol können beispielsweise die HTML-Dateien eines WWW-Servers von jedem beliebigen Standort im Internet aus gepflegt werden.
Telnet und Finger 17
Telnet ist der erste Dienst, der im Internet implementiert wurde. Mit Telnet, dem Standard-Remote-Login Dienst, kann man auf Rechnern im Netz so arbeiten, als ob die eigene Tastatur und das eigene Terminal direkt am entfernten Rechner angeschlossen wären. Wie bei FTP ist in der Regel auf anderen Rechnern eine Zugangsberechtigung (Account) notwendig, damit ein Client auf diesen Remote-Rechnern arbeiten kann. Viele Server im Internet bieten daher einen Guest-Account an, so daß ein Benutzer nur bestimmte Programme wie zum Beispiel Datenbankschnittstellen nutzen kann. Manche Server verlangen auch überhaupt keinen expliziten Einlog-Vorgang. In der Regel wird der Telnet-Server mit dem Telnet-Dämon telnetd gestartet.
Standardmäßig ist der Zugangsport für Telnet der Port Nummer 23, und der Server wird meistens über den Superserver inetd gestartet, wenn eine Anfrage an diesen Port gesendet wird (siehe Zeile 27, Anhang - Abbildung 1 und Zeile
17 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 43 ff
0. Einführung in die Internet-Dienste - 38 -
29, Anhang - Abbildung 2). Hat ein Client mit einem Telnet-Server eine Verbindung aufgebaut, so laufen beim Start einer Sitzung zwischen dem Telnet-Client und dem Telnet-Dämon zunächst Verhandlungen ab, bei denen der Client über den Server dem Anwendungsprogramm den Typ seines Terminals mitteilen kann. Telnet sorgt dann dafür, daß der Log-in-Vorgang für den Client so abläuft, als ob er direkt mit dem Host-Rechner arbeiten würde. War die Anmeldung des Clients erfolgreich, so kann der eingelogte Benutzer die System-, Programm- und Dateiressourcen des Servers in Anspruch nehmen. Dabei behandelt der Remote-Rechner den Telnet-Teilnehmer wie ein eigenes physikalisches Terminal. Neben diesen interessanten Eigenschaften von Telnet eignet sich dieser Dienst auch sehr gut zu bestimmten Testzwecken. In einem späteren Kapitel wird gezeigt, wie man mit Telnet nach dem Start eines WWW-Dämons überprüfen kann, ob dieser ordnungsgemäß funktioniert.
Bei Finger handelt es sich um einen Internet-Dienst, der ursprünglich nur für UNIX-Systeme gedacht war. Heute gibt es aber auch Implementierungen für andere Betriebssysteme. Finger wurde an der University of California, Berkeley, entwickelt. Mit dem Befehl Finger können bestimmte Informationen über die momentan auf einem Fern-Rechner eingeloggten Benutzer ausgegeben werden. Zu diesen Informationen gehören folgende Daten:
• Log-in-Name
• Vor- und Zuname
• Terminal-Schreibstatus
• Zeit seit der letzten Tätigkeit am Rechner
• Zeitpunkt des Log-in
• Falls im Home-Verzeichnis die Datei .project existiert, den Inhalt dieser
Datei. In der Regel stehen in dieser Datei Informationen über das Projekt, an dem der Benutzer gerade arbeitet.
• Falls im Home-Verzeichnis die Datei .plan existiert, den Inhalt dieser Datei.
Hier stehen meist sonstige persönliche Daten über den Benutzer wie zum Beispiel E-Mail Adresse, Telefonnummer, Hobbys usw.
0. Einführung in die Internet-Dienste - 39 -
Bei Finger ist zu beachten, daß die Ausgabe je nach Konfiguration variieren kann und dem Client die genaue Rechneradresse bekannt sein muß, wenn er an die Informationen gelangen will.
Auf vielen Server ist der Finger-Dämon deaktiviert, oder er läuft nur mit Einschränkungen, denn dieser Dienst stellt ein gewisses Sicherheitsrisiko dar, da er die doch recht persönlichen Benutzerdaten der Öffentlichkeit zur Verfügung stellt.
18 Gopher
Der Gopher Internet-Dienst kann als Vorgänger des World Wide Web betrachtet werden. Entwickelt wurde Gopher an der Universität von Minnesota. Auf einem Gopher-Server werden Informationen in Menüform angeboten, und ein Benutzer kann zwischen den verschiedenen Menüpunkten auswählen. Hinter den einzelnen Menüpunkten verbergen sich logische Verbindungen (Links), die auf unterschiedliche Dokumente beziehungsweise andere Gopher-Server verweisen. Da hinter den Menüpunkten des Einstiegsmenüs auch weitere Untermenüs stehen können, hat Gopher einen hierarchischen Aufbau, ähnlich einem Dateisystem. Der Hauptunterschied zwischen Gopher und dem WWW besteht darin, daß Gopher ausschließlich textorientiert arbeitet. Will sich ein Benutzer die auf einem Gopher-Server angebotenen Grafik- oder Sound-Dateien ansehen, so muß er diese Daten zunächst auf seinen Rechner downloaden, um sie dann mit einem entsprechenden Viewer-Programm betrachten beziehungsweise abspielen zu können.
Der Grundgedanke bei der Entwicklung von Gopher war, Texte aller Art zentral über eine einheitliche Schnittstelle anzubieten. Tatsächlich liegen die Dokumente aber in der Regel verteilt zum Beispiel auf den lokalen Institutsrechnern. Aus diesem Grund wird Gopher auch als Distributed Document Delivery System bezeichnet, das auf einer Client-Server Architektur basiert. Grundlage des Internet Gopher Protocol ist wie bei fast allen Internet-Diensten eine TCP/IP Verbindung (siehe Anhang - Abbildung 2, Zeile 46 und 47).
18 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 177 ff
0. Einführung in die Internet-Dienste - 40 -
Mitte 1992 wurde die Erweiterung Gopher+ veröffentlicht, wodurch die Funktionalität von Gopher noch verbessert wurde. Während bei Diensten wie FTP oder TELNET dem Benutzer der Name des jeweiligen Rechners bekannt sein muß, auf dem die gewünschte Information liegt, wird der User bei Gopher von dieser Aufgabe entbunden. Im Gegensatz zu WAIS und dem World Wide Web liegen die Einschränkungen von Gopher in der begrenzten Zahl der unterstützten Dateiformate und Dienste. Derzeit kann Gopher lediglich ASCII-
19 Texte (Abkürzung für American Standard Code for Information Interchange ) ausgeben.
Um mit Gopher arbeiten zu können, benötigt der Benutzer einen zeichenorientierten oder graphischen Gopher-Browser, wobei der Gopher-Dienst selbst aber, wie bereits oben erwähnt, grundsätzlich zeichenorientiert arbeitet.
WAIS 20
Mit WAIS (Wide Area Information Server) ist eine einfache Volltextsuche auf weltweit verteilten Datenbeständen möglich. Neben Textdokumenten in den unterschiedlichsten Formaten werden zunehmend auch multimediale Dokumente über WAIS zugänglich gemacht. Das Informationsangebot der Dokumente umfaßt Themen wie zum Beispiel das der Archäologie, Biologie, Chemie, Geschichte oder Physik. Auch literarische Texte, Wetterberichte, Softwarekataloge, Informationen über das Internet und vieles mehr werden auf WAIS-Servern der Öffentlichkeit zur Verfügung gestellt. WAIS wurde im Oktober 1989 unter der Leitung von Brewster Kahle, Thinking Machines Corporation, in Zusammenarbeit mit Apple Computer, KPMG Peat Marwick, Dow Jones & Co. und Thinking Machines entwickelt. Seit dem Frühjahr 1991 steht dieser Dienst auch der Internet Gemeinde zur Verfügung und hat sich außerordentlich schnell verbreitet. Diese führte auch zu einer raschen Weiterentwicklung des Systems durch die Anwender, Entwickler, Normierungsgremien, Verlage und Bibliotheken, die mit dem Dienst intensiv arbeiteten. Im Sommer 1992 wurde WAIS auch kommerziellen Anbietern
19 vgl. Krückeberg, Spaniol 1990, S. 26
20 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 127 ff
0. Einführung in die Internet-Dienste - 41 -
zugänglich gemacht. In diesem Zusammenhang wurde WAIS Inc. als unabhängige Organisation gegründet.
Auch WAIS arbeitet, wie zu erwarten war, nach dem Client-Server Konzept. Die Clients kommunizieren mit den Servern über ein standardisiertes Protokoll aus der Bibliothekswelt, dem Z39.50 NISO Information Retrival Service and Protocol Standard (siehe Anhang - Abbildung 2, Zeile 109).
WAIS setzt sich aus insgesamt vier Komponenten zusammen: dem Client, dem Server, der Datenbank und dem Protokoll. Die Hauptkomponenten sind hierbei der eigentliche Server und die Datenbank. Der Server ist für die Bearbeitung der Anfragen und die Durchführung der Suche zuständig, die Datenbank beinhaltet den WAIS-Index und die Originaldaten. Um auf die Datenbestände eines WAIS-Servers zugreifen zu können, benötigt ein Client neben einer IP-Anbindung einen zeichenorientierten oder graphischen Browser, wobei ein graphischer Browser vorzuziehen ist, da er für unerfahrene Benutzer leichter zu bedienen ist.
Das World Wide Web 21
Beim World Wide Web (WWW) handelt es sich derzeit um den am weitesten in der Entwicklung fortgeschrittenen Informationsdienst des Internet. Anfang 1989 versuchte man am CERN, dem europäischen Zentrum für Teilchenphysik bei Genf ein System zu entwickeln, mit dem die Angehörigen des Instituts auf einfache Weise auf die Fülle der vorhandenen Daten zugreifen konnten. Bei vielen größeren Unternehmen gibt es oftmals das Problem, daß mehrere Hard-und Software-Plattformen vorhanden sind, die untereinander nicht kompatibel sind. Dies war auch beim CERN-Institut der Fall. Für einen Angehörigen der Organisation war es nahezu unmöglich, auf für ihn relevante Informationen zuzugreifen. Daraufhin machten sich Mitarbeiter des CERN daran, ein auf Client-Server Architektur begründetes, hypertextbasiertes System zu entwickeln. Die Besonderheit eines Hypertextdokumentes besteht in der Möglichkeit, jedes Wort als Verweis auf ein weiteres Hypertextdokument zu definieren. Klickt ein Leser auf ein so gekennzeichnetes Wort, öffnet er damit
21 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 329 ff
0. Einführung in die Internet-Dienste - 42 -
ein weiteres Hypertextdokument, wobei es keine Rolle spielt, ob das Dokument auf dem lokalen Server oder auf einem externen Rechner am anderen Ende der Erde liegt. Ein klassisches Beispiel für Hypertextdokumente ist die Microsoft Windows Hilfe. Hypertextdokumente werde mit Hilfe der HyperTextMarkup Language (HTML) erstellt. Client und Server kommunizieren beim World Wide Web über das HTTP-Protokoll (HyperText Transfer Protocol). Auf das Protokoll HTTP wird später in Kapitel 0 dieser Diplomarbeit näher eingegangen.
Der erste Prototyp eines WWW-Systems wurde 1990 unter der Verwendung der Kommunikationsprotokolle TCP/IP auf NeXT-Rechnern entwickelt. Als Ende 1991 in den „CERN-Newsletter“ das System erstmals einer größeren Öffentlichkeit bekannt gemacht wurde, war das WWW zu dieser Zeit schon auf den meisten CERN-Servern verfügbar. Mitte 1992 wurde das erste WWW-Software Paket veröffentlicht. In ihm war die Serversoftware, ein zeilenorientierter und ein X11/Motiv Client enthalten. Somit konnte durch die freie Verfügbarkeit des Programmcodes auch außerhalb des CERN an der Weiterentwicklung des World Wide Web gearbeitet werden. Während im Januar 1993 mehr als 50 öffentlich zugängliche Webserver existierten, nahm man in Deutschland noch keine allzu große Notiz vom WWW, da man zu dieser Zeit Gopher als Informationsdienst favorisierte. Letztlich war es der Eigeninitiative einzelner Universitätsangehöriger zu verdanken, daß Mitte 1993 auch in Deutschland die Anzahl der Webserver allmählich zunahm. Zu Beginn des Jahres 1994 konnte man ca. 800 WWW-Server weltweit zählen, davon etwa 100 in Deutschland.
0. Einführung in die Internet-Dienste - 43 -
Einsatzmöglichkeitenvon Internet-Diensten
Nach dem groben Überblick über die wesentlichen Informationsdienste des Internet in den Kapiteln 0 bis 0, sollen in den folgenden zwei Kapiteln allgemeine Einsatzmöglichkeiten dieser Dienste betrachtet werden, wobei zwischen internen und externen Diensten unterschieden werden soll.
In Kapitel 0 werden dann diejenigen Internet-Dienste herausgestellt, die für die Fachhochschule Ludwigshafen von Bedeutung sind.
22 Interne Dienste
Im Zusammenhang mit Informationstechnologie ist Workgroup-Computing ein Schlagwort dieser Tage. Man versteht darunter die Zusammenarbeit mehrerer Mitarbeiter eines Unternehmens beziehungsweise einer Institution an einem oder mehreren Projekten. In diesem Zusammenhang ist es von entscheidender Bedeutung, den Angehörigen einer Organisation für diese relevante, institutsinterne Informationen schnell und einfach zur Verfügung zu stellen. Mit den nachfolgenden Beispielen soll gezeigt werden, wie durch den Aufbau von internen Informationsservern (= Intranet. Siehe Kapitel 0) diesen Anforderungen Rechnung getragen werden kann:
• Mit einem WWW- oder Gopher-Server können den Mitarbeitern in
Dokumenten Informationen zum Beispiel über aktuelle Pressemitteilungen, allgemeine Richtlinien und die Organisationsstruktur der Einrichtung, die Unternehmensbilanz, das aktuelle Telefonverzeichnis und vieles mehr zur Verfügung gestellt werden.
• Mit einem WAIS-Server könnte ein Suchsystem aufgebaut werden, mit dem
Anwender nach bestimmten Dokumenten suchen können.
• Mit einem FTP-Server wäre es möglich, daß die Mitarbeiter einer
Organisation auf die aktuellsten Versionen zum Beispiel einer hauseigenen Individualsoftware zugreifen können.
22 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 30
0. Einführung in die Internet-Dienste - 44 -
• Miteinem Mail-Server könnten Mail-Listen erstellt werden, so daß zum
Beispiel Angestellte, die an dem selben Projekt arbeiten, unter einer E-Mail Adresse zusammengefaßt werden.
Natürlich gibt es noch viele andere Einsatzmöglichkeiten, die hier aus Platzgründen nicht aufgezählt werden können. Jede Institution muß letztlich selbst entscheiden, welche Verwendungszwecke von Internet-Diensten für sie von Bedeutung sein können.
23 Externe Dienste
Zu den externen Diensten zählen alle Informationsdienste des Internet, die der Öffentlichkeit ohne Einschränkungen zur Verfügung stehen. Auch hier sind der Phantasie, was den Einsatz von Internet-Diensten betrifft, im Prinzip keine Grenzen gesetzt. Die Dienste lassen sich auch problemlos miteinander kombinieren, je nachdem, welchen Zweck eine Organisation mit dem Einsatz der Informationsdienste verfolgt. Hier einige Beispiele:
• Durch die ständige Weiterentwicklung von WWW-Server- und Client-
Software eröffnet sich einer Institution mit der Einrichtung eines WWW-Servers ein enormes Nutzungspotential. Das World Wide Web eignet sich ausgezeichnet für die Außendarstellung einer Organisation. So können neben multimedialen Produktinformationen auch ganze hypertextbasierte Online-Bücher und Zeitschriften veröffentlicht werden. Durch den gezielten Einsatz von HTML-Formularen kann ein Benutzer schnell und unkompliziert mit einer Institution Kontakt aufnehmen. Über solche Online-Formulare kann ein Client zum Beispiel E-Mail abschicken, Termine vereinbaren, Bestellungen aufgeben oder den Online-Support eines Unternehmens in Anspruch nehmen.
• Durch den Einsatz eines FTP-Servers kann ein Unternehmen die neuesten
Beta- und Shareware-Versionen seiner selbsterstellten Software der breiten Öffentlichkeit zur Verfügung stellen. So stellen auch viele Hardware-Hersteller für ihre Kunden ein FTP-Archiv in Zusammenhang mit einer WAIS-Datenbank zur Verfügung, so daß die Kunden nach den neuesten
23 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 32
0. Einführung in die Internet-Dienste - 45 -
Software-Treibern für ihre Hardware-Komponenten suchen und diese downloaden können.
• Richtet ein Unternehmen einen Mail-Server ein, so kann es durch den
Einsatz von Mailing-Listen (wie zum Beispiel Majordomo) interessierten Clients die Möglichkeit bieten, sich in diese Listen eintragen zu lassen. Auf diese Weise werden die registrierten Clients über die neuesten, die Einrichtung betreffende Informationen und Produkte informiert.
Welche Dienste sind für die Fachhochschule Ludwigshafen interessant?
Nachdem nun in den beiden vorangegangenen Abschnitten allgemeine Beispiele für den Einsatz von Internet-Informationsdiensten gegeben worden sind, sollen die Dienste nun bezüglich ihrer Eignung für die Fachhochschule Ludwigshafen, die ja die Rolle eines Informationsanbieter im Internet übernehmen soll, überprüft werden. Dazu sollen folgende Bewertungskriterien zu Grunde gelegt werden.
1. Der Dienst sollte möglichst einfach in die Hard- und Softwarelandschaft der Fachhochschule integrierbar sein.
2. Der Dienst sollte möglichst flexibel einsetzbar sein.
3. Technisch sollte der Dienst auf dem neuesten Stand und möglichst zukunftssicher in bezug auf seine Weiterentwicklung sein.
4. Mit dem Dienst sollte ein möglichst großes Spektrum von Benutzern des Internet angesprochen werden können.
5. Dem Benutzer sollten die für ihn relevanten Informationen möglichst schnell zur Verfügung stehen.
0. Einführung in die Internet-Dienste - 46 -
6. Der administrative Aufwand bezüglich der Informationsbereitstellung sollte für die Fachhochschule möglichst gering sein.
Tabelle 2: Internet-Dienste im Vergleich
In Tabelle 2 wurden diese Kriterien auf die in den Abschnitten 0 bis 0 beschriebenen Informationsdienste angewandt und mit den Skalenwerten gering, mittel und hoch bewertet, wobei die Dienste Telnet und Finger nicht berücksichtigt wurden, da es sich bei diesen Diensten vielmehr um Internet-Tools handelt und sie sich daher weniger für den Einsatz als Informationsserver eignen. Auch WAIS wurde bei der Bewertung nicht näher berücksichtigt, da es sich bei diesem Dienst eher um eine Zusatzfunktion für einen primären Informationsdienst handelt. Außerdem gibt es für WAIS mittlerweile CGI-Skript-Alternativen (siehe Kapitel 0 f) in Zusammenhang mit einem WWW-Server, die wesentlich einfacher zu installieren sind und in ihrer Funktionalität einem eigenständigen WAIS-Server in nichts nachstehen.
Betrachtet man nun den E-Mail-Dienst in der Tabelle, so fällt zunächst der geringe Integrationsaufwand und die große Zahl an Benutzern, die mit diesem Dienst erreicht werden können, positiv auf. Durch die geringe Geschwindigkeit bei der Informationsübermittlung und den hohen administrativen Aufwand eignet sich E-Mail allerdings nur bedingt als alleiniger Informationsdienst. Unter der Geschwindigkeit bei der Informationsübermittlung darf hier allerdings nicht die tatsächliche Übertragungszeit einer E-Mail-Nachricht vom Absender zum Empfänger verstanden werden. Hiermit ist vielmehr die Zeitspanne gemeint, die entsteht, bis die von einem Client angeforderten Informationen diesem zur Verfügung stehen. Sucht zum Beispiel ein Anwender ein bestimmtes
24 Wie schnell kann ein Benutzer auf für ihn relevante Informationen zugreifen?
0. Einführung in die Internet-Dienste - 47 -
Dokument, so muß er zunächst eine Anfrage an die betreffende Organisation per E-Mail abschicken. Die Anfrage wird dann vom Empfänger bearbeitet, und das gewünschte Dokument kann, sofern vorhanden, wiederum per E-Mail an den Absender zurückgeschickt werden. Bei dieser Art der
Informationsbereitstellung können Minuten, aber auch mehrere Tage vergehen, bis die Informationen beim anfragenden Benutzer angekommen sind, je nachdem, wie stark der jeweilige Sachbearbeiter eines Informationsdienstes ausgelastet ist. Aufgrund dieser Tatsache läßt sich auch der relativ hohe administrative Aufwand erklären, der bei einem E-Mail-Informationsdienst entsteht, da der Informationsanbieter in der Regel jede einzelne E-Mail individuell bearbeiten muß.
Ähnlich wie bei E-Mail fallen auch bei FTP der geringe Integrationsaufwand und das große Benutzerspektrum positiv auf. Aber auch hier ist die Zeitspanne, bis ein Benutzer die gewünschten Informationen zur Verfügung hat, noch relativ groß. Oft sind die Bezeichnungen der Dateinamen in einem FTP-Archiv nicht sonderlich aussagefähig, und meist liegen die Daten zusätzlich noch in komprimierter Form vor. Interessiert sich ein Client für eine bestimmte Datei, so muß er diese nach dem Herunterladen auf seinen lokalen Rechner in der Regel zuerst mit einem speziellen Programm entpacken, bevor er an den Inhalt der Datei herankommt. Oftmals stellt man erst nach dem Dekomprimieren fest, daß die Datei gar nicht die gewünschte Information enthält, die man eigentlich gesucht hat. Es bleibt einem dann nichts anderes übrig, als sich erneut auf die Suche nach den entsprechenden Daten zu machen.
Dennoch sind E-Mail- und FTP-Dienste nicht mehr aus dem Internet wegzudenken. Daher wurde im Rahmen dieser Diplomarbeit neben dem primären Informationsdienst auch ein FTP-Server eingerichtet. Dieser Server dient lediglich zu Testzwecken und zum Bereitstellen einer kleinen Auswahl von Internet-Software. Eine Beschreibung der Installation des FTP-Dämons würde den Rahmen dieser Diplomarbeit sprengen. Der Server sei daher als gegeben vorausgesetzt und kann mit jedem beliebigen FTP-Client Programm unter der Adresse www.fh-ludwigshafen.de besucht werden. Als Benutzername kann der
25 Wie hoch ist der Aufwand für den Informationsanbieter, um einem Benutzer relevante Informationen
0. Einführung in die Internet-Dienste - 48 -
globale FTP-User anonymous oder ftp verwendet werden. Zur Identifikation muß lediglich die jeweilige E-Mail Adresse eingegeben werden. Noch einfacher kann man mit einem World-Wide-Web-Browser auf das FTP-Archiv der Fachhochschule zugreifen. Dazu richtet man den Browser auf die Adresse ftp://www.fh-ludwigshafen.de. Eine Benutzer-Identifizierung ist in diesem Fall nicht notwendig.
Für die Installation eines E-Mail Server für die Fachhochschule war deshalb kein Bedarf vorhanden, da der UNIX-Server Obelix (siehe Abbildung 16) der Hochschule bereits die Funktion eines SMTP- bzw. POP3-Servers erfüllt.
Bei der Einrichtung des primären Informationsdienstes für die Fachhochschule galt es nun, sich für den Einsatz eines Gopher- oder WWW-Servers zu entscheiden. Bei beiden Diensten stehen einem Client die gewünschten Informationen sofort zur Verfügung, und auch der administrative Aufwand ist bei beiden relativ niedrig. Betrachtet man die Grafiken in Abbildung 14 und Abbildung 15, die auf Daten des NFSNET (National Science Foundation Network) basieren und die Häufigkeit, mit der die Dienste FTP, Gopher und WWW nachgefragt worden sind, aufzeigen, wird deutlich, daß die WWW-Server einen erheblichen Vorsprung in bezug auf die Anzahl von Benutzeranfragen gegenüber dem Gopher-Dienst haben. Während die Anfragen an Gopher-Server in den letzten Jahren eher konstant geblieben sind, ist bei den WWW-Servern ein exponentielles Wachstum feststellbar. Die hieraus ersichtliche Popularität des World Wide Web läßt somit auch den Schluß zu, daß dieses Informationssystem wahrscheinlich die besseren Chancen hat, auch in Zukunft weiterentwickelt zu werden. Allerdings soll hier nun nicht der Eindruck entstehen, daß sich Gopher grundsätzlich nicht als Internet-Informationsdienst eignet. Nach wie vor gibt es hervorragende Gopher-Archive, die von Clients regelmäßig besucht werden. Im Zeitalter von Multimedia sollte allerdings beim kompletten Neuaufbau eines
Informationsdienstes die Chance, hierfür die neueste Servertechnologie zu nutzen nicht vertan werden. Nicht zuletzt aus diesem Grund fiel die
zur Verfügung zu stellen?
0. Einführung in die Internet-Dienste - 49 -
Entscheidung bei der Auswahl des primären Informationsdienstes für die
Fachhochschule Ludwigshafen zu Gunsten eines WWW-Servers aus
0. Anforderungen an System und Netz - 52 -
Anforderungenan System und Netz
Nachdem in den vorangegangenen Kapiteln die wesentliche Theorie des Internet und der Entscheidungsprozeß zur Einrichtung eines WWW-Servers für die Fachhochschule geschildert worden ist, geht es im folgenden um die praktische Umsetzung dieses Projektes. Da die Auswahl des Betriebssystems, der Hardware und der Netzanbindung für die Einrichtung eines Internet-Informationsdienstes von entscheidender Bedeutung ist, wird diese Thematik in den folgenden Abschnitten näher behandelt. Nach Klärung der Frage, welches Betriebssystem verwendet werden soll, wird dann geprüft, welche Hardwarekomponenten für die Installation notwendig sind. Schließlich wird noch darauf eingegangen, wie das System an das Internet angeschlossen werden kann. Diese Reihenfolge bei der Vorgehensweise sollte strikt eingehalten werden, denn nur so schützt man sich vor Fehlentscheidungen und letztlich auch vor Fehlinvestitionen bezüglich des Soft- und Hardwareeinsatzes.
Auswahl des Betriebssystems für einen Internetserver
Für fast alle Betriebssysteme gibt es mittlerweile Internet-Server beziehungsweise WWW-Server-Software. Obwohl es heute für DOS-Rechner, Windows 95 und Windows NT bis hin zu MAC-Systemen Server-Software gibt, benutzen sehr viele, wenn auch nicht alle Internet-Server eines der UNIX-Derivate wie zum Beispiel IRIX, SUN-OS, ULTRIX, AIX, HP-UX und schließlich auch Linux. Dies liegt neben der Tatsache, daß die Grundlagen des Internet auf UNIX-Rechnern entwickelt worden sind, auch daran, daß UNIX zur Zeit die Plattform ist, die sich am besten für einen Internet-Informationsdienst eignet. UNIX unterstützt nämlich die Informationsübermittlung zu verschiedensten Plattformen, darunter PCs und MACs.
Abbildung 16 zeigt grob die Situation der Netzwerklandschaft, wie sie zur Zeit des Aufbaus des WWW-Servers aktuell war. Bei den mit Asterix und Obelix bezeichneten Servern handelt es sich um UNIX-Maschinen. Der Server Asterix fungiert in dieser Konstellation in Zusammenhang mit einer X-25 Untervermittlung als Router zum Wissenschaftsnetz (WIN), das vom DFN-
0. Anforderungen an System und Netz - 53 -
Verein betrieben wird und über den die Fachhochschule Zugang zum Internet hat.
Abbildung 16: Konfiguration des Netzwerkes zur Zeit des Aufbaus des WWW-Servers
Um nun die Einrichtung des WWW-Servers nicht unnötig zu erschweren und um Integrationsprobleme in das vorhandene Netzwerk zu vermeiden, lag der Entschluß nahe, den Dienst auf einem UNIX-System zu installieren.
UNIX ist seit 1975 in verschiedenen Versionen auf den unterschiedlichsten Rechnerplattformen verfügbar. Aufgrund der Tatsache, daß die wesentlichen Teile von UNIX in der Programmiersprache C geschrieben sind, ist es relativ einfach, ein UNIX-System verschiedensten Rechnerplattformen zu installieren. Weitere wesentliche Merkmale von UNIX sind das hierarchische Prozeßkonzept und das hierarchische Dateisystem mit individuellen Zugriffsrechten. Somit bietet UNIX eine umfangreiche Entwicklungsumgebung an, mit der Programme leichter konzipiert und implementiert werden können.
0. Anforderungen an System und Netz - 54 -
Mit einer Kommandosprache (shell genannt) kann ein Benutzer wie mit einer
26 Programmiersprache Programme ausführen und miteinander verknüpfen .
Entscheidung für Linux als Betriebssystem
Wie bereits oben erwähnt, gibt es UNIX in den verschiedensten Versionen und für die unterschiedlichsten Hardware-Plattformen. Die genannten Derivate wie zum Beispiel HP-UX oder AIX haben alle einen gemeinsamen Nachteil. Sie sind sehr teuer, da sie nur als komplettes System inklusive Hardware ausgeliefert werden. Für ein solches Komplettsystem fallen schnell Kosten in Höhe von mehreren zehntausend DM an. Dies war für ein im Aufbau befindliches WWW-Testsystem für die Fachhochschule zu kostspielig. Natürlich wäre es auch möglich gewesen, den WWW-Server zunächst auf einen der Server Asterix beziehungsweise Obelix zu installieren. Da auf diesen Rechnern aber noch andere, für die Fachhochschule wichtige Programm wie zum Beispiel das SAP-R3-System installiert sind, wäre das Sicherheitsrisiko, den WWW-Server auf diesen Maschinen zu installieren, zu groß gewesen. Da man bei der Einrichtung eines externen Informationsdienstes der Öffentlichkeit uneingeschränkten Zugang auf den Server gewähren muß, hätte man bei der Einrichtung des Dienstes auf einem vorhandenen UNIX-Rechner der Hochschule potentiellen Hackern leichten Zugang zu den empfindlichste Daten gewährt.
Durch den Einsatz von Linux als Betriebssystem für den WWW-Server konnte zunächst die Kostenfrage geklärt werden, denn Linux ist sehr preisgünstig. Eine voll funktionsfähige Linux-Version ist bereits ab DM 50 erhältlich. Auch in bezug auf die Hardware ist Linux sehr genügsam. Das System funktioniert bereits auf einem handelsüblichen PC mit einem 386er Prozessor, wobei eine höhere Prozessorleistung die Performance natürlich verbessert. Somit lassen sich die Hardwarekosten für einen WWW-Server auf einen Bereich zwischen DM 1.500 und 3.000 reduzieren. Folglich kann der WWW-Dämon auf einem speziell dafür vorgesehenen Linux-Server laufen, wodurch die oben genannten Sicherheitsrisiken zwar nicht vollständig, aber zumindest in einem vertretbaren Maß reduziert werden.
26 Engesser, Claus 1988, S. 80f
0. Anforderungen an System und Netz - 55 -
Bei Linux handelt es sich um eine voll funktionsfähige UNIX-Version, die sowohl Server- als auch Client-Programme der Basisdienste wie zum Beispiel E-Mail, Telnet, FTP usw. beinhaltet. Aus diesem Grund eignet sich Linux auch ausgezeichnet für den Einsatz als Internet-Server. Außerdem unterstützt Linux standardmäßig das Protokoll TCP/IP, so daß diesbezüglich keine zusätzliche Software zur Implementierung notwendig ist, wie dies bei vielen anderen Betriebssystemen häufig der Fall ist.
Wie viele andere UNIX-Versionen, so zeichnet sich auch Linux durch eine ausgezeichnete Flexibilität aus. Auch Linux wird ständig weiterentwickelt und verbessert.
Entwickelt wurde Linux 1991 von dem Finnen Linus Torvalds, der im Rahmen eines Schulprojektes ein Mini-Unix System (Minix) entwickelte. Im Laufe des Jahres verbesserte er das System in eigener Regie, und aus Minix wurde Linux. Heute arbeiten weltweit Benutzer aus den unterschiedlichsten Fachrichtungen zum größten Teil in ihrer Freizeit, - daher wohl auch der günstige Preis -, an der Weiterentwicklung des Systems.
Auch wenn Linux nicht hundertprozentig den vollen Funktionsumfang anderer UNIX-Versionen unterstützt, so gibt es dennoch keinen Grund, daß sich Linux hinter diesen Derivaten verstecken müßte. Genau wie seine „großen Brüder“ hat Linux zum Beispiel folgende herausragenden Eigenschaften:
• Echtes Multitasking:
Nur wenige Betriebssysteme unterstützen echtes Multitasking. Bei vielen Systemen hat der Benutzer zwar den Eindruck, daß er mehrere Programme zur gleichen Zeit laufen lassen kann, oft werden aber die Prozesse, die im Hintergrund laufen, vom Betriebssystem entweder gestoppt oder nur äußerst spärlich mit Ressourcen-Leistung versorgt.
Bei Linux wird jedem Prozeß soviel Rechenleistung zugeteilt, wie zu seiner Verarbeitung notwendig ist, unabhängig davon, ob er im Hintergrund läuft oder nicht.
0. Anforderungen an System und Netz - 56 -
• AngemessenesSpeichermanagement:
Die effiziente Speicherverwaltung ist ein weiteres wichtiges Kriterium, welches ein gutes Betriebssystem erfüllen sollte. Viele Betriebssysteme geben den Speicher, den ein Programm für seine Ausführung belegt hat, auch dann nicht mehr frei, wenn der Prozeß schon längst beendet ist. Diese Verschwendung wichtiger Ressourcen kann im schlimmsten Fall zu einem kompletten Systemabsturz führen.
Linux ist dagegen mit einer effizienten Speicherverwaltung ausgerüstet. Dies trägt neben einer besseren Performance auch dazu bei, daß mehrere Programme gleichzeitig ausgeführt werden können.
• Unterstützung von TCP/IP:
Bei den meisten Betriebssystemen für PCs ist TCP/IP nicht standardmäßig implementiert. Dieses Protokoll ist jedoch die Grundvoraussetzung, um mit einem Rechner eine Verbindung zum Internet herstellen zu können. Daher sind diese Betriebssysteme erst durch den Einsatz von
Konvertierungsprogrammen in der Lage, eine Verbindung zwischen den internen Protokollen des Computers und dem TCP/IP-Protokoll des Internet herstellen zu können.
Linux dagegen benutzt TCP/IP standardmäßig für die interne Kommunikation, wodurch auf diese Konvertierungsprogramme verzichtet werden kann. Außerdem wird dadurch ein schnellerer Verbindungsaufbau zum Internet möglich, und die Fehlerwahrscheinlichkeit bei der Datenübertragung geht zurück.
Auswahl der Hardware für einen Internetserver
Auch bei der Auswahl der Hardware für einen Internet-Server unter Linux sollte sorgfältig vorgegangen werden. Daher sollte vor der Einrichtung des Dienstes der Einsatz der entsprechenden Hardware genau geplant werden, da spätere Veränderungen während des laufenden Betriebs häufig mit Schwierigkeiten und Stillstand des Systems verbunden sind.
0. Anforderungen an System und Netz - 57 -
Im Verlauf dieses Abschnitts soll nun auf die wesentlichen Hardware-Komponenten, die für den Betrieb eines Linux-Servers von Bedeutung sind, eingegangen werden.
Bei der Hardwareauswahl für einen Linux-Server spielt der geplante Verwendungszweck des Servers eine nicht unwesentliche Rolle. So gibt es Komponenten, die bezüglich des Einsatzes des Servers nur eine untergeordnete Bedeutung haben, während andere von entscheidender Bedeutung für die Funktionalität des Dienstes sind. Soll der Server zum Beispiel als WWW-Server eingesetzt werden, so spielt zum Beispiel die Ausstattung der Grafikkarte so gut wie keine Rolle. Dagegen ist aus der Sicht eines Clients dieser Komponente wieder eine größere Bedeutung zuzumessen, wenn er sich mit einem Browser die auf einem WWW-Server angebotenen Grafiken ansehen will. Diese Argumentation kann auch auf den Einsatz einer Soundkarte für einen Internet-Server übertragen werden, da auf einem Server etwaige Sounddateien lediglich angeboten und nicht unbedingt abgespielt werden müssen.
Auch auf den Einsatz eines CD-Rom-Laufwerkes könnte problemlos verzichtet werden, jedoch ist es sehr hilfreich bei der Installation von Software, die in der Regel nur noch auf diesem Medium ausgeliefert wird.
Ein WWW-Server wird unumstritten auch ohne ein angeschlossenes Backup-Bandlaufwerk funktionieren. Ist der Internet-Server in ein Netzwerk integriert, so ist es in der Regel möglich, seine Daten durch einen zentralen Backup-Server (falls vorhanden) sichern zu lassen. Besteht jedoch keine Möglichkeit, eine Datensicherung auf diese Weise durchzuführen, empfiehlt es sich auf jeden Fall, ein Bandlaufwerk anzuschaffen. Hat man bei einem Systemausfall keine geeigneten Sicherungskopien, so heißt dies: Noch mal von vorn! Diese „schmerzliche“ Erfahrung mußte auch der Autor dieser Diplomarbeit machen, als ein paar Wochen nach erfolgreicher Installation des WWW-Servers für die Fachhochschule die Festplatte der Maschine ausfiel und der Server komplett neu eingerichtet werden mußte. Daher an dieser Stelle eine Empfehlung in eigener Sache: Bei einem Bandlaufwerk sollte nicht an der falschen Stelle gespart werden, - lieber einmal zuviel gesichert, als einmal zu wenig.
0. Anforderungen an System und Netz - 58 -
Eine wesentliche Auswirkung auf die Performance des Systems hat die Leistung des Prozessors (CPU). Die Leistungsfähigkeit der CPU wirkt sich direkt auf die Geschwindigkeit aus, mit der einzelne Prozesse abgearbeitet werden können. Soll der Linux-Rechner lediglich als Einzelplatzrechner mit einem oder maximal zwei anderen Benutzern betrieben werden, so genügt ein 486DX33 Prozessor. Beim Einsatz des Rechners als Server, auf den weit mehr Benutzer zugreifen sollen, müssen Prozessoren mit höherer Leistungsfähigkeit verwendet werden (siehe Tabelle 3). Bei der Leistung des Prozessors hängt es
auch davon ab, wie schnell einzelne Programme kompiliert 27 werden können. Bei einem 486DX-2 66 kann das kompilieren eines Programmes, je nach Umfang, mehrere Stunden in Anspruch nehmen.
Tabelle 3: Auswirkung der CPU-Geschwindigkeit auf Benutzerzahl und Einsatzmöglichkeiten
Auch die Menge an verfügbarem Erweiterungsspeicher (RAM) beeinflußt die Leistungsfähigkeit eines Servers. Je mehr RAM einem Rechner zur Verfügung steht, um so mehr und schneller können unterschiedliche Prozesse gleichzeitig abgearbeitet werden. Somit wirkt sich mehr RAM auch positiv auf folgende Internet-Dienste aus:
• Bessere Verarbeitung von Mailing-Listen
• Bessere Performance bei einem News-Server
• Gleichzeitige Verarbeitung mehrerer Web-Seiten-Anfragen
• Schnellere Antwortzeiten bei Anfragen an einen Gopher-Server
27 Unter UNIX müssen die meisten Programm erst in den C-Programmcode übersetzt werden.
0. Anforderungen an System und Netz - 59 -
Für alle oben genannten Fälle gilt: Je mehr RAM ein Server besitzt, um so mehr Prozesse (zum Beispiel Web-Seiten, E-Mails, Gopher-Dateien) können simultan verarbeitet werden. Tabelle 4 stellt nochmals den Zusammenhang zwischen RAM, der maximalen Anzahl von Benutzern und der Einsatzmöglichkeit eines Servers dar.
Tabelle 4: Zusammenhang zwischen RAM und Leistungsfähigkeit des Systems
Ein weiterer, in seiner Bedeutsamkeit nicht zu unterschätzender Ausstattungsgegenstand ist die Festplatte eines Rechners. Bei der Auswahl dieser Komponente sollte vor allem auf Qualität und Zuverlässigkeit des Produktes geachtet werden. Sicherlich kann die Auswahl qualitativ hochwertiger Komponenten einen Hardwaredefekt nicht hundertprozentig ausschließen, was der oben erwähnte Platten-Crash beweist, obwohl das Gerät von einem bekannten Hersteller stammte, der für hohe Qualität und Zuverlässigkeit bekannt ist.
Was die Speicherkapazität der Festplatte betrifft, so hängt diese ähnlich wie bei der Auswahl der CPU und des zusätzlichen Erweiterungsspeichers unter anderem auch von der Anzahl der geplanten Benutzer und Dienste ab. Die Mindestkapazität liegt bei 200 MByte, die für eine komplette Installation eines Linux-Systems notwendig sind. Soll der Linux-Rechner neben seiner Funktion als Einzelplatzrechner auch als Server für Internet-Dienste verwendet werden, so empfiehlt sich auch in Anbetracht der immer stärker fallenden Preise für Festplatten eine Speicherkapazität von mindestens 850 MByte. Neben der reinen Kapazität spielt auch die Zugriffsgeschwindigkeit, mit der Daten von der Platte gelesen beziehungsweise auf die Platte geschrieben werden, eine nicht unwesentliche Rolle, gerade wenn mehrere Clients gleichzeitig auf einen Dienst zugreifen. So verlangsamen die häufig eingesetzten IDE-Festplatten bei
0. Anforderungen an System und Netz - 60 -
starken Benutzeranfragen die Antwortzeiten eines Servers, da Platten dieses Typs nicht in der Lage sind, mehrere Dateien gleichzeitig zu lesen. Beim Aufbau eines Informations-Servers ist allerdings der Einsatz einer IDE-Platte durchaus vertretbar. Sie ist vom Anschaffungspreis her wesentlich günstiger als eine SCSI-Festplatte, die wesentlich schnellere Zugriffszeiten aufweist und mit der es möglich ist, auf mehrere Dateien gleichzeitig zuzugreifen.
Um einen Linux-Server in ein bestehendes Netzwerk zu integrieren, ist schließlich die Auswahl einer geeigneten Netzwerkkarte als letzte, wesentliche Komponente notwendig. Häufig werden hierfür ISA-Netzwerkkarten eingesetzt, bei denen es kaum nennenswerte qualitative Unterschiede gibt. Beim Kauf sollte lediglich darauf geachtet werden, daß die Karte Treiber für die gängigen Betriebssysteme (in diesem Fall auch für Linux) und Anwendungssoftware besitzt.
Abschließend sind die Hardwarekomponenten aufgelistet, die für den Linux-Server der Fachhochschule Ludwigshafen angeschafft worden sind:
0. Anforderungen an System und Netz - 61 -
28 Art der Netzverbindung
In den Abschnitten 0 und 0 auf Seite 10f wurden die unterschiedlichen Zugangsmöglichkeiten zum Internet erläutert. Dabei wurde erkennbar, daß ein Informations-Dienst erst dann interessant wird, wenn er der Internetgemeinde rund um die Uhr zur Verfügung steht. Zu diesem Zweck ist eine permanente IP-Verbindung zum Internet notwendig. Als mit der Einrichtung des WWW-Servers begonnen wurde, verfügte die Fachhochschule Ludwigshafen bereits über eine solche permanente Verbindung über das Wissenschaftsnetz (siehe Abbildung 16).
Ende 1996 wurde die Netzwerktopologie, wie in Abbildung 17 dargestellt, modifiziert.
Drucker
Abbildung 17: Aktuelle Netzwerktopologie der FH-Ludwigshafen
Wurde in der ursprünglichen Netzwerkkonfiguration noch über den Server Asterix mit einer X-25 Untervermittlung zum Internet geroutet, so übernimmt heute diese Aufgabe ein CISCO-2500 Router. Die 64 kBit Standleitung zur
28 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 35
0. Anforderungen an System und Netz - 62 -
Fachhochschule Worms und der Zugang zum Wissenschaftsnetz blieben bei der Neugestaltung des Netzwerkes jedoch unberührt. Wie in Abbildung 17 zu erkennen ist, wurde der WWW-Server in ein Zwischennetz, das von den beiden CISCO-Routern begrenzt wird, eingebunden. Dabei stellt der CISCO-2500 Router, wie bereits erwähnt, die Verbindung nach außen her, während der CISCO-4500 Router den Datentransfer zwischen dem restlichen Netzwerk der Hochschule und dem Zwischennetz ermöglicht. Somit müssen externe Anfragen an den WWW-Server nicht mehr umständlich über das gesamte Netzwerk geroutet werden, wie dies bei der alten Netzwerktopologie der Fall war. Mit der Einführung des Zwischennetzes wurden somit auch die Weichen
29 30 für den Einsatz eines Proxy - beziehungsweise Firewall -Servers gestellt. In
dieser Netzwerklandschaft wurde nun dem WWW-Server die IP-Nummer: 143.93.196.10 und der Domain-Name www.fh-ludwigshafen.de zugewiesen.
Netzbelastung 31
Die Belastbarkeit eines Netzwerkes mit Datenverkehr ist neben der Hardware ein weiterer wesentlicher Faktor, der die Performance eines Informations-Servers beeinflußt. Diese Netzbelastung ergibt sich aus dem Netzverkehr, der sich aus zwei Arten zusammensetzt: Den Anfragen zum und den Antworten vom Server. Dabei wird die Hauptlast durch die Antworten hervorgerufen, während die Anfragen das Netzwerk nur geringfügig belasten. Anfragen bestehen in der Regel nur aus kurzen Zeichenfolgen wie zum Beispiel Pfadangaben, Dateinamen oder kurzen Befehlssequenzen. So kann zum Beispiel ein WWW-Browser mit einer relativ kurzen Zeichenfolge dem Server mitteilen, auf welches HTML-Dokument oder Ressource er zugreifen will.
Dagegen belastet eine aufgrund einer Anfrage gestartete Antwort die Kapazität eines Netzwerkes in weit höherem Maße. Da im World Wide Web der Trend immer mehr zu multimediaorientierten HTML-Seiten geht, in denen teilweise ganze Videosequenzen enthalten sind, deren Größe oft ab einem Megabyte
29 Server, der häufig angeforderte Web-Dokumente, die auf entfernten Servern liegen zwischenspeichert, so daß bei einer erneuten Anfrage keine Verbindung zum externen Server aufgebaut werden muß. 30 Rechner, der eine Barriere zwischen einem lokalen Netzwerk und dem Internet bildet. Über ihn kann geregelt werden, welche Clients aus dem lokalen Netz ins Internet gelangen dürfen und umgekehrt.
31 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 35
0. Anforderungen an System und Netz - 63 -
aufwärts liegt, kann man sich vorstellen, welche Datenmengen ein Netzwerk verkraften muß. Um nun Netzüberlastungen und damit einen Systemausfall zu vermeiden, sollte ein Informationsanbieter regelmäßig überprüfen, ob sein Netzwerk den Anfragen und Antworten gewachsen ist. Dazu gibt es zunächst die Möglichkeit, den Netzverkehr mit Hilfe von Meßgeräten zu ermitteln. Als Alternative zu dieser mit Kosten verbundenen Möglichkeit kann man auch durch die Auswertung der Log-Files die Netzbelastung berechnen. Diese Files werden von den meisten Informations-Servern automatisch angelegt und registrieren alle Anfragen an beziehungsweise Antworten von dem jeweiligen Dienst. So gibt es im Zusammenhang mit dem an der Fachhochschule installierten WWW-Server eine Log-Datei namens access_log, in der neben der Adresse des anfragenden Client auch das Datum, die Uhrzeit und die Menge an gesendeten Bytes festgehalten werden. In Tabelle 5 ist die Gesamtmenge der Bytes, die vom WWW-Server innerhalb von drei Tagen an Clients gesendet worden sind, aufgelistet, wobei ein Gesamtvolumen von 4,7 MByte errechnet wurde.
Setzt man den Gesamtwert in Gleichung 1 ein, so errechnet sich ein Durchschnittswert von ca. 1,6 MByte pro Tag.
Rechnet man diesen Wert in kBit um (siehe Gleichung 2), so erhält man ein durchschnittliches kBit-Volumen von 12.800 kBit pro Tag.
0. Anforderungen an System und Netz - 64 -
Geht man nun von einer gleichmäßigen Verteilung dieser Datenmenge auf 24 Stunden aus, so erhält man, wie in Gleichung 3 zu sehen ist, eine Netzbelastung von 0,15 kBit pro Sekunde, das heißt, das Netzwerk sollte eine Mindestbandbreite in dieser Größenanordnung aufbringen können.
Wie aus Abbildung 16 zu erkennen ist, besitzt die Fachhochschule Ludwigshafen eine 64 kBit Standleitung zur Fachhochschule Worms, wodurch eine völlig ausreichende Bandbreite gewährleistet ist.
Die eben gezeigte Berechnungsmöglichkeit zur Überprüfung der Netzbelastung ist allerdings erst dann durchführbar, wenn der Informations-Dienst bereits einige Zeit produktiv läuft, da in der Aufbauphase noch keine vernünftigen Daten zur Auswertung in den Log-Files vorhanden sind.
Ein Dienstanbieter sollte diese Berechnungen jedoch regelmäßig durchführen, um zu überprüfen, ob die Bandbreite seines Netzes noch ausreicht, so daß den Benutzern sinnvolle Antwortzeiten geboten werden können.
Personelle Anforderungen 32
Neben den rein technischen Aspekten sollten auch die personellen Anforderungen, die durch die Einrichtung eines Informations-Dienstes entstehen, insbesondere beim Betrieb eines WWW-Servers, berücksichtigt werden. Das heißt, es muß geklärt werden, welche Personen für den Inhalt und die Aktualität der Daten verantwortlich sind. Oftmals übernimmt diese Aufgabe
32 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 40
0. Anforderungen an System und Netz - 65 -
derjenige, der den Dienst auch eingerichtet hat, also der Systemadministrator oder Webmaster.
Bei größeren Institutionen mit komplexen Organisationsstrukturen und unterschiedlichen Aufgabenbereichen wird der Arbeitsaufwand zur Pflege des Informations-Dienstes in der Regel bald so groß, daß er meist von einer einzigen Person allein nicht mehr zu bewältigen ist. Da der Aufgabenbereich eines Systemadministrators meist weit mehr umfaßt als das ständige Aktualisieren von zum Beispiel HTML-Seiten, müssen innerhalb einer Organisation Personen bestimmt werden, sogenannte Datenbibliothekare, die diese Aufgabe für bestimmte Teilbereiche übernehmen. Solche
Datenbibliothekare sollten unter anderem folgende Eigenschaften besitzen:
• Sie sollten zumindest grob über den Aufbau und die Funktionsweise des
Internet beziehungsweise der Dienste im Internet Bescheid wissen.
• Auch sollten sie Erfahrung in der Aufbereitung und der zur Verfügungstellung
von Daten mit Hilfe von Informationsdiensten haben, zum Beispiel in der Erstellung von HTML-Dokumenten.
• Sie sollten auch ein ungefähres Bild von den Benutzern haben, die auf ihren
Informations-Dienst zugreifen, und sich an deren Informationsbedarf orientieren.
• Die Datenbibliothekare sollten sich dabei auch ihrer Rolle als Dienstleister bewußt sein und sich freundlich und geduldig um die Belange der Kunden 33 kümmern.
• Die Datenbibliothekare einer Institution sollten sich auch untereinander
ständig über ihre Aktivitäten informieren, insbesondere auch den Systemadministrator, um zu verhindern, daß in unterschiedlichen Bereichen ständig die gleichen Informationen stehen.
• Sie sollten sich außerdem auf ein einheitliches Erscheinungsbild des
Informations-Dienstes einigen. Auf diese Weise wird das Gesamtsystem für einen Benutzer transparenter und die Wahrscheinlichkeit nimmt zu, daß der Client erneut auf den Dienst zurückgreifen wird.
0. Installation eines Linux-Servers - 66 -
In diesem Zusammenhang haben die Professoren Hannig, Hildebrand und Kursawe der Fachhochschule Ludwigshafen im Mai 1996 einen Arbeitskreis Internet (AKI) ins Leben gerufen, der sich mit den oben genannten Punkten intensiv beschäftigt. Somit gibt es für die einzelnen Fachbereiche und Einrichtungen der Fachhochschule jeweils einen Verantwortlichen, der die Aktivitäten zur Informationsbereitstellung durch den WWW-Server der Hochschule koordiniert.
Installation eines Linux-Servers
Dieses Kapitel beschäftigt sich nun mit der Installation eines Basis-Linux-Betriebssystems, auf dem später die WWW-Server-Software installiert werden soll. Leider gibt es für die Installation von Linux keine allgemein gültige, einheitliche Installationsroutine, wie man das von MS-DOS oder Windows her kennt. So wie es für UNIX unterschiedliche Versionen gibt, existieren auch von Linux verschiedene Distributionen auf dem Markt, bei der jede ein eigenes Installationsverfahren hat. Folglich beziehen sich die nachfolgenden Ausführungen auf die sogenannte Slackware Linux Distribution Version 3.0, die von der Firma delix Computer GmbH, Stuttgart, für die Fachhochschule Ludwigshafen angeschafft worden ist. Der Kernel, also das eigentliche Linux-Betriebssystem, hat bei dieser Distribution die Versionsnummer 1.2.13. In den nachfolgenden Abschnitten soll nun nicht der komplette Installationsvorgang bis in jedes Detail beschrieben werden, da diese Vorgehensweise in Anbetracht der vielen unterschiedlichen Linux-Distributionen zu einseitig wäre. Es gibt allerdings dennoch grundlegende Gemeinsamkeiten bei der Installation von Linux, die bei den meisten Distributionen gleich sind. Die folgenden Kapitel sind daher auf die Beschreibung dieser Ähnlichkeiten beschränkt.
33 Das englische Wort client bedeutet unter anderem auch Kunde!
0. Installation eines Linux-Servers - 67 -
Einrichteneines Base-Linux-Systems mit Slakware
In diesem Abschnitt werden folgende für die Installation von Linux relevanten Schritte behandelt:
• Das Erstellen von Boot-Disketten
• Die Partitionierung der Festplatte
• Installation des Datei-Systems
Vorkehrungen vor der Installation
• Es werden zwei MS-DOS formatierte 3.5“ Disketten mit gleicher
Speicherkapazität (am besten 1,4 MByte) benötigt
• Auf dem Rechner, auf den Linux installiert werden soll, sollte zuvor MS-DOS
installiert sein. Will man allerdings ausschließlich Linux als Betriebssystem verwenden, sollte man zumindest Zugang zu einem DOS-Rechner haben. Auf dem WWW-Server der Fachhochschule Ludwigshafen wurde zunächst MS-DOS installiert.
• Da mittlerweile die meisten Linux-Distributionen auf CD-Rom ausgeliefert
werden, muß man, sofern man kein CD-ROM-Laufwerk besitzt, die entsprechenden Installationsdateien auf Disketten kopieren. Diese Vorgehensweise ist auch dann notwendig, wenn, wie im vorhergehenden Punkt erwähnt, auf dem Rechner, auf den Linux installiert werden soll, noch kein Betriebssystem vorhanden ist, da ein CD-ROM-Laufwerk nur über dieses genutzt werden kann.
• Es sollten alle zur Verfügung stehenden Beschreibungen der verwendeten
Hardware, insbesondere Informationen über die genaue
Markenbezeichnungen und Versionsnummern der Komponenten, bereit liegen.
0. Installation eines Linux-Servers - 68 -
Erstellender Boot- und Root-Disketten
Um Linux zu installieren, müssen zunächst zwei Disketten erstellt werden. Die Boot-Diskette, mit den notwendigen Informationen für den Boot-Vorgang, bei dem die Hardware untersucht wird, und die Root-Diskette mit den nötigen Root-Informationen, die für die Installation notwendig sind.
Diese beiden Disketten sollten auch nach der erfolgreichen Installation von Linux sicher aufbewahrt werden, da mit ihnen bei Systemfehlern der Rechner wieder gebootet werden kann.
Um diese Disketten zu erstellen, gibt es auf der CD die Programme gzip.exe und rawrite.exe im Verzeichnis \slakware. Da 3.5“ Disketten verwendet werden, muß in das Verzeichnis \slakware\bootdsk.144 gewechselt werden, in dem sich die jeweiligen Dateien zur Erstellung von Boot-Disketten befinden. Im speziellen Fall der Fachhochschule wurde dort die Datei idecd.gz ausgewählt, da sie den Source-Code für fast alle gängigen IDE-Komponenten, insbesondere CD-ROM Laufwerke, enthält.
Im Verzeichnis \slakware\rootdsks.144 findet man die Datei color144.gz, welche Daten für die Root-Diskette, unter anderem für eine Installation in Farbe, enthält.
Nachdem man die obengenannten Programme und die Boot- beziehungsweise Root-Disketten-Dateien am besten in ein eigens dafür erstelltes Verzeichnis auf die Festplatte eines DOS-Rechners kopiert hat, kann mit der Erzeugung der Boot- und Root-Diskette begonnen werden. Dazu geht man folgendermaßen vor:
1. Mit dem Befehl gzip -d idecd.gz die Datei idecd erzeugen
2. Mit dem Befehl gzip -d color144.gz die Datei color144 erzeugen
3. Die erste fehlerfrei formatierte Diskette in das entsprechende Diskettenlaufwerk des Rechners einlegen
4. Das Programm rawrite.exe aufrufen
0. Installation eines Linux-Servers - 69 -
5. Den Anweisungen des Programms zur Erstellung einer Boot-Diskette folgen. Die Datei idecd wird dadurch auf die Diskette geschrieben. Die Boot-Diskette wurde erstellt.
6. Die zweite fehlerfrei formatierte Diskette in das Laufwerk einlegen
7. Erneut rawrite.exe aufrufen und den Anweisungen des Programms zur Erstellung einer Root-Diskette folgen. Daraufhin wird die Datei color144 auf die Diskette geschrieben und damit ist auch die Root-Diskette erstellt.
Erstes Booten von Linux
Nachdem die Boot- und Root-Diskette erstellt worden ist, kann der Rechner zum erstenmal unter Linux gebootet werden. Dazu muß die Boot-Diskette in das Laufwerk des Rechners eingelegt werden. Nach dem Hochfahren des Rechners werden Boot-Informationen von der Diskette gelesen, und die Hardware wird untersucht. Ist dieser Vorgang beendet, fordert das System dazu auf, die Root-Diskette einzulegen und die Taste Enter zu betätigen. Das System liest nun von der Root-Diskette alle zur Installation von Linux notwendigen Informationen und fordert den Benutzer nach erfolgter Konfiguration dazu auf, sich am System anzumelden. Dies geschieht durch Eingabe des Benutzernamens „root“ und dem Betätigen der Enter-Taste. Die Eingabe eines Paßwortes ist in dieser Phase noch nicht notwendig.
Partitionierung der Festplatte
Bevor mit der Installation der Linux-Software begonnen werden kann, muß zunächst die Festplatte, wie dies auch von MS-DOS her bekannt sein dürfte, partitioniert und in primäre (primary) und erweiterte (extended) Bereiche eingeteilt werden. Unter Linux können maximal vier Partitionen angelegt werden. Bevor mit der Partitionierung begonnen wird, sollt man sich Gedanken darüber machen, wie der Gesamtspeicherplatz der Festplatte aufgeteilt werden soll. Hierzu gibt es die unterschiedlichsten Möglichkeiten. Man sollte aber auf jeden Fall genügend Plattenplatz für die Auslagerungsdatei, den sogenannten Swap-Space, einplanen, die Linux zum Speichermanagement benötigt.
0. Installation eines Linux-Servers - 70 -
Für die 1,2 GByte Festplatte des WWW-Servers der Fachhochschule wurde zum Beispiel folgende Platteneinteilung vorgenommen:
Mit dem Befehl fdisk /dev/hda wird das Programm zur Partitionierung der ersten IDE-Festplatte aufgerufen. Besitzt der Rechner eine zweite Platte, wird diese entsprechend mit dem Befehl fdisk /dev/hdb partitioniert. Die Partitionierungs-Routine unter Linux besitzt mehrere Kommandos. Nachfolgend seien die wichtigsten aufgelistet:
Tabelle 7: Die wichtigsten Fdisk-Kommandos
Um mit fdisk eine neue Partition anzulegen, gibt man das Kommando „n“ ein. Das Programm fragt darauf, ob eine primäre oder erweitertet Partition erstellt werden soll. Um zum Beispiel die in Tabelle 6 genannte Linux-Partition Nummer 2 anzulegen, gibt man in diesem Fall „p“ für primäre Partition ein. Als First-Cylinder ist in diesem Fall die Start-Cylinder Nummer 103 einzugeben, da dieser der erste freie Zylinder nach schon vorhandenen DOS-Partition ist (siehe Tabelle 8). Fdisk stellt nun die Frage nach dem letzten Zylinder für die jeweilige Partition. Hier kann auch direkt die Partitionsgröße in MByte durch
0. Installation eines Linux-Servers - 71 -
Eingabe von „+301M“ zum Beispiel für die Linux-Partition Nummer 2 eingegeben werden.
Nachdem alle Partitionen wie in Tabelle 6 mit „n“ angelegt worden sind, muß noch die ID-Nummer der Swap-Space-Partition mit dem Kommando „t“ auf 82 geändert werden, da sie bei der Neuanlage standardmäßig auf der ID-Nummer 83 für eine „Linux native“ Partition eingestellt ist.
Tabelle 8: Die Partitionstabelle des WWW-Servers
Durch Eingabe des Kommandos „w“ wird nun die Partitionstabelle geschrieben und entsprechend eingerichtet. Danach kann das Programm fdisk mit dem Kommando „q“ verlassen werden.
Das System ist nun soweit vorbereitet, daß mit der Installation des Dateisystems begonnen werden kann.
Installation des Dateisystems
Bei der Slackware Distribution kann nach erfolgreicher Partitionierung der Festplatte mit dem Befehl setup an der Eingabeaufforderung eine menügesteuerte Installationsroutine aufgerufen werden. Mit diesem Installationsprogramm kann man die einzelnen Partitionen formatieren, länderspezifische Tastatureinstellungen vornehmen und die einzelnen Komponenten des Dateisystems auswählen. Das Programm ist im Prinzip selbsterklärend, und daher soll hier nicht näher darauf eingegangen werden. Auf jeden Fall sollte man die Basiskomponenten des Linux-Systems installieren, die im Installationsprogramm speziell gekennzeichnet sind, denn sonst läßt sich Linux nicht richtig booten. Ob darüber hinaus noch die graphische Benutzeroberfläche X-Windows oder Spiele wie Tetris installiert werden sollen, liegt im Ermessen des jeweiligen Systemadministrators.
Installation von LILO
0. Installation eines Linux-Servers - 72 -
Nachdem die gewünschten Komponenten des Dateisystems installiert worden sind, fragt das Setup-Programm, auf welche Weise das System gebootet werden soll. Es bietet zunächst die Möglichkeit an, zu diesem Zweck eine Boot-Diskette zu erstellen. Diese Diskette sollte auf jeden Fall erstellt werden, da mit ihrer Hilfe auch bei größeren Systemabstürzen das System wieder hochgefahren werden kann.
Neben dieser Möglichkeit bieten die meisten Linux-Distributionen, - so auch die vorliegende Slackware-Disitribution -, mit dem Boot-Manager LILO eine weitere, etwas elegantere Möglichkeit zum Booten des Rechners. LILO bietet neben der Option unterschiedliche Betriebssysteme zu booten, so auch zum Beispiel, wenn neben Linux ebenfalls MS-DOS installiert ist, die Möglichkeit Linux, mit verschiedenen Kerneln zu starten. Das Starten unterschiedlicher Kernel ist besonders hilfreich, wenn neue Hardware zum System hinzugefügt wird und dadurch eine Neukompilierung des alten Kernels notwendig ist.
Nachfolgend sollen die notwendigen Schritte zur Installation von LILO erläutert werden, nachdem im Setup-Programm der Menüpunkt „Installing LILO“ ausgewählt worden ist.
1. Start LILO configuration with a new LILO header
Mit diesem Kommando wird LILO neu auf einem Rechner installiert. Eine eventuell vorhandene Version wird überschrieben.
2. Add a Linux partition to the LILO config file
In dieser Sektion kann eine Linux-Partition angegeben werden, von der gebootet werden soll. Beim WWW-Server der Fachhochschule wurde hier die Partition /dev/hda2 (siehe Tabelle 8) eingetragen. Für diese Partition muß noch ein Name eingegeben werden, über den beim Start des Rechners das zu bootende Betriebssystem aufgerufen werden kann.
0. Installation eines Linux-Servers - 73 -
Um mit LILO Linux auf dem WWW-Server zu booten, wurde als Name sinnvoller Weise Linux verwendet.
3. Add an OS/2 partition to the LILO config file
Ist auf dem Rechner neben Linux auch OS/2 installiert, kann hier die entsprechende OS/2-Partition eingegeben werden. Da dies beim WWW-Server nicht der Fall ist, wurden an dieser Stelle keine Angaben gemacht.
4. Add a DOS partition to the LILO config file
Da MS-DOS auf dem WWW-Server als zweites Betriebssystem installiert ist, wurde als bootfähige DOS-Partition /dev/hda1 aus Tabelle 8 eingetragen und mit DOS benannt.
In der nachfolgenden Bildschirmmaske des LILO-Installationsprogramms wird der Benutzer gefragt, wo der LILO-Bootmanager installiert werden soll. Es werden dabei zwei Alternativen angeboten:
1. Installation auf dem Master-Boot-Record (MBR) der Festplatte
2. Installation von LILO auf einer Diskette
Für den WWW-Server wurde Alternative 1 gewählt, da auf diese Weise ein schnelleres und etwas eleganteres Booten möglich ist als bei der Verwendung einer LILO-Boot-Diskette.
Abschließend muß noch ausgewählt werden, welche Partition standardmäßig gebootet wird und wie lange LILO warten soll, bis diese automatisch gestartet wird. Für den WWW-Server wurde Linux als Standard-Betriebssystem gewählt, also die Partition /dev/hda2, und es wurden 5 Sekunden Wartezeit angegeben.
Nachdem alle zur Konfiguration von LILO notwendigen Eintragungen gemacht worden sind, werden die Einstellungen durch Auswahl des Menüpunktes „Install LILO“ in der Datei lilo.conf im Verzeichnis /etc/ gespeichert. Diese Datei kann jederzeit editiert und nach Bedarf neu angepaßt werden. Die Änderungen werden allerdings erst wirksam, wenn vor dem nächsten Reboot des Rechners an der Shell der Befehl „lilo“ eingegeben wird. Dadurch werden die Daten der Datei lilo.conf erneut auf den Master-Boot-Record geschrieben.
0. Installation eines Linux-Servers - 74 -
Im Anhang - Abbildung 11 ist die aktuelle LILO-Konfigurationsdatei des WWW-Servers abgedruckt. In Zeile 13 ist es durch den Eintrag der Befehlszeile:
image = /vmlinuz.scsi.1540
möglich, wie bereits weiter oben erwähnt, neben dem ursprünglichen Kernel (siehe Zeile 19 im Anhang - Abbildung 11) auch einen weiteren Kernel zu booten.
Netzanbindung
Da der WWW-Server der Fachhochschule in das bestehende Netzwerk integriert werden mußte, seien nachfolgend die notwendigen Einstellungen erläutert.
Es ist auch möglich, die Netzkonfiguration im oben genannten Installationsprogramm durchzuführen, so daß die Eintragungen in den entsprechenden Konfigurationsdateien automatisch vorgenommen werden. Gerade für den UNIX- beziehungsweise Linux-Neuling ist diese Vorgehensweise bei der Netzanbindung recht undurchsichtig, da das Setup-Programm nicht verrät, in welchen Dateien die Eintragungen vorgenommen werden. Ändert sich später einmal etwas an der Netzwerkkonfiguration, so muß zunächst mühsam nach den Konfigurationsdateien gesucht werden.
Die nachfolgenden Anweisungen können also direkt in die entsprechenden Dateien eingetragen werden, die im Anhang der Vollständigkeit halber abgedruckt sind.
Die wichtigsten Eintragungen sind in der Datei rc.inet1 zu machen, die im Verzeichnis /etc/rc.d/ auf dem neu installierten Linux-Rechner zu finden ist (siehe Anhang - Abbildung 3).
In Zeile 19 ist zunächst die IP-Adresse des lokalen Rechners einzutragen. Für den WWW-Server der Fachhochschule ist dies die Nummer 143.93.196.10. In den Zeilen 20 bis 22 müssen die allgemeine Netzmaske (255.255.255.0), das Netzwerk, in dem sich der WWW-Server befindet (143.93.196.0), und die sogenannte Broadcast-Adresse (143.93.196.255) des 196iger Netzes eingegeben werden.
0. Installation eines Linux-Servers - 75 -
Als Gateway wird die IP-Nummer des CISCO 2500 Routers (143.93.196.1) eingetragen (siehe Abbildung 16). Schließlich werden in den Zeilen 34 bis 36 dem lokalen Rechner alle weiteren Subnetze der Fachhochschule Ludwigshafen mitgeteilt (143.93.193.0 bis 195.0). Zu diesen Subnetzen wird über den CISCO 4500 Router mit der IP-Adresse 143.93.196.2 geroutet, diese muß jeweils hinter die Adressen der Subnetze eingetragen werden.
In Zeile 8 der Datei rc.inet1 wird der Inhalt der Datei HOSTNAME eingelesen, in welche noch der Name des Rechners, in unserem Fall www.fhludwigshafen.de, eingetragen werden muß. Die Datei HOSTNAME befindet sich im Verzeichnis /etc/ (siehe Anhang - Abbildung 4).
Schließlich müssen noch in der Datei resolv.conf, die ebenfalls im Verzeichnis /etc/ lokalisiert ist, der Name der Domain (fh-ludwigshafen.de), und der beziehungsweise die Name-Server (Thales: 143.93.195.9 und Obelix: 143.93.193.3) vermerkt werden (siehe Anhang - Abbildung 5, Zeile 1 bis 3).
Nachdem die Dateien auf diese Weise modifiziert worden sind, kann der Rechner mit dem Befehl „reboot“ neu gebootet werden, und der Server müßte nun mit dem Netzwerk verbunden sein (also auch mit dem Internet).
Anpassung (Neukompilierung) des Linux-Kernels bei Hinzufügen neuer Hardwarekomponenten
Es kann immer wieder vorkommen, daß während des Betriebs eines Linux-Servers Hardware ausgetauscht oder neu hinzugefügt werden muß. Damit die neuen Komponenten vom System erkannt werden, muß der Kernel neu kompiliert werden. Das hört sich zunächst schlimmer an, als es wirklich ist. Zwar funktioniert die Integration neuer Hardware bei Linux nicht so „elegant“, wie man das vielleicht von MS-DOS, mit Treiber-Disketten oder Windows 95 beziehungsweise Windows NT, mit Plug and Play, her kennt, aber diese Treiber werden von Linux auch gar nicht benötigt, denn es kennt standardmäßig fast 99% aller Hardwarekomponenten.
Nachfolgend soll die Vorgehensweise bei der Neukompilierung des Linux-Kernels dargestellt werden. Bei der hinzuzufügenden Hardware handelt es sich um ein SCSI-Bandlaufwerk, dessen Bedeutung für den WWW-Server der Fachhochschule noch aus Kapitel 0 bekannt sein dürfte.
0. Installation eines Linux-Servers - 76 -
Nachdem das Bandlaufwerk an den Rechner angeschlossen und das System neu gebootet worden ist, gibt man zur Modifikation des Systemkerns an der Shell den Befehl
make config
ein, nachdem man in das Verzeichnis /usr/src/linux gewechselt hat. Durch dieses Kommando wird eine Konfigurationsdatei, wie sie im Anhang -Abbildung 12 abgebildet ist, erzeugt. Dazu wird durch den oben genannten Befehl eine Programmroutine aufgerufen, in welcher der Benutzer nach systembezogenen Konfigurationsdaten gefragt wird. Die einzelnen Fragen müssen jeweils mit ja (y) oder nein (n) beantwortet werden, wobei ursprüngliche Einstellungen des alten Kernels bereits mit ja (y) belegt sind.
Damit beim nächsten Systemstart das SCSI-Bandlaufwerk erkannt wird, muß im Verlauf der Konfigurationsroutine die Frage ob, SCSI-Komponenten unterstützt werden sollen, mit ja (y) beantwortet werden (siehe Anhang -Abbildung 12, Zeile 53). Die Routine bietet daraufhin unterschiedliche SCSI-Komponenten an, darunter auch das HP-Bandlaufwerk 1542, das für den WWW-Server verwendet wird. Hat man die Hardware durch Bestätigen mit „y“ ausgewählt, können die übrigen Einstellungsmöglichkeiten durch Drücken der Enter-Taste übergangen werden, und die Konfigurationsdatei wird geschrieben.
Als nächsten Schritt muß der Befehl
make dep
an der Shell eingegeben werden. Dadurch werden die Abhängigkeiten der Sourcefiles erstellt.
Mit
make clean
werden alle Objektfiles gelöscht.
0. Installation eines Linux-Servers - 77 -
Nun kann durch Eingabe von
make zlilo
34 in der eigentliche Kompilier-Prozeß für einen komprimierten LILO-Kernel Gang gesetzt werden, der je nach Rechnerleistung zwischen wenigen Minuten und mehreren Stunden dauern kann. Zur Orientierung: Auf dem WWW-Server der Fachhochschule dauerte die Modifikation des Systemkerns ca. 1 Stunde.
Nach der Kompilierung legt das System den neuen Kernel im Verzeichnis /usr/src/linux unter dem Dateinamen vmlinux ab. Damit die neuen Einstellungen wirksam werden können, muß der neue Kernel mit dem Befehl
cp /usr/src/linux/vmlinux /
in das Root-Verzeichnis kopiert werden (bitte Leerzeichen zwischen vmlinux und / beachten!). Nun sollte eine Backup-Kopie des alten Kernels gemacht werden, denn schließlich weiß man noch nicht, ob der neue Kernel funktioniert. Der alte Kernel hat in der Regel den Dateinamen vmlinuz und steht im Root-Verzeichnis (/). Mit dem Befehl
cp /vmlinuz /vmlinuz.bak
kann eine Sicherungskopie des ursprünglichen Kernels angelegt werden.
Abschließend wird durch Eingabe von
mv /vmlinux /vmlinuz
der alte Systemkern durch den neuen ersetzt.
Bevor das System gebootet wird, muß noch unbedingt das Kommando „lilo“ eingegeben werden, damit der Boot-Manager den neuen Kernel beim nächsten Startvorgang erkennt.
Nach dem nächsten Reboot-Vorgang sollte das Bandlaufwerk erkannt werden und mit /dev/st0 angesprochen werden können.
34 Da der WWW-Server der Fachhochschule mit LILO gebootet wird, muß ein komprimierter LILO- Kernel erzeugt werden, da LILO nur einen Kernel mit maximal 450 KB booten kann.
0. Installation eines Linux-Servers - 78 -
Sicherung des Linux-Servers
Um mit dem neu installierten Backup-Laufwerk den WWW-Server zu sichern, verwendet man am besten den UNIX-Befehl „tar“. Ein mit tar erstellter Backup- 35 gesetztenZugriffsrechten auf Satz enthält nämlich neben den mittels „chmod“
36 des Dateisystems. Mit tar lassen Dateien und Verzeichnisse auch die Links
sich Backup-Sätze auch wieder relativ schnell zurücklesen. Damit eignet sich der Befehl auch sehr gut, um ein System wieder herzustellen.
Um nun mit tar eine komplette Sicherung des Systems durchzuführen, muß an der Shell der Befehl
tar -czvf /dev/st0 /
eingegeben werden. Die einzelnen Kommandos zur Erzeugung eines Backup-Satzes mit tar werden in der nachfolgenden Übersicht in Tabelle 9 dargestellt.
35
Der Befehl chmod 755
36 Unter UNIX besteht die Möglichkeit, Verweise, sogenannte Links, auf Dateien und Verzeichnisse zu setzen. Mit einem Link wird es möglich, an beliebigen Stellen im Dateisystem auf ein und dieselbe Datei zu verweisen.
0. Installation eines Linux-Servers - 79 -
Zurücklesen eines Backupsatzes
Um die Daten eines mit tar erstellten Backups wieder herzustellen, gibt man an der Shell den Befehl
tar -xzvf /dev/st0 /
ein. Das Kommando „x“ wirkt umgekehrt wie das Kommando „c“ aus Tabelle 9 und weist tar an, das auf dem Bandlaufwerk (/def/st0) befindliche Archiv zu entpacken und alle darin befindlichen komprimierten („z“) Daten in das Root-Verzeichnis (/) zurückzuschreiben.
Der tar-Befehl funktioniert allerdings nur, wenn das Basis-Linux-System vorhanden ist und sich dieses noch einwandfrei booten läßt (notfalls mit Boot-Diskette, falls LILO nicht mehr funktioniert). Sollte der Ernstfall einmal eingetreten sein, und es keine Möglichkeit mehr gibt, das Linux-System hochzufahren, bleibt keine andere Wahl, als die Festplatte, sofern sie noch funktioniert, zu formatieren. Mit einer aktuellen Sicherungskopie auf Band hat man die Situation aber dennoch schnell wieder im Griff. Ist die Festplatte formatiert, braucht man nichts anderes zu tun, als das System mit der in Abschnitt 0 erstellten und hoffentlich noch vorhandenen Bootbeziehungsweise Root-Diskette hochzufahren und nach dem Partitionieren der
Festplatte 37 (siehe Abschnitt 0) mit dem Befehl setup ein Basis-Linux-System (eine Minimalinstallation ist völlig ausreichend) zu installieren. Die Installation von LILO und die Konfiguration der Netzanbindung (siehe Abschnitt 0 und 0) ist nicht notwendig, da diese Daten auf dem Band vorhanden sind. Hat man das Basis-System installiert und den Rechner neu gebootet, kann mit dem Zurücksichern des Systems durch den Befehl tar -xzvf /dev/st0 / (siehe oben) begonnen werden. Dieser Vorgang kann einige Zeit in Anspruch nehmen. Ist das Zurückschreiben abgeschlossen, muß abschließend noch der Befehl „lilo“ (wichtig!) an der Eingabeaufforderung eingegeben werden, damit der Boot-Manager wieder auf dem Master-Boot-Record installiert wird. Nun steht dem Rebooten des „neuen“, „alten“ Systems nichts mehr im Wege. Wenn alles
37 Wichtig ist hierbei, daß die Partitionen genau so angelegt werden, wie sie auf dem ursprünglichen System vorhanden waren, denn sonst ist ein korrektes Zurückschreiben nicht möglich. Daher: Die Partitionstabelle unbedingt notieren und sicher aufbewahren!
0. Installation eines Linux-Servers - 80 -
richtig gemacht wurde, sollte das ursprüngliche System nun wieder funktionieren.
Dieses Szenario wurde am WWW-Server der Fachhochschule mit einer zweiten Festplatte getestet und war innerhalb einer Stunde abgeschlossen. Durch dieses Verfahren besteht also die Möglichkeit, bei einem totalen Systemausfall den Server in einer relativ kurzen Zeit wieder ans Netz zu bringen.
Der Terminkalender crontab
Im Zusammenhang mit dem obigen Datensicherungskonzept ist es an dieser Stelle sinnvoll, auf das Programm crontab näher einzugehen, das auf den meisten UNIX-Versionen zur Verfügung steht.
Mit crontab ist es möglich, UNIX-Befehle oder Programme zu einem bestimmten Zeitpunkt automatisch ausführen zu lassen. Eine besondere Eigenschaft von crontab liegt in der Möglichkeit, daß jeder Benutzer auf einem UNIX-System eine individuelle Termindatei anlegen kann. Dazu gibt er an der Shell den Befehl
crontab -e
ein. Auf diese Weise kann der Benutzer eine neue Termindatei für sich erstellen oder eine vorhandene Datei bearbeiten. Durch das Kommando „-e“ wird der UNIX-Editor vi aufgerufen, mit dem die individuelle Termindatei im ASCII-Format bearbeitet werden kann. Diese Datei wird im Verzeichnis /var/spool/cron/crontabs/ abgespeichert. Als Dateiname wird automatisch der Benutzername verwendet. So heißt die persönliche Terminkalender-Datei für den Benutzer root ebenfalls root. Diese Files können auch mit jedem anderen ASCII-Editor bearbeitet werden. Die Speicherung im oben genannten Verzeichnis ist jedoch zwingend, da das Serverprogramm crontab nur Dateien verwaltet, die in diesem Verzeichnis abgelegt sind.
Im Anhang ist die aktuelle Terminkalenderdatei von root des WWW-Servers abgebildet (siehe Anhang - Abbildung 13).
Der crontab-Dämon bearbeitet alle Zeilen einer Termindatei, sofern sie nicht leer beziehungsweise durch ein vorgestelltes Kommentarzeichen (#) deaktiviert
0. Installation eines Linux-Servers - 81 -
sind. Die Befehlszeilen in einer Termindatei können entweder eine Umgebungsvariable für die Ausführung aller in dieser Datei aufgerufenen Kommandos definieren oder eine sogenannte Zeitmaske mit zugehörigem Kommando enthalten.
Eine Zeitmaske besteht aus fünf Feldern, die vor das auszuführende Kommando geschrieben werden müssen. In Abbildung 18 ist das Muster einer Zeitmaske dargestellt. Das Zeichen steht dabei für das Leerzeichen.
Minuten Stunden Tag Monat Wochentag
Abbildung 18: Zeitmaske für eine Termindatei
Die Monat- und Wochentag-Angaben können mit ihren englischen Namen angegeben werden, wobei Groß- und Kleinschreibung ignoriert werden. Es genügt auch, wenn nur die ersten drei Buchstaben des Wochentages angegeben werden (mon = monday). Daneben können auch Zahlen für Monat und Wochentag verwendet werden, wobei 0 und 7 dem Sonntag entsprechen.
Jedes Feld der Zeitmaske muß, wenn kein Wert eingetragen wird, durch das Platzhalterzeichen „*“ belegt werden. Die Felder können durch Komma getrennte Listen von Zeiteinträgen sowie Bereiche der Form von- bis enthalten (mon-thu, jan,feb,mar etc.).
Weitere Informationen zu den crontab-Kommandos sind in den entsprechenden crontab-Readme-Dateien auf den jeweiligen UNIX-Systemen zu finden.
Der Eintrag
00 06 01 * * /Systembackup > /Backupreport
in Zeile 10 der Termindatei des Benutzers root (siehe Anhang - Abbildung 13) führt folglich die Batchdatei Systembackup am 1. Tag (01) jeden Monats (*) um 6 Uhr morgens (00 06) an einem beliebigen Wochentag (*) aus und leitet die Bildschirmausgabe in die Datei Backupreport um.
0. Installation eines Linux-Servers - 82 -
Die Batchdatei Systembackup enthält folgende Befehle:
Mit dem Befehl umount /cdrom wird das CD-Rom-Laufwerk deaktiviert. Dadurch wird verhindert, daß der Inhalt einer eventuell eingelegten CD-ROM mitgesichert wird, wodurch unnötig Speicherplatz verschwendet würde.
Cd / stellt sicher, daß der tar-Befehl tatsächlich aus dem Root-Verzeichnis aus gestartet wird.
Der Befehl tar -czvf /dev/st0 / sichert, wie in Abschnitt 0 beschrieben, das gesamte Dateisystem auf das Bandlaufwerk (/dev/st0). In den Zeilen 13, 16 und 19 dieser Termindatei sind drei weitere Termine innerhalb eines Monats für ein Systembackup eingetragen, so daß das Datei-System des WWW-Servers einmal pro Woche gesichert wird. Bezüglich der Datensicherung muß der Systemadministrator also nichts anderes mehr tun, als einmal pro Woche ein neues Band in das Bandlaufwerk einzulegen. Um die Sicherheit noch zu erhöhen, wird durch den Eintrag
00 06 01 * * echo %Systembackup WWW-Server zum 1. jeden Monats auf Band I
ausgefuehrt! Bitte Band II einlegen!! Datei Backupreport in / ueberpruefen!! in der Termindatei (siehe Anhang - Abbildung 13, Zeile 11) eine Mail an den Systemadministrator (root) geschickt, mit der er erinnert wird, ein neues Band in das Bandlaufwerk einzulegen. Bei diesem Kommando schickt der Befehl echo alle Zeichen, die hinter dem nachfolgenden %-Zeichen stehen, als Mail an den jeweiligen Benutzer der Termindatei.
Zur Zeit werden für die Backups des WWW-Servers vier Bänder im Turnus verwendet. Nach der letzten wöchentlichen Sicherung im Monat wird also wieder das erste Band mit dem aktuellen Dateisystem überschrieben. Auf diese Weise kann bei einem Systemausfall auf aktuelle Sicherungskopien der letzen vier Wochen zurückgegriffen werden.
Der Einsatz des Terminkalenders crontab ist nicht nur auf die Steuerung automatischer Systemsicherungen beschränkt. Es gibt noch weit mehr
0. Installation eines WWW-Server - 83 -
Verwendungsmöglichkeiten von crontab. Durch seinen geschickten Einsatz kann dieser Scheduler den Systemadministrator von zeitraubenden Routineaufgaben entbinden, so daß er sich wesentlicheren Dingen widmen kann. Im weiteren Verlauf dieser Arbeit wird daher noch öfter auf crontab eingegangen.
Installation eines WWW-Server
Bevor der Auswahl- und Installationsprozeß des WWW-Servers für die Fachhochschule Ludwigshafen beschrieben wird, soll zunächst noch auf das Protokoll HTTP, das für die Kommunikation zwischen WWW-Server und -Client verantwortlich ist, eingegangen werden. In formaler Hinsicht gehört HTTP zwar eher in Kapitel 0 f zu den anderen Internet-Protokollen, aber da das nachfolgende Kapitel eng mit diesem Protokoll verbunden ist, passen die Erläuterungen zu diesem Protokoll an dieser Stelle besser in den logischen Zusammenhang.
Das HyperText-Transfer-Protokoll (HTTP) 38
HTTP HyperText-Transfer-Protokoll ist ein zustandsloses, objektorientiertes Protokoll für ein verteiltes Hypermedia Informationssystem. Es regelt die Übertragung von Dokumenten zwischen WWW-Servern und WWW-Clients.
Die zur Zeit aktuelle Fassung des HTTP-Protokolls ist die Version HTTP/V1.0. Es gibt aber noch ältere Clients und Server, die über die Vorgängerversion HTTP/V0.9 miteinander kommunizieren. Die neue Version 1.0 wird die alte Variante jedoch auf absehbare Zeit ablösen, da sie neben ihrer Kompatibilität zu HTTP/V0.9 auch wesentliche Erweiterungen aufweist.
38 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 339
0. Installation eines WWW-Server - 84 -
Grundsätzlich werden bei beiden Versionen vier Operationen unterschieden:
1. Die Connection:
Hat ein Client eine Verbindung zu einem Server hergestellt und hat der Server diese bestätigt, erfolgt über das Protokoll TCP der Verbindungsaufbau in der Regel über den Port 80, der standardmäßig für HTTP verwendet wird. Ist HTTP ein anderer Port zugewiesen, muß dieser explizit angegeben werden.
2. Request
Steht die Verbindung, so kann der Client eine Anfrage über eine sogenannte request message an den Server schicken.
3. Response
Der Server antwortet auf die Anfrage des Clients über eine sogenannte response message.
4. Close
Sind die Informationen zwischen Client und Server ausgetauscht, so wird die Verbindung entweder durch den Server oder den Client beendet.
Nachfolgend sollen die Begriffe Request und Response näher erläutert werden.
Der Request-Block 39
Bei den Anfragen (Requests), die ein Client an einen Server schicken kann, unterscheidet man zwischen zwei Formen. Zum einen gibt es den SimpleRequest, welcher der Funktionalität der HTTP Version 0.9 entspricht, und den FullRequest, der nur von der Version 1.0 des HTTP-Protokolls unterstützt wird.
Ein SimpleRequest besteht lediglich aus der Zeile:
GET URL
Dabei steht URL für die Pfadangabe zu einem Dokument auf einem Server. Das Kommando
39 vgl. Zenk 1994, S. 384
0. Installation eines WWW-Server - 85 -
Eröffnet man eine Telnet-Sitzung (siehe Kapitel 0), wie in Abbildung 19 in Zeile 1 dargestellt, und gibt wie in Zeile 5 den SimpleRequest ein, so antwortet der Server, indem er den Inhalt der angeforderten Datei, hier das HTML-Dokument fehler.htm, an den Client zurückschickt und nach erfolgter Übertragung die Verbindung beendet.
Abbildung 19: Beispiel eines SimpleRequest
0. Installation eines WWW-Server - 86 -
Ein FullRequest unterscheidet sich in erster Linie durch einen etwas komplizierteren Aufbau von einem SimpleRequest:
Method URL ProtocolVersion
• GET:
Weist den Server an, das angeforderte Dokument unabhängig von seinem Format zu schicken.
• HEAD:
Weist den Server an, nur die HTTP-Kopfdaten zu schicken.
• PUT:
Hat ein Client die entsprechenden Berechtigungen, so kann er mit dieser Methode die im Datenteil vorhandenen Angaben unter dem angegebenen URL abspeichern.
• POST:
Mit dieser Methode werden die Benutzerdaten an ein anderes Objekt (zum Beispiel an ein externes Programm) geschickt, in dem sie weiterverarbeitet werden. Die POST-Methode wird häufig in Zusammenhang mit einem Formular verwendet und sendet die darin gemachten Benutzereingaben zur Weiterverarbeitung an ein anderes Programm.
Neben der Kommando Method ist bei einem FullRequest noch die Angabe der aktuellen Protokollversion notwendig, wodurch das Aussehen der gesamten Anfrage spezifiziert wird. Mit der Protokollversion können sogenannte HyperText Transfer Requests (HTRQ-Header) an den Server geschickt werden, mit denen ein Client bestimmte Informationen dem Server mitteilen kann. Im Gegensatz zu HTTP/V0.9, das keine FullRequests unterstützt, erlaubt die Version 1.0 von HTTP eine beliebige Anzahl solcher HTRQ-Header. Diese können zum Beispiel folgende Mitteilungen enthalten:
• From:
Über dieses Feld erfährt der Server die Mail-Adresse des Clients.
0. Installation eines WWW-Server - 87 -
• Authorisation:
Dieses Feld wird zur Identifikation eines Benutzer verwendet.
In Abbildung 20 ist eine Beispielsitzung mit Telnet und eine FullRequest-Anfrage dargestellt.
Abbildung 20: Beispiel eines FullRequest
Diese Ausführungen bezüglich des HTTP-Protokolls sollten ausreichen, um zu verstehen, wie die Kommunikation zwischen WWW-Client und -Server prinzipiell abläuft.
Auswahl der Serversoftware
Wie bei der Auswahl des Betriebssystems und der Hardware für den WWW-Server (siehe Kapitel 0 und 0), mußte auch eine geeignete WWW-Serversoftware für die Fachhochschule gefunden werden. Abbildung 21 zeigt eine Auswahl der bekanntesten WWW-Server. Sie stammt aus einem Artikel der Zeitschrift IX vom November 1995 mit dem Titel: „WWW-Server im Vergleich“, Seite 52-63.
0. Installation eines WWW-Server - 88 -
Der preisbewußte Leser wird sicherlich schnell festgestellt haben, daß alle aufgeführten WWW-Server (bis auf die Software von Netsite) kostenlos erhältlich sind. Aus diesem Grund wurde der Server von Netsite, trotz seiner sehr guten Performance und der Unterstützung aller wesentlichen Funktionen, bei der Auswahl nicht weiter berücksichtigt.
Betrachtet man den CERN-Dämon, der ja, wie in Kapitel 0 zu lesen war, der Urvater aller Web-Server ist - daher auch die relativ hohe Versionsnummer (3.0) - , so fällt neben der kostenlosen Verfügbarkeit der Software auch die Verwendungsmöglichkeit als Proxy (siehe Fußnote 29 auf Seite Fehler! Textmarke nicht definiert.) und die Unterstützung einer Zugangskontrolle positiv auf. Dennoch schied die CERN-Software aufgrund der schlechten Performance und der fehlenden Möglichkeit einer Auswertung der Log-Dateien aus der engeren Auswahl für den Einsatz an der Fachhochschule aus.
Beim Vergleich der beiden letzten Alternativen fiel die Wahl schließlich zugunsten des Apache-Servers aus, da er im Gegensatz zum NCSA-Dämon auch die Funktionen Proxy-Unterstützung und Auswertung der Server-Log-Files unterstützt. Ein weiterer Impuls, der schließlich die Entscheidung für den Apache-Server zusätzlich bestärkte, war eine Untersuchung der britischen Netcraft, bei der festgestellt worden war, daß seit März 1996 Apache der meistbenutzte WWW-Server weltweit war, knapp vor dem NCSA-Dämon. Laut Netcraft lag der Apache-Server auch im März 1997 mit beinahe 357.000 Hosts
0. Installation eines WWW-Server - 89 -
ungeschlagen auf Platz 1 der meistverwendeten Web-Server auf der Welt. NCSA ist mittlerweile auf Platz 3 mit ca. 74.000 Servern (hinter den Microsoft-IIS-Dämon mit knapp 78.000 Maschinen) zurückgefallen. Die aktuellen Web-Server-Statistiken können auf dem WWW-Server von Netcraft unter der Adresse http://www.netcraft.co.uk/survey/ abgefragt werden.
Installation des Apache/1.1b4 WWW-Servers
Der indianische Name des vorliegenden, mittlerweile erfolgreichsten WWW-Server, ist Ausdruck dessen, was ihn charakterisiert: Ein um Fehler (= bugs) bereinigter (a patchy) NCSA-Server. Apache ist also eine Weiterentwicklung des NCSA-Dämon. Im Februar 1996, als der WWW-Server für die Fachhochschule eingerichtet wurde, lag die Versionsnummer des Apache-Servers bei 1.1b4. Die aktuelle Version liegt im März 1997 bei Nummer 1.2, auf die der WWW-Server der Fachhochschule in der nächsten Zeit upgedatet wird.
Bevor mit der Installation des WWW-Servers von Apache begonnen werden kann, wird zunächst, wie bei jeder Softwareinstallation, das sogenannte Installations-Kit benötigt.
Um den Quellcode des Servers zu bekommen, braucht man nichts anderes zu tun, als einen Web-Browser auf die Adresse http://www.apache.org zu richten. Dort findet man neben dem für die Installation nötigen Programmpaket auch nützliche Informationen über die einzelnen Module und die Installation des Servers. Sollte bei der oben genannten Adresse keine Verbindung zustandekommen, so gibt es noch andere Möglichkeiten, um an den Quellcode zu gelangen, denn der oben genannte Rechner ist auf weiteren Servern auf der ganzen Welt gespiegelt, darunter auch auf Hosts in Deutschland.
So findet man Apache auch in Darmstadt (http://apache.zit.th-darmstadt.de), Dreieich (http://apache.www.nacamar.de/) und Regensburg (ftp://ftp.uniregensburg.de/pub/comp/infosystems/www/daemons/apache/). Diese Spiegel des Rechners der Apache-Gruppe haben allerdings den Nachteil, daß sie hinsichtlich der Aktualität in bezug auf die neuesten Versionen des Apache-Servers oftmals nicht auf dem neuesten Stand sind. Ist man auf der Suche nach dem Neuesten, so ist man letztlich auf www.apache.org angewiesen. Um
0. Installation eines WWW-Server - 90 -
ständig über neue Entwicklungen des Apache-Dämons informiert zu werden, kann man sich auch in eine entsprechende Mailing-Liste eintragen lassen. Dazu schickt man eine E-Mail an majordomo@apache.org, in welche man lediglich die Zeile
subscribe apache-announce
schreiben muß, um somit über aktuellen Versionen von Apache informiert zu werden.
Hat man mit einem Web-Browser eine der oben genannten WWW-Adressen erreicht, so muß man nach dem Apache-Quellcode für Linux-Systeme suchen.
Das Linux-Programmpaket für den Apache-Server wurde im März 1996 unter der World-Wide- Web-Adresse
http://apache.zit.th-darmstadt.de/dist/binaries/linux/
für die Fachhochschule heruntergeladen. Die zur Installation des Dämons notwendigen Files waren in einer Archiv-Datei namens apache_1.1b4-linux-ELF.tar.Z komprimiert. Bei Dateien mit der Extension (Dateiendung) .tar.Z handelt es sich um Archive, die mit dem UNIX-Befehl tar (siehe Abschnitt 0) erstellt worden sind. Um das Apache-Archiv zu entpacken, gibt man an der Shell den Befehl
tar -xzvf apache_1.1b4-linux-ELF.tar.Z /
ein, worauf im Root-Verzeichnis des Servers ein Unterverzeichnis /apache erstellt wird, in welches die Installations-Dateien des Apache-Servers kopiert werden.
Als nächstes muß der Server an das vorhandene Linux-System angepaßt werden. Dies geschieht durch Kompilierung des Quellcodes, ähnlich wie bei der Modifikation des System-Kerns in Kapitel 0.
In der Datei INSTALL (siehe Anhang - Abbildung 14), die im Verzeichnis /apache/src/ zu finden ist, wird die Vorgehensweise zum Kompilieren des Apache-Servers beschrieben.
Im Anhang ist die Datei Configuration abgebildet (siehe Anhang - Abbildung 15), von der unter Punkt 1) der Installationshilfe die Rede ist. Die Eintragungen,
0. Installation eines WWW-Server - 91 -
die für das korrekte Kompilieren des Apache-Servers für die Fachhochschule gemacht wurden, sind jeweils fett gedruckt, und es befindet sich über jeder Einstellung eine Kommentarzeile, die kurz erläutert, welche Funktion sie hat.
Nachdem die Datei Configuration entsprechend editiert worden ist, gibt man an der Shell den Befehl:
Configure
und danach das Kommando:
make
ein, wie dies unter Punkt 2) und 3) in der Datei INSTALL beschrieben ist. Dadurch wird die Übersetzung des Apache-Servers in Gang gesetzt.
Nach erfolgreicher Übersetzung des Apache-Servers in die
Programmiersprache C, muß im Verzeichnis /usr/local/etc/ ein Verzeichnis namens apache angelegt werden, in welches alle Dateien und Verzeichnisse aus dem Verzeichnis /apache kopiert werden. Es wäre auch möglich, den Server aus dem Original Root-Unterverzeichnis /apache weiter zu konfigurieren und zu starten, aber es ist allgemein üblich, den Server im Verzeichnis in /usr/local/etc zu verwalten. Außerdem hat man auf diese Weise eine Sicherungskopie der Original-Server Kompilierung, auf welche man im Notfall zurückgreifen kann. Falls noch nicht vorhanden, sollten im Verzeichnis /usr/local/etc/apache/ noch die Verzeichnisse cgi-bin (für ausführbare Server-Programme) und logs für die Log-Dateien des Servers angelegt werden.
Neben diversen anderen Verzeichnissen befindet sich in /usr/local/etc/apache auch ein Unterverzeichnis namens conf. In ihm befinden sich drei Dateien, die für den eigentlichen Betrieb des Apache editiert werden müssen.
0. Installation eines WWW-Server - 92 -
Es handelt sich dabei um die Dateien:
Die Einstellungen, die in den einzelnen Dateien zu machen sind, werden in den nachfolgenden Abschnitten erläutert, wobei die aktuellen Konfigurationsdateien mit den Einstellungen für die Fachhochschule im Anhang unter Abschnitt 4 abgebildet sind. Viele von der Distribution voreingestellte Eintragungen können übernommen werden, und es wird auf diese nicht näher eingegangen. Spezielle Einstellungen, die für den Betrieb des Servers an der Fachhochschule Ludwigshafen notwendig waren, sind in den Abbildungen im Anhang fett hervorgehoben und werden nachfolgend näher betrachtet.
Httpd.conf: Wichtige Servereinstellungen (Anhang - Abbildung 16)
Die erste wichtige Entscheidung in httpd.conf ist, ob der Server mit inetd gestartet werden oder stand alone laufen soll (siehe auch Kapitel 0 und 0). Durch den Eintrag
ServerType standalone
in Zeile 12 der Server-Konfigurationsdatei wurde festgelegt, daß der Apache- Server der Fachhochschule als eigenständiger WWW-Server starten soll.
0. Installation eines WWW-Server - 93 -
Damit der WWW-Server beim Reboot des Linux-Systems automatisch
40 (siehe Anhang - Abbildung 19) im gestartet wird, wurde in der Datei rc.local Verzeichnis /etc/rc.d/rc.local folgender Eintrag vorgenommen:
Dadurch muß der Server nicht explizit nach einem Systemstart aufgerufen werden.
In Zeile 30 und 31 werden die gewünschten Namen für User und Group eingetragen, die während des Betriebs des Servers benutzt werden. Es bieten sich die Namen http für User und www für Group an, die auch für den Fachhochschul-Server verwendet werden, da mit diesen Bezeichnungen eine sinngemäße Verbindung zum WWW-Server entsteht. Falls noch nicht geschehen, müssen der Benutzer http und die Gruppe www in der Datei passwd beziehungsweise group im Verzeichnis /etc eingetragen werden (Achtung: für Benutzer http kein Paßwort verwenden!).
Die von den Autoren des Servers voreingestellten Festlegungen für die Pfadnamen der Error- und Log-Dateien in den Zeilen 50 bis 64 können problemlos übernommen werden. Auch der Aufenthaltsort der Prozeßnummer des Servers ist sinnvoll; der Webmaster braucht sie in dem Moment, in dem er per kill -HUP den Server die neue Konfiguration einlesen lassen will; genauer mit kill -HUP `cat /usr/local/etc/apache/logs/httpd.pid`. In diesem Zusammenhang wurde auch eine kleine Batchdatei (Abbildung 22) mit dem Namen kille geschrieben, mit deren Hilfe der Apache-Server beendet werden kann.
40 rc.local ist eine Datei, deren Inhalt bei jedem Systemstart eingelesen und verarbeitet wird.
0. Installation eines WWW-Server - 94 -
Das Kommando -HUP wurde hierbei weggelassen, da es einen Neustart des Servers bewirken würde. Diese Batchdatei dient hauptsächlich dazu, den WWW-Server vor dem täglichen Reboot der Linux-Maschine um 4:35 Uhr (siehe Anhang - Abbildung 13, Zeile 42) zu beenden (siehe Anhang -Abbildung 13, Zeile 28), um eventuelle Datenverluste durch das abrupte Beenden beim Rebooten zu vermeiden.
Es gibt auch Einträge in httpd.conf, die zwingend verändert werden müssen. So muß in Zeile 36 unter ServerAdmin die E-Mail-Adresse derjenigen Person eingetragen werden, an welche auftretende Fehler gemeldet werden (im vorliegenden Fall wird der Benutzer guido@fh-ludwigshafen.de benachrichtigt). Ähnliches gilt für ServerName in Zeile 74, den sich niemand einfach ausdenken sollte. Es kann der Hostname selbst sein - und zwar full qualified, also mit Domain-Namen - oder ein Alias. In letzterem Fall muß er natürlich im zuständigen Namensdienst eingetragen sein: in /etc/hosts, im Domain Name System (DNS) oder im Network Information Service (NIS). Im Zweifelsfall bietet sich ein kurzes Gespräch mit dem Netzverwalter an.
Von zentraler Bedeutung ist neben dem bisher Genannten der Pfad in Zeile 41:
ServerRoot
muß der Ausgangspfad für alle Dateien sein, die für den Server wichtig sind (vor allem
conf
und
htdoc).
Für den WWW-Server der Fachhochschule ist dies /usr/local/etc/apache. Die im unteren Teil vorgenommenen Einstellungen hingegen dürften so, wie sie eingetragen sind, stehenbleiben können. Was die letzte Direktive ab Zeile 162 (
srm.conf: Darstellung der Daten (Anhang - Abbildung 17)
In der zweiten Konfigurationsdatei (srm.conf) geht es darum, welche Dokumente wie anzuzeigen sind. Dazu ist zunächst festzulegen, wo sie sich befinden. In Zeile 12 legt dies die Variable DocumentRoot fest: /home/wwwfhlu/seiten soll das Verzeichnis heißen. Dies bezeichnet den Einstieg in die öffentlichen Daten, wie sie Surfer per http://www.fh-ludwigshafen.de/ abrufen.
0. Installation eines WWW-Server - 95 -
Als Dokumenten-Root wurde deshalb das /home Verzeichnis gewählt, weil jeder Benutzer, der sich am System anmeldet, automatisch in seinem Home-Verzeichnis landet. Um diesem ein umständliches Navigieren im Dateisystem zu ersparen, wurde Home als Dokumenten-Root ausgewählt. Unter dem Verzeichnis .../seiten gibt es pro Fachbereich und Einrichtung jeweils ein weiteres Unterverzeichnis, in welchem die jeweiligen Datenbibliothekare Schreibberechtigung haben. Für jede Einrichtung wurde entsprechend ein Benutzer und eine Gruppe angelegt. So gibt es zum Beispiel für den Fachbereich I der Fachhochschule Ludwigshafen einen Benutzer fb1 und eine Gruppe fb1. Dieser Benutzer fb1 beziehungsweise die Mitglieder der Gruppe fb1 haben demnach ausschließlich in ihrem Verzeichnis /home/www-fhlu/seiten/fb1 Schreibberechtigung. In der Dokumenten-Root haben ausnahmslos Mitglieder der Gruppe wwwadmin Schreibrechte.
Auch die beiden folgenden Variablen in Zeile 19 und 24 sollte jeder selbst setzen - oder dies bewußt nicht tun.
Nicht alle Systemverwalter sind dafür, daß der Web-Server auf Dateien zugreift, die außerhalb des in ServerRoot gesetzten Pfades liegen. Deswegen lehnen einige den Verweis von UserDir auf individuelle Verzeichnisse im jeweiligen $HOME des Benutzers (Default ist public_html) ab und erwägen statt dessen, im DocumentRoot unter einem Namen wie home ein Verzeichnis für einzelne anzulegen, das aber nicht per UserDir gekennzeichnet werden kann.
Für die Fachhochschule wurde diese Funktion jedoch aktiviert, da über UserDir auf persönliche Homepages von Benutzern, die auf dem Linux-Server angelegt sind, gelinkt wird.
Gibt man den URL http://www.fh-ludwigshafen.de/~
Schließlich benennt DirectoryIndex in Zeile 24 die Dateien, die der Server anzeigt, wenn jemand nicht auf ein einzelnes Dokument, sondern auf ein Verzeichnis zugreifen will.
0. Installation eines WWW-Server - 96 -
Die Vorgabe index.html bedeutet in diesem Fall, daß beim Aufruf von http://www.fh-ludwigshafen.de im Verzeichnis /home/www-fhlu/seiten eine Datei namens index.html beziehungsweise index.htm liegen sollte, die der Apache an den Client schickt. Existiert index.htm(l) nicht, sind die im genannten Directory liegenden Dateien und Verzeichnisse für den Aufrufer sicht- und anklickbar.
Vermeiden läßt sich das auf zweierlei Weise: entweder sorgt der Webmaster dafür, daß in jedem Verzeichnis eine Datei namens index.htm(l) liegt, oder er definiert mit DirectoryIndex mehrere Namen für anzuzeigende Dokumente: beispielsweise DirectoryIndex index.html index.htm welcome.html default.html default.shtml.
Werden an dieser Stelle mehrere Dateitypen mit unterschiedlichen Endungen angegeben, so muß pro Suffix ein zusätzlicher Eintrag wie in Zeile 215 gemacht werden, wenn Server-side Includes zum Einsatz kommen sollen. Dabei handelt es sich um Skripte, die zur Aufrufzeit Daten einbinden, beispielsweise das letzte Änderungsdatum einer Datei automatisch einlesen:
Last update:
Wird dieser Eintrag in ein HTML-Dokument eingetragen, so liest der Server das letzte Änderungsdatum des Dokuments und gibt es an den Browser des Clients zurück. Damit entfällt das manchmal lästige Eintragen des letzten Änderungsdatums per Hand, und der Client weiß, wie aktuell die jeweilige Seite ist.
AccessFileName in Zeile 91 legt fest, in welcher Datei jeweils Zugriffsbeschränkungen für ein Directory zu finden sind. Ist diese Funktion aktiviert, so überprüft der Server, ob es in einem Verzeichnis eine Datei namens .htaccess-apache (Punkt vor dem Dateinamen beachten!) gibt. Ist dies der Fall, führt er das Skript htpasswd im Verzeichnis /usr/local/etc/apache/conf aus, in welchem bestimmte Benutzernamen inklusive Kennwort eingetragen sind. Das Skript schickt an einen Client, der auf ein mit .htaccess-apache geschütztes Verzeichnis zugreifen will, ein Formular, in welches er einen Benutzernamen mit Paßwort eintragen muß. Nach der Benutzereingabe vergleicht das Skript die Eingaben mit den ihm bekannten Benutzerdaten und
0. Installation eines WWW-Server - 97 -
gewährt dem Client, sofern die Daten übereinstimmen, den Zugang zum gewünschten Verzeichnis.
Eine weitere, in srm.conf häufig verwendete Funktion sind sogenannte Aliases. Mit ihrer Hilfe können die Pfade unabhängig von der Dokumenten-Root individuell angepaßt werden. Ein Beispiel hierfür zeigt Zeile 135 in welcher der Alias /sound/ dem Pfad /home/www-fhlu/sound/ entspricht. Um über das World Wide Web auf dieses Verzeichnis zugreifen zu können, genügt der URL: http://www.fh-ludwigshafen.de/sound/.
Von den restlichen Voreinstellungen in srm.conf sind noch die Einstellungen ab Zeile 256 interessant, mit denen das Server-Verhalten bei Fehlermeldungen eingestellt werden kann. Es gibt drei verschiedene Möglichkeiten, wie man eigene ErrorDocuments erstellen kann. Entweder steht in srm.conf ein kurzer Text oder der Verweis auf ein Skript, das starten soll, respektive ein anderes lokales Dokument. Und schließlich kann eine Umleitung auf einen externen Server erfolgen. Für den Apache-Server der Fachhochschule wurde die Variante gewählt, bei welcher der Server ein Dokument (fehler.htm) an den Client sendet, sobald eine Anfrage nicht beantwortet werden kann (siehe Zeile 273 und 274).
Die restlichen Einstellungen in srm.conf können so übernommen werden, wie sie von den Entwicklern eingestellt worden sind.
access.conf: Zugriffsbeschränkungen vornehmen (Anhang - Abbildung 18)
Die dritte zu editierende Konfigurationsdatei ist access.conf. Sie teilt dem Server mit, welche Benutzer in welchen Verzeichnissen Zugriffsberechtigung haben und auf welche Dienste sie zurückgreifen dürfen. Die Bedeutung dieser Datei sollte nicht unterschätzt werden, da sie den Zugang zum gesamten System regelt.
Der erste Eintrag ist in Zeile 18 einzufügen. Hier wird dem Server die Dokumenten-Root /home/www-fhlu/seiten mitgeteilt, wie sie in srm.conf definiert wurde. In Zeile 30 können Optionen eingestellt werden, mit denen festgelegt wird, wie mit Anfragen, die an dieses Verzeichnis gerichtet werden, umgegangen werden soll. Folgende Optionen sind möglich:
0. Installation eines WWW-Server - 98 -
• None
Mit dieser Einstellung erreicht man das höchste Maß an Sicherheit, denn None verbietet jeglichen Zugriff auf das entsprechende Verzeichnis. Alle Anfragen werden mit der Fehlermeldung Forbidden zurückgewiesen.
• All
All gewährt Clients den vollen Zugriff auf ein Verzeichnis. Das Kommando sollte nur dann verwendet werden, wenn man sich sicher ist, daß externe Benutzer keinen Schaden anrichten können, wenn sie ohne Beschränkungen auf das betreffende Verzeichnis (inklusive den Home-Verzeichnissen der internen Benutzer), zugreifen dürfen. Bei dieser Option ist zu beachten, daß Links, die ein interner Benutzer von seinem Home-Verzeichnis aus auf ein anderes Verzeichnis gesetzt hat, welches nicht für den öffentlichen Zugriff gedacht ist, einem externen Client dessenungeachtet den Zugriff erlauben. All sollte also nur vorsichtig verwendet werden.
• FollowSymLinks
Durch diese Option akzeptiert der Server auch Links, die außerhalb der angegebenen Dokumenten-Root liegen. FollowSymLinks wirkt nicht so extrem wie All, da durch diese Anweisung der volle Zugriff für externe Benutzer nicht ermöglicht wird. Die Gefahr, daß über diese Einstellung in Verzeichnisse gelinkt wird, die nicht für den öffentlichen Zugang gedacht sind, besteht bei dieser Option allerdings immer noch. Nebenbei sei bemerkt, daß man beim Betrieb eines WWW-Servers ein gewisses Restrisiko einfach eingehen muß. Absolute Sicherheit gibt es (noch) nicht im Internet.
• Indexes
Indexes erlaubt es Outsidern, Listings für das entsprechende Verzeichnis abzurufen. Schaltet man diese Option ab, so werden Verzeichnisindizes verhindert, die vom Server erzeugt werden. Wird allerdings eine vorher erzeugte Indexdatei gefunden, so wird diese trotzdem gesendet.
• Includes
Ist diese Option aktiviert, so wird die Verwendung der in Abschnitt 0 erwähnten Server-side Includes ermöglicht, welche aktuelle Server-
0. Installation eines WWW-Server - 99 -
Informationen wie beispielsweise die aktuelle Uhrzeit oder das letzte Änderungsdatum des gesendeten Dokuments an den anfragenden Client zurückgeben. Eine etwas sicherere Variante des Includes-Kommandos ist IncludesNoExec, welches verhindert, daß Clients ausführbare Skripte in den HTML-Strom einschmuggeln können.
Die Optionen in Zeile 30 der Datei access.conf der Fachhochschule erlauben folglich die Verzeichnisindizierung, das Verfolgen auch außerhalb der Dokumenten-Root liegender Links und das Ausführen von Server-side Includes-Skripten durch den Eintrag:
Options Indexes FollowSymLinks IncludesNoExec.
Mit dem Eintrag AllowOverride None in Zeile 51 wird verhindert, daß andere Benutzer oder HTML-Autoren eines Systems die globale Access-Control Datei (.htaccess, siehe Abschnitt 0) überschreiben.
In der Sektion Limit in Zeile 55 bis 58 wird dem Server mitgeteilt, wer auf das entsprechende Verzeichnis zugreifen darf. Die Zugriffsbeschränkungen werden durch das Kommando
eingeleitet.
Um jedem Client den Zugriff zu ermöglichen, kann sowohl die Option deny als auch allow verwendet werden. Soll mit allow der Zugang geregelt werden, so muß allow, wie in Zeile 56 dargestellt, vor deny stehen (das Komma darf nicht vergessen werden!). Der Eintrag allow from all in Zeile 57 ermöglicht somit jedem Benutzer den Zugang zum entsprechenden Verzeichnis.
Mit deny kann Benutzern einer bestimmten Domain der Zugang verwehrt werden. Dazu muß unter die Zeile mit der Option allow eine Zeile mit dem Eintrag deny from www.domainname.xx eingefügt werden.
0. Installation eines WWW-Server - 100 -
Die Zugriffs-Beschränkungen für ein Verzeichnis werden mit dem Kommando
abgeschlossen (siehe Zeile 58).
Um die verzeichnisbezogenen Einstellungen zu beenden, wird das abschließende Kommando
verwendet.
Alle eben genannten Optionen können auf jedes beliebige Verzeichnis angewendet werden. Gibt es ein Directory mit besonders sensiblen Daten (wie beispielsweise /etc) so könnte man dieses mit Options None und deny from all gegen unbefugte Zugriffe relativ gut absichern.
Die Anweisung
0. Installation eines WWW-Server - 101 -
eingestellt werden. Die Location-Anweisung wird jeweils mit dem Kommando abgeschlossen.
Starten und Testen des Apache-Servers
Nachdem alle drei Konfigurationsdateien ordnungsgemäß editiert worden sind, kommt nun der erste Start des WWW-Servers.
Da der Web-Server der Fachhochschule, wie bereits mehrfach erwähnt, als eigenständiger Dämon laufen soll, kann hier auf die Beschreibung des Server-Starts unter inetd verzichtet werden.
Um den Apache-Server zu starten, gibt man im Verzeichnis /usr/local/etc/apache den Befehl
httpd -f /usr/local/etc/apache/conf/httpd.conf
ein. Der Schalter -f weist dabei den Pfad zur Server-Konfigurationsdatei httpd.conf. Es gibt noch ein Kommando -v, mit dem die aktuelle Versionsnummer der Dämons ausgegeben werden kann.
Sollten sich beim Editieren der drei Haupt-Konfigurationsdateien Fehler eingeschlichen haben, so werden diese vom Programm httpd nach dem Aufrufen unter Angabe des Dateinamens und der Programmzeile, in welcher der Fehler festgestellt wurde, angezeigt. Sind die Fehler bereinigt, so kann man einen erneuten Startversuch des Servers mit dem obigen Kommando durchführen.
Gibt httpd keine Fehlermeldungen mehr zurück, dürfte der Server mit großer Wahrscheinlichkeit laufen.
Um sicher zu gehen, daß der Dämon auch wirklich funktioniert gibt, es zunächst die Möglichkeit, den Server mit einem Web-Browser zu testen. Am besten setzt man dazu einen Web-Browser auf einem externen Rechner ein. Voraussetzung ist dabei natürlich, daß der Client-Rechner eine Verbindung zum Internet beziehungsweise World Wide Web hat. Richtet man den externen Web-Browser auf die Domain-Adresse des neu eingerichteten WWW-Server, im Falle der Fachhochschule auf http://www.fh-ludwigshafen.de, so sollte, wenn noch keine HTML-Dokumente erstellt worden sind, zumindest die
0. Installation eines WWW-Server - 102 -
Verzeichnisstruktur des Servers beziehungsweise der Dokumenten-Root wie in Abbildung 23 angezeigt werden.
Abbildung 23: Test des WWW-Servers mit einem Web-Browser (ohne index.htm)
Daneben gibt es noch eine Alternative, den Web-Server auch direkt zu testen, wenn man keine Möglichkeit hat, von einem externen Rechner mit einem WWW-Browser auf den Web-Server zuzugreifen. Dazu baut man mit telnet eine Verbindung zu dem Port auf, an dem das Protokoll auf Benutzeranfragen wartet. Diese Prozedur wurde schon in Kapitel 0 f erläutert und wird daher hier nicht nochmals beschrieben.
0. Betrieb eines WWW-Server - 103 -
Meldet sich der Server wie in Abbildung 20 auf Seite 87 zurück und gibt er dabei seine aktuelle Versionsnummer zurück, so ist dies der Beweis dafür, daß der Web-Server funktioniert.
Betrieb eines WWW-Server
Mit der erfolgreichen Installation des Apache-Dämons ist die Arbeit für den Webmaster allerdings noch nicht getan.
Zunächst muß der WWW-Server mit sinnvollem Inhalt gefüllt werden. Hierzu empfiehlt es sich Kontakt, mit den jeweiligen Datenbibliothekaren aufzunehmen und sie aufzufordern, HTML-Seiten für ihren entsprechenden
Verantwortungsbereich zu erstellen. Auch der Webmaster wird sich in der Regel, zumindest in der Anfangsphase, mit der Erstellung von Web-Dokumenten beschäftigen müssen. In dieser Arbeit auch auf die Auszeichnungssprache HTML und die Gestaltung von Web-Dokumenten einzugehen, ist aus Platzgründen leider nicht möglich. Im Prinzip ist dies auch nicht unbedingt notwendig, denn es gibt neben einschlägiger Literatur zu diesem Thema mittlerweile auch ausgezeichnete HTML-Tools wie zum Beispiel Frontpage von Microsoft, mit denen spielend HTML-Dokumente erstellt werden können. Wem es gelingt, in einem Textverarbeitungsprogramm ein Wort fett hervorzuheben, dürfte mit diesen Hyper-Text Tools ebenfalls keine Probleme haben.
Bekanntmachen des WWW-Servers
Sind die Inhalte soweit aufbereitet, daß sie der weltweiten Internet-Gemeinde präsentiert werden können, sollte der Web-Server in den großen Suchmaschinen des Internet wie zum Beispiel Altavista, Yahoo oder Excite eingetragen werden. Es gibt auch Suchdienste, die sogenannte Web-Crawler oder Spider durch das Netz schicken und somit automatisch einen neuen Server in ihre Datenbank aufnehmen. Bei diesen Netz-Detektiven handelt es sich um kleine Programme, die sich ähnlich wie Computer-Viren automatisch in ein System einloggen und sich Server-Daten wie zum Beispiel die Domain- Adresse oder die ersten Zeilen der Datei index.htm in der Dokumenten-Root
0. Betrieb eines WWW-Server - 104 -
merken und diese Daten an ihren Auftraggeber zurückschicken. Bei anderen Such-Systemen muß man diese Server-Daten jedoch explizit eintragen, bevor sie in deren Datenbank aufgenommen werden. Will man den Server zum Beispiel bei Altavista anmelden, so richtet man einen Web-Browser zunächst auf die Homepage mit der Adresse http://www.altavista.com. Dort gibt es einen Link mit dem Namen „Add URL“. Folgt man diesem Link, so hat man in den darauffolgenden Seiten (in der Regel Formulare) Gelegenheit, die eigene Serveradresse und kurze Informationen über den Inhalt des Servers einzugeben. In der Regel muß man bei diesen Suchmaschinen noch die Adresse der eigenen Organisation und die E-Mail Adresse des Internet-Beauftragten, am besten die des Webmasters (für die Fachhochschule also webmaster@fh-ludwigshafen.de) angeben.
Neben den oben genannten administrativen Tätigkeiten gibt es noch weit mehr Aufgaben, mit denen sich ein Webmaster beim Betrieb eines WWW-Servers beschäftigen muß, die hier jedoch nicht weiter aufgezählt werden können.
Es gibt jedoch noch einen interessanten Aspekt, der zum Schluß aufgegriffen werden soll. Es handelt sich hierbei um den Einsatz von CGI-Skripten. Nachfolgend soll geklärt werden, um was es sich dabei handelt und welche Skripte an der Fachhochschule Ludwigshafen verwendet werden.
CGI-Skripte (Common-Gateway-Interface) 41
Ein Common-Gateway-Interface regelt den Informationsfluß zwischen einem WWW-Server und den Eingaben eines Clients. Gibt ein Benutzer in einem Web-Formular Daten ein und betätigt danach die Eingabetaste oder klickt auf einen entsprechenden Button im Formular, so werden die Daten zunächst an den WWW-Server gesendet. Hat dieser die Daten entgegengenommen, sendet er die Benutzereingaben mittels CGI an einen Gateway. Ein Gateway besteht in der Regel aus einem Programm, welches mit C/C++, Perl, tcl oder mit einer UNIX-Shell-Programmiersprache geschrieben ist. Die Daten, die ein Benutzer in einem Formular eingegeben hat, werden meistens über die GETbeziehungsweise POST-Methode über den Server an das jeweilige Gateway-
41 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 420 ff
0. Betrieb eines WWW-Server - 105 -
Programm geschickt. GET oder POST fungieren dabei als Variablen, in denen die entsprechenden Benutzerdaten gespeichert werden. Hat der Gateway die Variablen empfangen und verarbeitet, so erzeugt er entweder eine HTML-Ausgabe, die er an den Client zurückgibt, oder er speichert die Daten ab oder versendet eine E-Mail, je nachdem, zu welchem Zweck er programmiert wurde.
Unter der Adresse http://www.fh-ludwigshafen.de/cgi-bin/mail kann ein solcher Gateway zur Weiterleitung von E-Mails getestet werden. Das Programm ist in Perl geschrieben und stammt von Carlos A. Pero (cpero@ncsa.uiuc.edu) der NCSA-Gruppe. Teile der Software wurden vom Autor dieser Diplomarbeit modifiziert und für die Verwendung an der Fachhochschule angepaßt. Der Vollständigkeit halber ist dieses Skript im Anhang aufgeführt (siehe Anhang -Abbildung 20)
Webglimpse - eine lokale Suchmaschine für WWW-Server
Auf einem WWW-Server mit einer umfangreichen Dokumentenstruktur ist es für Clients oftmals schwierig, schnell an eine bestimmte Information zu gelangen, vor allem dann, wenn sie das erste Mal auf diesen Server zugreifen. Sucht ein Benutzer zum Beispiel die Telefonnummer des Studentensekretariats oder die neueste Prüfungsordnung der Fachhochschule Ludwigshafen, so muß er sich zu diesen Daten meist mühsam durchklicken. Ist er dabei den falschen Links gefolgt, wirkt die Angelegenheit schnell ermüdend, und vielleicht gibt der Client sogar auf und beendet die Verbindung zum WWW-Server der Fachhochschule ohne die gewünschten Informationen. Um dies zu verhindern, wurde auf dem Server das Programm Webglimpse von Udi Manber, http://glimpse.cs.arizona.edu/udi.html, installiert.
Bei Webglimpse handelt es sich um ein Perl-Skript, mit dem alle HTML-Seiten eines Servers nach Schlagworten durchsucht werden können. Es hat somit die Funktionalität eines WAIS-Servers (siehe Kapitel 0). Mit dem Programm können auf bestimmten HTML-Seiten (bei Bedarf auch auf allen) eines WWW-Servers Suchformulare angeboten werden, in die ein Benutzer ein beliebiges Schlagwort oder auch ganze Sätze eingeben und mit einem Eingabe-Button abschicken kann. Webglimpse bietet eine normale und eine intensive Suche an. Auf der globalen Homepage der Fachhochschule befindet
0. Betrieb eines WWW-Server - 106 -
sich am Ende ein einfaches Suchformular, wie in der folgenden Abbildung 24 zu sehen ist.
Ein Benutzer kann hier die zu suchenden Begriffe eingeben und mit einem Klick auf den Button „Los geht’s!“ die Suche starten. Folgt er dem Link „Spezial Suche“, so gelangt er zu einem erweiterten Suchformular, mit dem eine detaillierte Suche möglich ist.
In Abbildung 25 wurde mit der Spezial-Suche nach dem Begriff „Studentensekretariat“ geforscht. Nachdem der Button „Abschicken“ betätigt worden ist, werden die Tastatureingaben des Clients mit der POST-Methode an den Server geschickt. Dieser leitet die Informationen an ein mit dem Suchprogramm verbundenes CGI-Skript über (siehe Abschnitt 0). Dieses
0. Betrieb eines WWW-Server - 107 -
sendet die empfangenen Variablen an das Hauptprogramm (Gateway) von Webglimpse, welches eine Suche in allen HTML-Seiten nach dem gewünschten Begriff durchführt. Die Suchergebnisse werden in einem neuen HTML-Dokument, wie in Abbildung 26 dargestellt, zusammengefaßt, von dem aus der Benutzer direkt über Links in die Dokumente wechseln kann, in denen der Suchbegriff gefunden wurde.
Die ausführliche Erklärung der Funktionsweise eines Such-Gateway würde diese Diplomarbeit zu sehr ausdehnen. Zu erwähnen wäre allerdings noch, daß der Autor dieser Diplomarbeit den Programmcode von Webglimpse für die Fachhochschule Ludwigshafen modifiziert und in Zusammenarbeit mit dem
0. Betrieb eines WWW-Server - 108 -
Entwickler des Suchprogramms in der Beta-Version von Webglimpse vorhandene Bugs beseitigt hat. Das weiterentwickelte Programmpaket ist unter ftp://www.fh-ludwigshafen.de/pub/internet/webglimpse zu finden.
Auswertung der Server-Log-Dateien mit Wusage 4.0
Das Programm Wusage arbeitet zwar nicht mit CGI-Skripten, es soll aber trotzdem an dieser Stelle erwähnt werden, da es in den Rahmen nützlicher WWW-Server-Tools paßt.
Wusage ist ein in C geschriebenes Programm, mit dessen Hilfe die Log-Files, insbesondere die Datei access_log, in der alle Zugriffe auf die Web-Seiten eines Servers gespeichert werden, ausgewertet werden können.
Abbildung 27: Auszug aus der Datei access_log
Abbildung 27 zeigt auszugsweise den Inhalt der Log-Datei access_log. Aus diesen Daten ermittelt Wusage, wie oft auf ein Dokument in einem bestimmten Zeitraum zugegriffen wurde. Es besteht die Möglichkeit, mit Wusage tägliche, wöchentliche und monatliche Statistiken erstellen zu lassen. Auch eine Gesamtstatistik ist möglich. Das Programm erzeugt nach der Auswertung der Log-Dateien HTML-Seiten, die unter der Adresse http://www.fhludwigshafen.de/usage abgefragt werden können.
Neben der Statistik in bezug auf die am meisten nachgefragten Dokumente stellt Wusage auch fest, von welchen Clients der eigene Server am häufigsten besucht worden ist und welche Fehler während des Server-Betriebs aufgetreten sind. Die nachfolgenden Abbildungen zeigen einen kleinen Ausschnitt der mit Wusage erstellten Statistiken für den WWW-Server der Fachhochschule Ludwigshafen.
0. Betrieb eines WWW-Server - 109 -
Abbildung 28: Monatlicher Gesamtreport
Abbildung 29: Zugriffe innerhalb eines Tages
0. Betrieb eines WWW-Server - 110 -
Abbildung 30: Die 20 am meisten nachgefragten Dokumente (Ausschnitt)
Abbildung 31: Rangliste der Länder, die den WWW-Server am stärksten frequentieren
Schlußwort - 111 -
Schlußwort
Leider reicht der Platz hier nicht aus, um alle Arbeiten zu beschreiben, die im Zusammenhang mit der Einrichtung des WWW-Servers für die Fachhochschule Ludwigshafen erledigt worden sind. Die Niederschrift der wesentlichen Aspekte sollte jedoch ausreichen, um einem Außenstehenden einen groben Überblick bezüglich der Einrichtung eines WWW-Dienstes zu verschaffen.
Es sei jedoch hier angemerkt, daß die in dieser Diplomarbeit beschriebene Vorgehensweise zum Aufbau eines Web-Servers nicht als einzig mögliche verstanden werden soll. Es gibt weitaus mehr Alternativen, einen solchen Dienst einzurichten. Gerade im Hinblick auf Windows NT eröffnen sich diesbezüglich großartige Möglichkeiten. Es ist anzunehmen, daß in der näheren Zukunft auch der WWW-Server der Fachhochschule auf ein Windows NT-System übertragen wird.
Die extremen Wachstumsraten, die das Internet und das World Wide in den letzten Jahren erfahren haben, lassen den Schluß zu, daß es sich dabei um Medien mit ungeahnten Möglichkeiten handelt. Es ist zu erwarten, daß in Zukunft die Kommunikation über das Internet so selbstverständlich werden wird wie das Telefonieren. Die weltweite Vernetzung von Computern wird daher wohl auch die Lebensgewohnheiten jedes einzelnen nachhaltig beeinflussen, vielleicht sogar verändern. Mag dies auch Anlaß zu Euphorie geben, so sollte man es jedoch nicht versäumen, auch kritisch über die Entwicklung des Internet nachzudenken: Die Gefahr des „gläsernen Menschen“ wäre nur eine Bedrohung, die vielen im Zusammenhang mit dem Internet heute schon Angst macht. Hinzu kommt, daß sich das Internet zur Zeit noch in vielerlei Hinsicht in einem rechtlichen Vakuum befindet. Um für die Zukunft einheitliche, weltweite rechtliche Grundlagen schaffen zu können, bedarf es der Zusammenarbeit aller beteiligten Länder und Staaten. Ob hierfür jedoch jemals ein Konsens der unterschiedlichen Kulturen und Rechtssysteme erreicht werden wird, ist zwar fraglich, letztlich aber zwingend notwendig.
Literaturverzeichnis - 112 -
Literaturverzeichnis
Liu, Cricket; Peek, Jerry; Jones, Russ; Buus, Bryan; Nye, Adrian:
Hajer, Hans; Kolbeck, Rainer: INTERNET: der schnelle Start ins
Zenk, Andreas: Lokale Netze - Kommunikationsplattform
Krückeberg, Fritz; Spaniol, Otto: Lexikon Informatik und
Engesser, Hermann; Claus, Volker: Duden „Informatik“: e. Sachlexikon für
Witte, Heide: Der Internet-Kollaps. In: PC-Welt-Extra 5/96, S. III
Stichwortverzeichnis - 113 -
Stichwortverzeichnis
Dämonen DARPANET Dateisystem Datenbibliothekare Datensicherung delix Computer GmbH deny
Anhang - 115 -
U
Übertragungsmedien
ULTRIX User Datagram Protocol (UDP) UserDir
V
Verbindungsanbieter
Versionsnummer
Anhang
Die Konfigurationsdatei inetd.conf
Anhang - 120 -
irc 194/udp
98
smux 199/tcp SNMP Unix Multiplexer
99
100 smux 199/udp
101 at-rtmp 201/tcp AppleTalk routing
102 at-rtmp 201/udp
103 at-nbp 202/tcp AppleTalk name binding
104 at-nbp 202/udp
105 at-echo 204/tcp AppleTalk echo
106 at-echo 204/udp
107 at-zis 206/tcp AppleTalk zone
information
108 at-zis 206/udp
109 z3950 210/tcp wais NISO Z39.50 database
110 z3950 210/udp wais
111 ipx 213/tcp IPX
112 ipx 213/udp
113 imap3 220/tcp Interactive Mail Access
114 imap3 220/udp Protocol v3
115 ulistserv 372/tcp UNIX Listserv
116 ulistserv 372/udp
117
118 UNIX specific services
119
120 exec 512/tcp
121 biff 512/udp comsat
122 login 513/tcp
123 who 513/udp whod
124 shell 514/tcp cmd no passwords used
125 syslog 514/udp
126 printer 515/tcp spooler line printer
spooler
127 talk 517/udp
128 ntalk 518/udp
129 route 520/udp router routed RIP
130 timed 525/udp timeserver
131 tempo 526/tcp newdate
132 courier 530/tcp rpc
133 conference 531/tcp chat
134 netnews 532/tcp readnews
135 netwall 533/udp -for emergency
broadcasts
136 uucp 540/tcp uucpd uucp daemon
137 remotefs 556/tcp rfs server rfs Brunhoff remote filesystem
138 klogin 543/tcp Kerberized rlogin' (v5)
139 kshell 544/tcp Kerberized rsh' (v5)
140 kerberos-adm 749/tcp Kerberos kadmin' (v5)
141
142 webster 765/tcp Network dictionary
143 webster 765/udp
Anhang - 121 -
144
145 From Assigned Numbers'':
146
147 The Registered Ports are not controlled by the IANA and on most
systems
148 can be used by ordinary user processes or programs executed by
ordinary
149 users.
150
151 Ports are used in the TCP 45,106 to name the ends of logical
152 connections which carry long term conversations. For the purpose of
153 providing services to unknown callers, a service contact port is
154 defined. This list specifies the port used by the server process as its
155 contact port. While the IANA can not control uses of these ports it
156 does register or list uses of these ports as a convienence to the
157 community.
158
159 ingreslock 1524/tcp
160 ingreslock 1524/udp
161 prospero-np 1525/tcp Prospero non-privileged
162 prospero-np 1525/udp
163 rfe 5002/tcp Radio Free Ethernet
164 rfe 5002/udp Actually uses UDP only
165
166
167 Kerberos (Project Athena/MIT) services
168 Note that these are for Kerberos v4, and are unofficial. Sites running
169 v4 should uncomment these and comment out the v5 entries above.
170
171 kerberos 750/udp kdc Kerberos (server) udp
172 kerberos 750/tcp kdc Kerberos (server) tcp
173 krbupdate 760/tcp kreg Kerberos registration
174 kpasswd 761/tcp kpwd Kerberos "passwd"
175 klogin 543/tcp Kerberos rlogin
176 eklogin 2105/tcp Kerberos encrypted rlogin
177 kshell 544/tcp krcmd Kerberos remote shell
178
179 Unofficial but necessary (for NetBSD) services
180
181 supfilesrv 871/tcp SUP server
182 supfiledbg 1127/tcp SUP debugging
183
184
Anhang - Abbildung 2: services
Anhang - 122 -
Konfigurationsdateienzur Netzanbindung
Anhang - Abbildung 3: Die Datei /etc/rc.d/rc.inet1
Anhang - 123 -
Anhang- Abbildung 5: Die Datei /etc/resolv.conf
42 Konzepte für Internet-Dienste
Im ersten Kapitel dieser Diplomarbeit sollen dem Leser nach einem kurzen geschichtlichen Überblick über die Entwicklung auch die wesentlichen Grundlagen des Internet näher gebracht werden. Die Ausführungen sind recht allgemein gehalten, sodaß die gewonnenen Erkenntnisse, losgelöst vom speziellen Anwendungsfall der Fachhochschule Ludwigshafen, auch auf andere Organisationsformen übertragen werden können.
Die Entstehung des Internet 43
Als 1969 aufgrund der Initiative des US Verteidigungsministerium durch den Einsatz von erheblichen personellen und finanziellen Mitteln die Entwicklung im Bereich der Computervernetzung forciert wurde, hat damals wohl niemand geahnt, daß sich daraus das größte Computernetz der Welt entwickeln würde.
Daß an diesem Projekt ausgerechnet das Militär, - wie dies häufig in der Geschichte bei der Entwicklung neuer Technologien der Fall war -, so großes Interesse hatte, war kein Zufall. Schon lange war man in diesen Kreisen an einem Kommunikationsmittel interessiert, mit dem auch unter ungünstigen Bedingungen der Transport von Daten sicher gewährleistet werden konnte. Somit wurde 1972 mit dem DARPANET (Defense Advanced Research Projects Agency-NET) an einem System gearbeitet, das selbst beim Ausfall von Teilen des Netzes noch funktionsfähig bleiben sollte. Folglich kann man sagen, daß
42 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 1 ff
43 vgl. Hajer, Kolbeck 1994, S. 15
wir das Internet eigentlich dem kalten Krieg in den siebziger Jahren zu verdanken haben.
Die Rechner der ersten Stunde, die damals miteinander vernetzt wurden waren, große, teure Maschinen mit 12 KB Arbeitsspeicher.
Neben den militärischen Verwendungszwecken eröffnete die Vernetzung von Computern im Laufe der Zeit in wissenschaftlichen und immer mehr in kommerziellen Bereichen völlig neue Anwendungsmöglichkeiten.
Um bestimmte wissenschaftliche Probleme mit Hilfe von Computern lösen zu können, sind oft Rechner mit enormer Rechenleistung und speziellen Programmen notwendig. Häufig sind diese Ausstattungen so teuer, daß sie nicht für jede wissenschaftliche Einrichtung angeschafft werden können. Oft hat ein ganzes Land lediglich einen dieser begehrten Großrechner. Durch eine Vernetzung ist es nun möglich, daß ein Wissenschaftler jeder Zeit auf die Ressourcen eines solchen Großcomputers zurückgreifen kann.
Durch die Vernetzung von Computern ist es also allgemein möglich, alle in einem Netzwerk angeschlossenen Ressourcen zu nutzen (resource sharing). Somit können Netzteilnehmer unterschiedliche Hardware, Programme, Daten und sonstige Peripherie gemeinsam und unabhängig vom jeweiligen Standort nutzen.
Durch die Einrichtung des NSFNET (National Science Foundation Network) in den achtziger Jahren wurde es Universitäten und Forschungsgruppen möglich, Verbindungen zu den modernsten Großrechnern und auch untereinander aufzunehmen.
Während etliche der oben erwähnten „frühen“ Netzwerke ihren Dienst wieder einstellten, schlossen sich die verbleibenden um das Jahr 1990 mit dem NSFNET zusammen. Zu diesen kamen innerhalb kurzer Zeit weitere Netzwerkdienste hinzu, wodurch ein schnell wachsendes Netz
unterschiedlichster Netzwerke entstand.
Der Grundstein für das weltgrößte Rechnernetz, das Internet, war somit gelegt.
Da eine kommerzielle Nutzung des NSFNET aufgrund seiner Nutzungsbestimmungen nicht zulässig war, wurde das CIX-Netz (Commercial Internet Exchange) aufgebaut. Somit wurde das zunächst für regierungseigene Institutionen wie für das Militär und wenige ausgewählte Forschungsgruppen und Universitäten vorbehaltene Internet für jeden zugänglich. Seit Anfang 1993 erlebte das Internet einen regelrechten Boom, und die Anzahl der Server und
angeschlossenen Netzwerke verdoppelte sich innerhalb eines Jahres (siehe
Abbildung 1 bis Abbildung 3) 44 .
44 Die Daten für die Grafiken stammen aus dem Buch „Internet: Der Schnelle Start ins weltgrösste Rechnernetz“ von Hans Hajer und Rainer Kolbeck, erschienen 1994 beim Markt und Technik, Buch- und Software-Verl.
0. Konzepte für Internet-Dienste - 126
-
Entwicklung Domains 1992-
Enwicklung Netzwerke 1989-1994
1994
30000
25000
20539
25000
20000 16533
20000
15000
15000
Anzahl
9300 Domains
7505
10000 10000 Netzwerke
5500
5000
5000
0
0
1992 1993 1994 1992 1993 1994
1989 1992 1994 1989 1992 1994
Abbildung 33: Wachstum der Netzwerke
Abbildung 34: Wachstum der Domains
Was ist das Internet? 45
Unter dem Internet versteht man ein elektronisches Mail- und Informationssystem, das verschiedene staatliche Institutionen (vor allem in den USA), militärische Bereiche, Universitäten und kommerzielle Unternehmen
46 miteinander verbindet .
Spricht man vom Internet, so entsteht leicht der Eindruck, daß es sich dabei um ein riesiges Gesamtnetz einzeln miteinander verbundener Computer handelt. Tatsächlich besteht das Internet aber aus Teilnetzen, die über Hochgeschwindigkeitstelefonleitungen zusammengeschlossen sind. Der Begriff Hochgeschwindikeitstelefonleitung könnte nun den Eindruck erwecken, daß es sich beim Internet um ein Hochgeschwindigkeitsnetz handelt. Der gerne verwendete Ausdruck des „Internet-Surfen“ sollte jedoch besser mit „Internet-Kriechen“ ersetzt werden. Mit ein Grund für diese schlechte Performance ist der rasante Zuwachs von Clients und Servern, die zu regelrechten Datenstaus in den Leitungen führen. Doch nicht nur die Zahl der Nutzer belastet das Netz, auch Programme sind für Engpässe und lange Wartezeiten verantwortlich. Besonders Multimedia-Anwendungen belasten die Bandbreite des Netzes. Während eine große Grafik einige hundert KByte Speicherplatz beansprucht, muß das Netz bei Audio- und Video-Übertragungen gleich mehrere MByte durch die Kabel schleusen.
Viele Probleme haben ihren Grund aber auch im Aufbau des Internet: Das riesige Netz setzt sich, wie oben bereits erwähnt, unter anderem aus vielen kleinen Netzwerken zusammen, die miteinander verbunden sind. Kleine Service-Anbieter speisen ihren Datenverkehr in die Netze größerer Service-Anbieter. Die wiederum liefern den akkumulierten Datenstrom an den nächstgrößeren und so weiter, bis nur wenige große Provider übrigbleiben. Die „großen“ Anbieter haben nun begonnen, ihre Infrastruktur zu verbreitern. Sie bauen die Kapazitäten ihrer Rechner aus und steigern die Zahl der Modems in den lokalen Zugangsknoten.
45 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 1 f 46 vgl. Haje, Kolbeck 1994, S. 13
Auch wenn sich das Internet in vielen Punkten wie ein homogenes Netz verhält, handelt es sich nicht um einen zentral organisierten und verwalteten Netzwerkdienst. Die angeschlossenen Rechner werden individuell von ihrem sogenannten Webmaster verwaltet und am Laufen gehalten. Die oben genannte Homogenität des Internet liegt darin, daß die miteinander verbundenen Rechner eine Gemeinsamkeit haben: Sie verstehen alle das Protokoll TCP/IP (Transmission Control Protokoll / Internet Protokoll). Auf die Eigenschaften und Aufgaben von Protokollen wird später genauer eingegangen. TCP/IP trägt jedenfalls dazu bei, daß die unterschiedlichsten Rechnerplattformen miteinander kommunizieren können. Das Spektrum der miteinander verbundenen Rechner geht von PCs über MACs bis schließlich zu UNIX-Maschinen. Dieser Eigenschaft hat das Internet letztlich seinen unglaublichen Erfolg zu verdanken.
Arten des Internetzugangs 47
Was bedeutet es nun eigentlich, wenn jemand davon spricht, im Internet zu sein? Im wesentlichen kann man drei Rollen definieren, die im Internet gespielt werden:
1. Die Informationsanbieter
Sie stellen auf ihren Rechnern, die an das Internet angeschlossen sind, Daten zur Verfügung. Diese Daten können aus Textinformationen, Grafiken, Sounddaten oder auch Programmen bestehen. Die Standorte der Informationsanbieter sind über die ganze Welt verbreitet. Neben bedeutenden naturwissenschaftlichen Museen findet man internationale Organisationen wie die NATO und die Weltbank, Hochschulen und Schulen und auch kleine Geschäfte, die ihre Produkte anbieten. In dieser Abhandlung wollen wir uns in erster Linie mit der Rolle des Informationsanbieters beschäftigen.
47 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 3 f
2. Die Benutzer oder auch Kunden
Eine weitere, nicht weniger wichtige Rolle spielen die Benutzer des Internet, denn was nützen die besten Informationen, wenn sie niemand abfragt. Die Anzahl der an das Internet angeschlossenen Kunden wurde im Mai 1996 auf ca. 34 Millionen geschätzt. Galt das Internet in seinen Anfangszeiten eher als Spielwiese für Computerspezialisten und Wissenschaftler, so finden wir heute neben Pädagogen, Autoren, Gesetzgebern und Anwälten eine immer stärker werdende Zahl von privaten Nutzern des Internet. Gerade letztere sind der Grund, warum so viele Unternehmen als Informationsanbieter ins Internet drängen. Es kann sich schließlich bei jedem neu angeschlossenen Internet-User um einen potentiellen Kunden handeln. Abbildung 4 soll einen kleinen Eindruck vermitteln, wie sich die Benutzerzahlen bis zum Jahr 1999 entwickeln werden.
Mittlerweile spricht man von „katastrophalen Zusammenbrüchen“, die im Internet aufträten. So sagte Bob Metcalfe, der Erfinder des Ethernet-Netzwerkstandards, den ersten Kollaps des Internet für das Jahr 1996 voraus. Angesichts der enormen Zuwachsraten, die das Internet erleben wird, sollte man diese Warnungen ernst nehmen. Nur wenn man in Zukunft daran denkt, das Internet zu verbessern, - sprich: die Informationen besser packen und die Übertragungen beschleunigen, - wird es in Zukunft so selbstverständlich benutzt wie heute Telefon und Fernsehen.
3. Die Verbindungsanbieter
Damit Informationsanbieter ihre Daten anbieten und Benutzer diese abfragen können, benötigen sie eine Netzverbindung zum Internet. Diese wird von den Verbindungsanbietern (connection provider) zur Verfügung gestellt. Auf ihre Rolle soll hier nicht näher eingegangen werden. T-Online, AOL, Compuserve, EUnet und MSN seien hier lediglich als eine Auswahl der bekanntesten genannt.
Nachfolgend sollen drei Verbindungsmöglichkeiten zum Internet aufgezeigt werden:
Permanente Internet-Protokoll-Verbindung
Will man im Internet als Informationsanbieter auftreten, ist es wichtig, daß die bereitgestellten Daten rund um die Uhr zur Abfrage bereitstehen. Um Kosten zu sparen wäre es natürlich auch möglich, den Dienst nur tagsüber anzubieten. Bedenkt man allerdings, daß sich das Internet über alle Erdteile erstreckt und es für potentielle Informationsnachfrager, also mögliche Kunden, immer irgendwo Tag ist, bleibt schließlich nur die Auswahl einer 24-Stunden Standleitung.
48 H. Witte: Der Internet-Kollaps. In: PC-Welt-Extra 5/96, S. III
In der Regel gibt es bei diesem Internetzugang einen Rechner in einem LAN, der über einen Router per Standleitung mit einem Internet-Connection-Provider verbunden ist und somit einen Zugang zum Internet hat. Auf diesem und jedem anderen Rechner des LAN können nun Internet-Dienste wie E-Mail, FTP und WWW ausgeführt werden. Daneben besteht nun auch die für einen zukünftigen Informationsanbieter interessante Möglichkeit der Einrichtung eines eigenen Internetservers.
Den oben beschriebenen Luxus einer permanenten IP-Verbindung können sich in der Regel nur öffentliche Einrichtungen wie Hochschulen und finanzkräftige Unternehmen leisten, denn für diese Lösung fallen monatliche Gebühren zwischen DM 3.000 und 5.000 an. Für den privaten Internet-User sind diese Kosten natürlich zu hoch und unerschwinglich weswegen sich diesem Benutzerkreis eine der nachfolgenden Lösungsmöglichkeiten anbietet.
Wählverbindung zu einem Computer im Internet
Bei dieser Art des Internetzugangs ist ein Benutzer mit einem Modem oder ISDN-Anschluß über die Telefonleitung mit einem Rechner verbunden, der seinerseits an das Internet angeschlossen ist. Mittels einer Terminalemulation, die das Protokoll ZMODEM oder XMODEM verwendet, kann nun der Single-User verschiedene Internet-Dienst-Programme auf diesem Rechner ablaufen lassen. Der Benutzer führt sozusagen eine Fernsteuerung des Internet-Rechners durch. Voraussetzung hierfür ist, daß beide Rechner eines der oben genannten Terminal-Protokolle verwenden. Diese Variante des
Internetzugangs findet man häufig an Hochschulen vor, die so ihren Professoren und Studenten einen günstigen Internetzugang verschaffen, denn es fallen hierbei keine weiteren Gebühren außer den verbindungsabhängigen Telefongebühren an. Natürlich kann diese Methode auch kommerziell genutzt werden. In der Regel werden hier neben den Telefongebühren auch Gebühren für die Dauer des jeweils genutzten Dienstes berechnet, wie zum Beispiel bei Compuserve.
Internet-Protokolle über Wählverbindung
Während man bei der oben beschriebenen Wählverbindung zu einem Computer im Internet von einer „Pseudo-Internetverbindung“ sprechen kann, da über die Leitung zwischen dem Benutzer und dem Host-Rechner des Anbieters keine reinen Internet-Protokolle laufen und der Host sozusagen als Zwischenspeicher für den Benutzer dient, kann man bei der Variante der Internet-Protokolle über eine Wählverbindung von einem direkten Internet-Zugang des User sprechen. Um diese Zugangsmöglichkeit nutzen zu können, muß der Netzwerkanbieter das sogenannte Protokoll SLIP (Serial Internet Protokoll) oder das in letzter Zeit mehr favorisierte PPP (Point to Point Protocol) unterstützen. Der Rechner des Benutzers muß entweder TCP/IP und SLIP oder PPP beherrschen, damit diese Zugangsart möglich wird. Somit wird der Einsatz von graphischen Oberflächen möglich, die einen direkten Internet-Zugang voraussetzen.
Beide zuletzt beschriebenen Zugangsmöglichkeiten zum Internet bieten keine 24-Stunden-Verbindung und sind zudem relativ langsam. Sie eignen sich für Single-User, die sich nicht permanent im Internet aufhalten. Ein zukünftiger Informationsanbieter muß sich letztlich mit dem Gedanken anfreunden, die kostspielige Variante der permanenten IP-Verbindung zu nutzen, wenn er einen sinnvollen Dienst aufbauen will. Es werden zwar auch kostengünstigere Alternativen von Connection-Providern angeboten, die auch ohne eine permanente Verbindung zum Internet auskommen, diese sind aber von der Datenpflege her recht umständlich. Die Firma EUnet bietet zum Beispiel die Möglichkeit an, auf einem ihrer eigenen Internet-Server Festplattenspeicher zu mieten. Auf diesem können dann die Seiten des Informationsanbieters abgelegt und zum Abruf im Internet bereitgestellt werden. Aber selbst bei dieser Variante liegen die monatlichen Kosten bei ca. DM 1.000. Viele Provider, - so zum Beispiel T-Online und AOL -, bieten ihren Kunden auch die Möglichkeit, private Home-Pages auf einem ihrer anbietereigenen Rechner einzurichten, in der Regel sogar kostenlos. Das Problem liegt hier allerdings im äußerst begrenzten
Plattenspeicher, der dem Benutzer zur Verfügung steht. Für den professionellen Einsatz scheint also auch diese Möglichkeit nicht geeignet.
Gründe für die Fachhochschule Ludwigshafen, einen WWW-Server einzurichten
So, wie es Konkurrenz zwischen den Unternehmen gibt, existiert auch ein Wettbewerb unter den Hochschulen. Zwar wird hier bei weitem nicht so hart gekämpft, wie man dies aus der freien Wirtschaft kennt, aber jede Hochschule weiß, daß ihr die Kunden, sprich Studenten, nicht unbedingt von selbst zulaufen. Daher sollte jede Hochschule bemüht sein, ihr Studienangebot möglichst positiv nach außen darzustellen. Wie aus den obigen Ausführungen zu ersehen ist, erfreut sich das Internet immer größerer Beliebtheit, und viele Benutzer verwenden die darin angebotenen Informationen. Ist ein Unternehmen im Internet präsent, so signalisiert es damit dem Informationsnachfrager, daß es sich für ihn und nicht zuletzt seine innovative Einstellung zu den neuen Medien interessiert. Allein dieser Punkt könnte ausschlaggebend für eine neue Kundenbeziehung sein. Überträgt man diese Tatsache auf eine Hochschule, so kann der erste Eindruck, den ein Benutzer beim Besuch des Hochschul-Server bekommt, entscheidend für die Bewerbung sein. Dabei genügt nicht nur die schlichte Existenz eines Servers, vielmehr ist das effizient strukturierte und leicht nachvollziehbare Informationsangebot von ebenso fundamentaler Bedeutung.
Im folgenden sollen zunächst drei wesentliche Gründe für die Fachhochschule Ludwigshafen zur Einrichtung eines Internet-Server dargestellt werden:
1. Zur Außendarstellung der Hochschule
• Vermittlung allgemeiner Informationen über die Fachhochschule
Ludwigshafen:
Zum Beispiel Informationen über Standort, Entwicklung und Partner der Fachhochschule.
• Organisation der Fachhochschule:
Zum Beispiel Informationen über Leitung, Personal und Einrichtungen der Fachhochschule.
• Studienangebot:
Beschreibung der Studienmöglichkeiten an der Fachhochschule.
2. Zum Aufbau eines Intranet
• Unter dem Begriff Intranet versteht man die Verwendung von Internet-Diensten innerhalb einer Organisation. Diese Dienste können allerdings nur von autorisierten Benutzern in Anspruch genommen werden, das heißt Internet-Benutzer von außen haben auf bestimmte Bereiche des Internet-Server keinen Zugriff.
• Mit einem Intranet können Informationen wie zum Beispiel Rundschreiben
oder Termine innerhalb der Fachhochschule zwischen den Fachbereichen und Einrichtungen ausgetauscht werden. Damit könnte man der Idee des papierlosen Büros etwas näherkommen.
• Die Einrichtung eines Intranet für die Fachhochschule Ludwigshafen ist
derzeit noch nicht realisiert und liegt noch in der Planung. Hier sei auf den Arbeitskreis Intranet unter der Leitung von Professor Peter Kursawe im Rahmen des Arbeitskreises Internet unserer Hochschule verwiesen, der sich mit dieser Thematik genauer befaßt.
3. Als Informationssystem für Studenten
Nicht zuletzt soll der Internet-Server der Fachhochschule Ludwigshafen ein Informationssystem für unsere Studenten sein. Er soll sie mit wichtigen Informationen versorgen, ihnen die Organisation ihres Studiums erleichtern und als Kommunikationsmittel untereinander und mit den Professoren und Einrichtungen dienen. Folgende interessanten Funktionen seien hier herausgegriffen:
• Hilfe bei der Bewerbung an der Fachhochschule:
Informationen über das Vorgehen bei der Bewerbung um einen Studienplatz (Ansprechpartner, Zugangsbeschränkungen, notwendige Unterlagen, Bewerbungsfristen).
• Studienordnungen:
Zur Verfügungstellung der aktuellen Studienordnung.
• Stundenpläne:
Abfragemöglichkeit der Vorlesungstermine und deren Änderungen über das Internet.
• Anmeldung zu Prüfungen:
Vereinfachung der Anmeldungsprozedur zu Klausuren, Diplomarbeiten, Vordiploms- und Abschlußprüfungen durch Nutzung des Inter- bzw. Intranets und damit Abbau von Wartezeiten.
• Veröffentlichung von Diplomarbeiten:
Studenten soll die Möglichkeit gegeben werden, ihre Diplomarbeiten einem breiten Publikum zur Verfügung stellen zu können.
Die Punkte Stundenpläne, Anmeldung zu Prüfungen und Veröffentlichung von Diplomarbeiten sind zur Zeit noch nicht realisiert. Der Arbeitskreis Internet arbeitet an der Verwirklichung dieser Dienste, dazu sind allerdings grundlegende organisatorische Umstrukturierungen der betroffenen Bereiche wie zum Beispiel Semesterplanungsamt oder Prüfungsamt zu bewerkstelligen, und es müssen geeignete Schnittstellen zwischen diesen Einrichtungen und dem Internet geschaffen werden.
Protokolle 49
Wie bereits erwähnt, ist im Internet ein erstaunliches Spektrum unterschiedlicher Rechnerplattformen miteinander verbunden. Wenn man bedenkt, wie kompliziert es ist, auf konventionellem Weg (zum Beispiel mit Disketten) Daten zwischen einem PC und einem UNIX- oder Macintosh-Computer auszutauschen, verwundert es schon ein wenig, warum das über das Internet so scheinbar problemlos funktioniert. Das Geheimnis dieser enormen Flexibilität im Internet sind die Protokolle, die Kommunikation und Datenaustausch im Internet ermöglichen.
In diesem Abschnitt soll nun kurz auf die wichtigsten Protokolle, deren Funktionen und Aufgaben im Internet eingegangen werden. Da man einen Internet-Dienst aufbauen kann, auch wenn man die Funktionsweise von
49 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 9
Protokollen nicht in allen Einzelheiten kennt, sollen hier nur die Grundfunktionen von Protokollen und die drei wesentlichen Protokolle IP, TCP und UDP behandelt werden. Für tiefergehende Informationen sei hier auf die weiterführende Literatur verwiesen.
Zunächst soll geklärt werden, was ein Protokoll ist und welche Aufgaben es zu leisten hat. Da der Begriff in verschiedenen Zusammenhängen gebraucht wird, sei zunächst erwähnt, daß immer „Kommunikationsprotokoll“ gemeint ist, wenn in diesem Text der Begriff „Protokoll“ gebraucht wird.
Definition: Ein Protokoll definiert ein Schema, nach dem ein Datenaustausch zu
Demnach sind Protokolle sozusagen Sprachen, mit denen sich Rechner verständigen können. Im Internet ist das wichtigste Protokoll TCP/IP. Es sichert den problemlosen Datenaustausch zwischen den Rechnern im Internet. Dabei spielt es keine Rolle, in welchem Netzwerk sich der Rechner befindet oder um welche Rechnerplattform es sich handelt.
Protokoll-Hierarchie 51
Da ein einziges Protokoll der Vielzahl von Anforderungen nicht gewachsen ist, werden im Internet eine ganze Reihe von Protokollen verwendet, die unter dem Sammelbegriff TCP/IP zusammengefaßt sind, wobei TCP (Transmission Control Protocol) und IP (Internet Protocol) die zentralen Protokolle darstellen.
Folgende Anforderungsprofile sollten von einem Internet-Protokoll erfüllt werden:
• Möglichst große Unabhängigkeit von der verwendeten Netzwerk-Hardware,
sowohl hinsichtlich der verwendeten Übertragungsmedien (Kupferkabel,
50 vgl. Krückeberg, Spaniol 1990, S. 490
51 vgl. Zenk 1994, S. 217 ff
Lichtwellenleiter etc.) als auch des lokalen Netzwerkbetriebssystems (Ethernet, Token-Ring etc.)
• Erreichbarkeit aller Rechner im gesamten Internet
• Fehlererkennung und Fehlerkorrektur
• Logische Adressierung. Das heißt, die Adresse eines Rechners im Internet
sollte nicht von der Netzwerk-Hardware abhängen. So hat zum Beispiel eine Ethernet-Karte eine fest codierte 48 Bit lange Adresse. Ein Austauschen dieser Karte würde ohne logische Adressierung automatisch zu einem Adresswechsel führen.
• Versenden von Paketen (ähnlich wie beim Telegramm).
• Herstellen von Verbindungen (ähnlich wie beim Telefongespräch).
• Übertragen der notwendigen Daten, um die gewünschten Dienste zu
realisieren.
Damit diese Anforderungen erfüllt werden können, benötigt man nicht nur mehrere Protokolle, sondern auch einen sinnvolle Anordnung derselben. Zu diesem Zweck wurde ein Schichtenmodell entwickelt, in dessen unteren Schichten sich die low-level-Protokolle befinden, welche eng auf der Hardware aufsetzen. In den höheren Schichten befinden sich Protokolle, die eine Anwendung beziehungsweise einen Dienst ermöglichen. So bietet das Internet Protocol (IP) der darüberliegenden Schicht den Transport von kleinen Datenpaketen an. Diese Funktionalität kann genutzt werden, ohne die darunterliegende Hardware zu kennen.
Die folgende Tabelle zeigt ein vereinfachtes Schichtenmodell:
Die Ebene Lokales Netzwerk
In der hier mit Lokalem Netzwerk bezeichneten untersten Ebene dieses einfachen Modells befinden sich neben den Übertragungsmedien auch die Netzwerkkarten wie zum Beispiel Ethernet oder Token-Ring. Die Aufgabe einer Netzwerkkarte besteht im Transport von Datenpaketen, sogenannten Frames, die eine Größe von einem bis 1500 Byte haben können. Ein Frame besteht aus zwei Teilen, wobei im ersten Teil, dem sogenannten Kopf, wichtige Informationen wie zum Beispiel die Zieladresse des Datenpakets gespeichert ist. Die eigentlichen Nutzdaten eines Frames befinden sich im zweiten Teil. Diese werden von der nächsthöheren Schicht im Modell verwendet und wiederum mit einem Kopf- und Nutzdatenteil versehen.
Der Aufbau eines Frame ist in Abbildung 6 noch einmal bildlich dargestellt.
Die Ebene Internet
Die Internet-Ebene baut direkt auf die Funktionalität eines lokalen Netzwerkes, - also zum Beispiel auf eine vorgegebene Ethernet-Hardware -, auf. Sie ist für den gesamten Datentransport im Internet verantwortlich.
Die drei wichtigsten Protokolle der Internet-Schicht sind das Internet Protocol (IP), das Address Resolution Protocol (ARP) und das Internet Control Message Protocol (ICMP).
Internet Protocol (IP)
IP ist neben den beiden anderen größeren Protokollen TCP und UDP der TCP/IP-Familie mit das wichtigste Protokoll im Internet. In IP sind die eben genannten Protokolle ähnlich wie in Briefumschlägen eingepackt. Im IP-Paket ist die Adresse des Internet-Rechners gespeichert, an welchen die Daten geschickt werden sollen.
Eine solche Adresse besteht aus einer 32-Bit langen Zahl, die zwischen 0 und 4,3 Milliarden liegen kann. Da von einem Benutzer nicht verlangt werden kann, daß er sich solche „Megazahlen“ merken muß, werden diese IP-Adressen in einer etwas leichter zu merkende Kurzform, der sogenannten Oktette, geschrieben. Dazu wird die 32-Bit-Adresse zunächst in vier Gruppen von jeweils 8 Bit zerlegt. Danach werden die 8-Bit-Gruppen in jeweils eine Dezimalzahl umgewandelt. Zum Schluß werden die resultierenden 4 Dezimalzahlen ebenfalls miteinander verbunden und durch Punkte voneinander getrennt.
Abbildung 38: Binärdarstellung einer IP-Adresse
In Abbildung 7 ist die IP-Nummer des WWW-Servers der Fachhochschule Ludwigshafen nach diesem Verfahren aufgeschlüsselt. Der Aufbau einer IP-Adresse ergibt sich aus folgendem hierarchischen Aufbau: Netz, Teilnetz, Computer. In der Regel beschreiben die beiden ersten beziehungsweise die ersten drei Oktette das Netz, die letzten 16 beziehungsweise 8 Bit das Teilnetz und den Computer der IP-Adresse. Durch diesen Aufbau einer IP-Adresse wird ein sinnvolles Routing im riesigen Internet erst sinnvoll, denn Internet-Router müssen lediglich über eine Liste mit allen Netzen verfügen, um ein IP-Paket an die richtige Adresse weiterzuleiten. Müßte ein Router den Weg zu jedem einzelnen Computer kennen, müßte er im Extremfall 4,3 Milliarden Einträge enthalten. Ist nun ein IP-Paket im richtigen Netz angekommen, muß es von den dortigen Routern nur noch in das gewünschte Teilnetz und von dort zum entsprechenden Computer weitergeleitet werden. IP stellt demnach lediglich die Adressierungsinformationen zur Verfügung, die zu einem Transport
von Daten zwischen zwei Rechnern benötigt werden. IP führt allerdings weder eine Fehlerprüfung durch, noch stellt es sicher, daß die Daten-Pakete in der Reihenfolge beim Adressaten ankommen, wie sie abgeschickt worden sind.
Address Resolution Protocol (ARP)
Neben den im obigen Abschnitt beschriebenen sogenannten logischen Adressen gibt es auch Hardware-Adressen, welche vom Protokoll ARP versorgt werden. Zwischen logischer und Hardware-Adresse besteht eine Beziehung im Verhältnis von 1:1. ARP hat dabei die Aufgabe, logische Adressen in Hardware-Adressen umzuwandeln. Für diese Umwandlung nutzt ARP die Broadcasting-Möglichkeiten (= das Senden an eine Netzwerk-Hardware-Adresse) der Ethernet-Technik. Ein Broadcast-Paket enthält die IP-Adresse der Station, die angesprochen werden soll. Die betroffene Station sendet dann ihre Hardware-Adresse an den Absender des Broadcast. Ein Rechner speichert die gewonnenen Erkenntnisse über die Beziehung zwischen logischen Adressen und Hardware-Adressen in einem speziellen Zwischenspeicher, dem ARP-Cache. Dadurch kann die Netzbelastung gesenkt werden, da die am häufigsten benutzten Zuordnungen schon im Speicher vorhanden sind.
Internet Control Message Protocol (ICMP)
Im Zusammenhang mit IP gibt es ein weiteres Protokoll, das einfache Rückbeziehungsweise Fehlermeldungen darüber liefert, wie die Internet-Schicht arbeitet. Werden Daten über Gateway (Rechner zur Kopplung von zwei oder mehreren verschiedenen Netzwerken) transportiert, können Fehler auftreten. So könnte beispielsweise der Pufferspeicher eines Gateways überlastet sein, wodurch ein Weiterleiten des Datenpakets nicht mehr möglich ist. Eine weitere, häufig auftretende Fehlerquelle könnte die Überschreitung der maximalen Transportkapazität des Gateways oder des Übertragungsmediums (zum Beispiel Kupferkabel) sein. In diesen Fällen übermittelt ICMP Fehlermeldungen über die Art und Ursache des aufgetretenen Fehlers und bietet den Protokollen der Internetschicht „Ratschläge“, wie sie ihr Verhalten anpassen können, um den Fehler abzufangen.
Die Ebene Host-to-Host
Die Host-to-Host- beziehungsweise Transportschicht ist für die Datenübertragung von Rechner zu Rechner verantwortlich. Diese Aufgabe übernehmen im wesentlichen die beiden Protokolle UDP und TCP, die im folgenden vorgestellt werden:
User Datagram Protocol (UDP)
Bei UDP handelt es sich um ein verbindungsloses Transportprotokoll in der Internetfamilie. Als Protokoll der Transportschicht verwendet es bei der Zustellung der Daten das Protokoll IP. UDP nimmt die Daten von IP entgegen und fügt dem Paket lediglich zwei Merkmale hinzu, wobei eines davon optional ist. Bei der ersten zugefügten Eigenschaft handelt es sich um die Portnummern. Ports sind eine Art Unteradressierung und kennzeichnen einzelne Dienste auf einem Rechner. Damit mehrere Dienste auf einem Rechner laufen können, wird ein Bezeichner verwendet, der über die Zielportnummer feststellt, an welches Programm (zum Beispiel Telnet oder FTP) die Daten weitergeleitet werden sollen. Ohne Ports könnte maximal ein Dienst (zum Beispiel FTP) pro Rechner benutzt werden. Eine Portnummer besteht aus einer 16 Bit breiten Zahl (von 0 bis etwa 65000). Es gibt Anwendungen, die auf fast allen Internet-Rechnern die gleiche Portnummer haben. So ist der Port 25 auf den meisten Rechnern für den Mail-Server, Port 23 in der Regel für das Telnet-Protokoll reserviert.
Beim optionalen Merkmal von UDP handelt es sich um die Prüfsummenbildung. Mit diesem Verfahren ist es möglich, festzustellen, ob die Daten während der Übertragung verändert worden sind. Da diese Option die Geschwindigkeit beeinträchtigt, wird häufig auf diese Anwendung verzichtet. UDP wird beispielsweise vom Netware File System (NFS) zur Übertragung von Daten innerhalb des lokalen Dateisystems verwendet. Allerdings ist bei UDP zu beachten, daß der Datentransport relativ unsicher ist. Da die Wahrscheinlichkeit steigt, daß beim Verlassen des lokalen Netzwerks IP-Pakete verloren gehen, ist die Verwendung von UDP für die meisten Anwendungen nicht ausreichend. UDP eignet sich also eher für kurze Anfragen und Antworten, die in ein IP passen.
Transmission Control Protocol (TCP)
Der beim Protokoll UDP erwähnte Mangel an Datensicherheit bei der PaketÜbermittlung wird vom Transmission Control Protocol (TCP) ausgeglichen. Mit TCP ist es nun auch möglich, anspruchsvollere Anwendungen mit einem höheren Grad an Zuverlässigkeit zu versorgen. Daneben sorgt TCP dafür, daß die Datenpakete in der Reihenfolge ankommen, in der sie abgeschickt worden sind. Damit wird die in Abschnitt 0 erwähnte Unfähigkeit von IP, die korrekte Aufeinanderfolge der Daten sicherzustellen, ausgeglichen. Hierzu verwendet TCP sogenannte Sequenznummern, die in jedes IP-Paket neben den eigentlichen Daten eingetragen werden und bei jedem neuen Paket um 1 erhöht werden. Anhand dieser Nummern kann der Empfänger die Reihenfolge der Pakete feststellen. Außerdem kann der Empfänger feststellen, ob die Daten vollständig angekommen sind. Kommen beispielsweise die Sequenznummern 1,2 und 5 beim Empfänger an, so fehlen 2 IP-Pakete. TCP wird dann vom Empfänger veranlaßt, die Daten erneut zu senden. Auch TCP verwendet wie UDP das Port-Konzept (siehe Abschnitt 0), um mehrere Dienste innerhalb eines Computers ansprechen zu können.
Vergleich von TCP und UDP:
Die Ebene Anwendung
An der Spitze des in Abbildung 5 dargestellten vereinfachten Schichtenmodells befindet sich die Anwendungsschicht.
In ihr befinden sich zum einen Anwendungen und zum anderen Protokolle.
Bei den Anwendungen wird zwischen Client-Programmen, mit denen ein Benutzer bestimmte Dienste wie z.B. FTP oder TELNET ausführen kann, und Server-Programmen, auch Dämonen genannt, welche die oben genannten Dienste anbieten, unterschieden. Bei den Dämonen handelt es sich um Programme, die entweder einmal gestartet werden und ständig auf dem Server laufen oder bei einer Client-Anfrage vom Superserver inetd gestartet und nach der Verarbeitung der Anfrage wieder beendet werden. Die Client-Programme hingegen sind in der Regel nur zeitweise aktiv, z.B. wenn ein Benutzer Informationen aus den Internet abrufen will.
Neben den reinen Anwendungen befinden sich in dieser Schicht, wie bereits oben erwähnt, auch Protokolle. Diese werden von den Anwendungen zur Datenübertragung verwendet.
Das Zusammenspiel zwischen Anwendung und Protokoll soll nachfolgend an einem Beispiel erläutert werden.
Will ein Benutzer eine E-Mail schreiben, so verwendet er dazu ein Mail-Programm (Client-Programm). Das Mail-Programm verwendet nun seinerseits das dienstspezifische Protokoll SMTP (Simple Mail Transfer Protokoll) zum Versenden der Mail. Damit die Mail weitergeleitet werden kann, wird ein
Server-Programm zur Weiterverarbeitung des Auftrags benötigt. Hierzu gibt es einen SMTP-Server (meist das UNIX-Programm „sendmail“), welcher die Mail an den SMTP-Server des Empfängers weiterleitet. Dort wird die Mail in einem Speicher (z.B. Festplatte) abgelegt. Der Empfänger kann jetzt mit seinem Mail-Programm die E-Mail abfragen und lesen.
Der Superserver inetd 52
Mit dem Portkonzept (siehe 0) ist es möglich, auf einem Rechner eine große Zahl von Servern gleichzeitig laufen zu lassen. Um keinen Speicherplatz durch den Dauerbetrieb von nur wenig beanspruchten Server-Programmen zu verschwenden, werden die meisten erst bei Bedarf durch den Superserver inetd gestartet und nach der Verarbeitung der Daten wieder beendet. Dabei hat inetd die einzige Aufgabe, die Ports permanent nach Anfragen von Clients abzufragen und die entsprechenden Programme zu starten. Damit inetd bei einer Anfrage den richtigen Server startet, holt er sich die notwendigen Angaben aus der Konfigurationsdatei inetd.conf (siehe Anhang - Abbildung 1). Versucht ein Client zum Beispiel, eine FTP-Session zu einem Server
52 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 13
herzustellen, startet inetd das in Zeile 25 im Anhang - Abbildung 1 aufgeführte FTP-Programm.
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/wu.ftpd
Mit dem ersten Eintrag wird das jeweilige Dienstprogramm definiert. Der Service-Name (hier ftp) ist direkt auf eine Portnummer abgebildet, die inetd abhört. Diese Beziehung ist in der Datei services im Verzeichnis /etc definiert (siehe Anhang - Abbildung 2). Dort wird durch den Eintrag:
ftp 21/tcp
in Zeile 27 allen Anfragen, die an Port 21 gerichtet werden, das FTP-Programm zugewiesen.
Die Einträge stream und tcp weisen dem Protokoll TCP einen seriellen Datenstrom zu. Nowait teilt inetd mit, daß für jeden Client ein neuer Server aktiviert werden soll. Würde an dieser Stelle wait eingetragen, so würde bei einer Client-Anfrage jeweils nur ein Server gestartet. In diesem Fall wäre der Server solange für neue Anfragen blockiert, bis die letzte Session beendet ist.
Der Eintrag root gibt an, unter welcher Benutzerkennung der Server laufen soll. Normalerweise ist hier der Superuser (root) eingetragen. Aus Sicherheitsgründen kann hier aber auch ein spezieller User mit weniger Rechten verwendet werden. Der sechste Eintrag in inetd.conf enthält den Pfadnamen des Serverprogramms, während das letzte Element (/usr/sbin/wu.ftpd) aus der kompletten Kommandozeile für den Server einschließlich des Servernamens und seiner Argumente besteht.
Inetd eignet sich also besonders für Server-Programme, die nur relativ selten benötigt werden. Ein weiterer Vorteil von inetd besteht darin, daß Veränderungen an den Konfigurationsdateien der Server-Programme sofort beim nächsten Aufruf durch den Superserver wirksam werden.
Eigenständige Server 53
53 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 14
Werden Dienste auf einem Server stark frequentiert, stößt man schnell an die Grenzen von inetd. Da inetd ein Server-Programm bei einer Anfrage jedesmal neu startet, muß das betroffene Programm auch seine Konfigurationsdateien neu einlesen. Dies kann bei starkem Benutzerandrang zu zeitlichen Engpässen und Systemüberlastungen führen.
In diesem Fall empfiehlt es sich, den entsprechenden Server als eigenständigen Dämon laufen zu lassen. Der eigenständige Dämon überwacht bei diesem Verfahren den ihm zugeordneten Port und erstellt für jede eintreffende Client-Anfrage eine Kopie von sich selbst. Durch diese schnellere Methode können die oben geschilderten Probleme von inetd weitgehend umgangen werden.
Namenskonventionen 54
In Abschnitt 0 wurde der Aufbau einer IP-Adresse näher beleuchtet. Über diese Nummer wird einem Rechner eine eindeutige Adresse zugewiesen. Bewegt man sich im Internet, stößt man allerdings nur sehr selten auf diese Nummern. In der Regel wird ein Rechner über einen ihm zugewiesenen Namen, hinter dem sich letztlich die entsprechende IP-Nummer verbirgt, angesprochen. Um Rechnern statt den IP-Adressen auch logische Namen zuordnen zu können, wurde das Domain Name System (DNS) geschaffen. In den Anfängen des Internet erfolgte diese Zuordnung über eine zentral gehaltene Datei (/etc/hosts auf UNIX-Systemen) durch den Network Information Center (NIC). Diese Datei wurde regelmäßig mittels FTP an alle Rechner jeder Domain verschickt und ordnete jeder IP-Adresse einen eindeutigen Namen zu. Durch das rasante Anwachsen des Internet und der damit verbundenen immer größer werdenden Anzahl von IP-Adressen wäre eine Übermittlung der hosts-Datei mit FTP und das Aktualisieren der Daten zu aufwendig gewesen. Mittlerweile ist die Datei /etc/hosts zu einer beachtlichen Datenbank angewachsen. Sie wird in Zonen aufgeteilt und von sogenannten Domain Name Servern innerhalb der Zone verwaltet. Jeder Domain Name Server sieht also nur einen Teil des gesamten Domain Name Space. Es gibt
54 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 15
1. Der Domain Name Space
Der Domain Name Space und die sogenannten Resource Records bilden einen baumartigen, hierarchisch strukturierten Namensraum (siehe Abbildung 10). Unter den Resource Records versteht man Datensätze, die den jeweiligen Knotenpunkten zugeordnet sind.
2. Die Name Server
Unter ihnen versteht man Name Server Programme beziehungsweise Rechner, in welchen die Informationen über die Struktur des Domain Name Space verwaltet und aktualisiert werden.
3. Die Resolver
Bei den Resolvern handelt es sich um Programme, die einem Name Server zugeordnet sind und für den Client Anfragen bezüglich der passenden IP-Nummer zu einem Rechnernamen stellen. Kann ein Name Server eine Anfrage nicht beantworten, muß er die Antwort unter Umständen bei
anderen Name Servern, mit denen er über Referenzen verbunden ist, erfragen, bevor er sie an den Resolver zurückgibt (siehe Abbildung 11).
Die Zonen, welche die Name Server des Domain Name Service verwalten, beinhalten einen Knotenpunkt im DNS Baum und alle darunterliegenden Zweige. In jeder Zone gibt es aus Sicherheitsgründen mindestens zwei aktive Name Server (primary und secondary), die jeweils ihre nächsthöheren und -tieferen Nachbarn kennen. Somit wird zum Beispiel der Bereich der primary-Server vom DE-NIC betrieben.
Ein kurzer Einschub zum Thema: Client / Server 55
In den bisherigen Ausführungen wurden häufig die Begriffe Client und Server verwendet. Dies läßt den Schluß zu, daß das Internet auf einer Client-Server-Architektur basiert. Nachfolgend soll nun geklärt werden, um was es sich eigentlich bei einem Client-Server-System handelt, welche Bedeutung ein
55 vgl. Zenk 1994, S. 704 ff
solches System für das Internet hat und wie die Kommunikation zwischen einem Client und einem Server im Internet abläuft.
Seit Anfang der 60er Jahre sind Mainframes ein gewohntes Bild des Computer-Zeitalters geworden. Mainframes wie die IBM/370 sowie nicht IBMkompatible Systeme von Bull, Unisys, Siemens oder Tandem prägen immer noch das Bild der Rechenzentren in Unternehmen und Behörden.
Die Systemarchitektur eines Mainframe ist zentralistisch ausgerichtet. Die Zentraleinheit, kurz CPU, steht im Mittelpunkt und setzt sich aus den Komponenten für Verarbeitung, zentrale Speicherung sowie Ein- und Ausgabe zusammen. In der traditionellen Mainframe-Terminal-Umgebung sind alphanumerische Terminals mit der CPU verbunden. Die CPU eines Mainframes zeichnet sich durch schnelle Durchsatzleistungen, große virtuelle Adreßräume und Plattenkapazitäten im GB-Bereich aus. In einer typischen Mainframe-Umgebung ist ein Einsatz von 1000 Terminals keine Seltenheit. So lassen sich Terminals nicht nur in großer Stückzahl, sondern auch über große Entfernungen, zum Beispiel mittels SNA-Links, in eine IBM-Welt integrieren.
Den oben genannten Vorteilen stehen aber auch Nachteile gegenüber. So kann beispielsweise das Einbinden eines zusätzlichen Terminals dazu führen,
daß das gesamte System heruntergefahren werden muß. Bei der Verwendung von Mainframe-Systemen kann in der Regel nicht auf den Einsatz von EDV-Spezialisten verzichtet werden. Dadurch wird das System unflexibler, und der administrative Aufwand nimmt zu. Andererseits bedeutet die Zunahme von Terminals, daß die Antwortzeiten bei rechenintensiven Prozessen extrem zunehmen. Terminals werden von der CPU des Mainframe über ein Time-Sharing-Verfahren gesteuert. Daher nimmt mit der steigenden Anzahl von Terminals die Breite des Zeitfensters pro Terminal ab.
Fällt einmal der Großrechner aus, kommt damit auch das gesamte System zum Erliegen, da die Terminals, die in der Regel nur aus Bildschirm und Tastatur bestehen, nicht eigenständig arbeiten können.
Aufgrund des zunehmenden Kostendrucks und Miniaturisierungszwangs wurden Anfang der 70er Jahre die Mainframes durch die Minicomputer ersetzt. Dadurch änderte sich die Systemarchitektur vom zentralen Großrechner hin zu vielen autarken Abteilungsrechnern. Bei dieser Lösung blieb aber die zentralistische Systemstruktur weiterhin bestehen: Unintelligente Terminals sind im Master-Slave Betrieb mit einem Host verbunden, Informationen werden weiterhin zentral bearbeitet.
Als Mitte der 70er Jahre die ersten stand-alone Personal Computer auf den Markt kamen, traten sie den Siegeszug gegen die etablierten Mainframes an. Sie zeichneten sich durch die einfache, nüchterne Philosophie aus, die Rechnerleistung dort zur Verfügung zu stellen, wo sie tatsächlich gebraucht wird - auf dem Schreibtisch des Benutzers.
Als dann zu Beginn der 80er Jahre die ersten PCs in einem LAN miteinander vernetzt wurden, war der Weg zu heutigen Client-Server Architekturen nicht mehr weit. Mit dem Client-Server Gedanken sind unweigerlich mehr Unabhängigkeit, Flexibilität und Erweiterbarkeit verbunden. Unabhängigkeit wird dadurch gewährleistet, daß jedem Anwender seine Rechenleistung zur Verfügung steht und diese nicht mit anderen geteilt werden muß. Flexibilität läßt sich erreichen, wenn die Rechenleistung kontinuierlich den Leistungsanforderungen des Anwenders angepaßt werden kann.
Die beiden Punkte Unabhängigkeit und Flexibilität sind somit auch die wesentlichen Vorteile, die ein Client-Server System gegenüber einer Mainframe Architektur hat. Fällt beim Client-Server Computing einmal ein Server aus, so fällt im schlimmsten Fall lediglich ein Teilbereich des Gesamtnetzes aus. Ein Totalausfall, wie dies bei Mainframe Systemen oft der Fall ist, ist eher unwahrscheinlich.
Genau dieser Sachverhalt war und ist auch heute noch entscheidend für die Entwicklung des Internet. Der rasante Erfolg des Internet ist also sicherlich auch auf die Entwicklungen im Bereich der Client-Server Architektur der letzten Jahre zurückzuführen.
Abschließend soll nun noch gezeigt werden, wie die Kommunikation, die ein typischer Client eines Informationsdienstes mit einem Informations Server führt, abläuft. Angenommen, ein Benutzer möchte auf einem WWW-Server ein bestimmtes Dokument einsehen. Dazu gibt er in seinem Client-Programm (Web-Browser) den kompletten URL (Uniform Resource Locator) ein, welcher die Adresse des WWW-Servers und die Bezeichnung des Dokumentes beschreibt. Der Client (Rechner des Benutzers) nimmt die Eingabe entgegen und übersetzt sie in eine an den Server gerichtete zulässige Anfrage. Der Server sucht dann in der Datei /etc/services nach der richtigen Portnummer für den WWW-Server und findet folgendes:
www 80/tcp
(siehe Zeile 50 Anhang - Abbildung 2). Hier ist festgelegt, daß alle Anfragen an den WWW-Server über das TCP Protokoll erfolgen und der Port 80 angesprochen wird. Der Client beginnt nun ein oder mehrere IP-Pakete an den Port 80 des Servers zu senden. An Port 80 der Zielmaschine wartet nun entweder das WWW-Server Protokoll (HTTP) selbst, oder an seiner Stelle inetd, je nachdem, ob es sich um einen eigenständigen Server handelt oder nicht. Läuft der WWW-Server als ein eigenständiger Server, so verarbeitet er die empfangenen TCP-Daten direkt oder das Protokoll HTTP wird erst noch von inetd gestartet, um mit der Verarbeitung der Daten beginnen zu können. Client und Server können nun die entsprechenden Daten untereinander
austauschen. Der Client empfängt die gewünschten Informationen und speichert sie im Hauptspeicher oder auf der Festplatte ab. Sind die Informationen vollständig auf den Client übertragen, wird die TCP-Verbindung mit einer speziellen TCP-Paketsequenz geschlossen.
Einführung in die Internet-Dienste
In Kapitel 1 wurden die wesentlichen, technischen Grundlagen des Internet grob erläutert. Dieses theoretische Grundwissen ist völlig ausreichend für den Betrieb eines WWW-Servers. Der interessierte Leser sei daher auf die weiterführende Literatur verwiesen. Im folgenden Kapitel sollen nun die Informationsdienste im Internet wie E-Mail, FTP, Gopher, WAIS und das World-Wide-Web näher erklärt werden. Bei der Beschreibung wird mit den Informationsdiensten begonnen, die aufgrund ihrer Popularität und einfachen Verfügbarkeit von einem sehr großen Benutzerkreis verwendet werden. Später wird dann auf die in bezug auf ihre Verfügbarkeit und Einrichtung etwas anspruchsvolleren Dienste näher eingegangen.
E-Mail-Dienste 56
Electronic-Mail - oder kurz E-Mail - erlaubt den Austausch von Nachrichten über elektronische E-Mail Netzwerke. E-Mail ist einer der ältesten und verbreitetsten Netzdienste überhaupt. Da heutzutage fast jeder Rechner über mindestens ein Mail-System verfügt, kann ein Benutzer mit standardisierten Protokollen problemlos am E-Mail-Verbund teilnehmen. Auch die Einrichtung eines E-Mail Server ist relativ einfach, da in der Regel jeder UNIX-Rechner, also auch Linux, über das SMTP (Simple Mail Transfer Protokoll) verfügt. Bei näherer Betrachtung des Systems ist es immer wieder hilfreich, sich die Analogie zum normalen Postweg zu vergegenwärtigen. Bei der Zustellungsdauer besteht zwischen beiden Systemen jedoch ein gewaltiger Unterschied. Während zum Beispiel eine Ansichtskarte aus Amerika mehrere Wochen unterwegs sein kann, benötigt eine über E-Mail versandte Nachricht lediglich Minuten, um zum Empfänger auf der anderen Seite der Erde zu
gelangen. Auch die geringeren Kosten, die E-Mail gegenüber der herkömmlichen Post verursacht, machen diesen Dienst immer attraktiver.
Um einen Brief über den herkömmlichen Postweg zu versenden, sind im wesentlichen die folgenden drei Schritte notwendig:
1. Erstellen des Briefes.
2. Eintragen des Empfängers (und eventuell des Absenders) auf dem Briefumschlag.
3. Abgabe auf dem Postamt und Bezahlung der Gebühr.
Genau wie vor dem Versenden eines Briefes eine korrekte Empfängeradresse auf den Umschlag geschrieben werden muß, müssen auch E-Mails mit korrekten Empfängerdaten versehen werden. Hat ein Absender seinen Brief bei der Post abgeliefert, so braucht er sich nicht mehr darum zu kümmern, über welche Wege der Brief zum Empfänger gelangt. Genauso ist es auch für den E-Mail Absender unerheblich, welche Wege seine Post nimmt, um schließlich beim Empfänger anzukommen. Nach dem Betätigen der „Sende-Taste“ ist der E-Mail Vorgang für den Absender beendet. Die Wegewahl zum Empfänger wird vom Mail-Transportsystem übernommen. Das Transportsystem liefert die Mail bis zur „eigenen Haustür“ des Empfängers, dem benutzereigenen Briefkasten (Mailbox oder Inbox genannt).
Voraussetzung für die weltweite Kommunikation über E-Mail sind eindeutige Mail-Adressen. Als Identifizierung für Mail-Adressen wird eine Kombination aus Benutzernummer / Benutzername und Domainnummer / Domainname verwendet. Daraus ergibt sich die Schreibweise nach dem Schema user@domain (gesprochen user at domain). User steht dabei für den Benutzeraccount, welcher in der Regel aus Buchstaben und / oder Ziffern (auch Sonderzeichen sind erlaubt) besteht. Domain steht für den Rechnernamen, dem durch das Domain Name System (siehe Abschnitt 0) eine eindeutige IP-Adresse zugeordnet ist. Da auf Rechnern die Benutzeraccounts eindeutig sein müssen, wird durch den beschriebenen Aufbau einer E-Mail Adresse der zu Beginn genannten Forderung nach Eindeutigkeit einer E-Mail Adresse
56 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 457 ff
Rechnung getragen. Ein Beispiel einer gültigen Adresse ist: guido@fhludwigshafen.de. Eine an diese Adresse verschickte Mail ist also für einen Benutzer mit dem Account guido auf dem Rechner fh-ludwigshafen.de bestimmt.
FTP 57
Ein weiterer, wichtiger und häufig verwendeter Dienst im Internet ist das File Transfer Protocol (FTP). FTP bezeichnet neben dem Protokoll auch gleichzeitig den Dienst, der mit dem Protokoll realisiert ist: Die Übertragung von Dateien zwischen verschiedenen Rechnern über das Netz. FTP arbeitet wie viele andere Internet Dienste auch Client-Server orientiert und steht auf fast allen Plattformen zur Verfügung. Um Dateien von einem Rechner zum anderen zu übertragen, benötigt ein Client die notwendigen Zugriffsrechte auf dem Server. Um Benutzern den Zugriff auf die FTP Datenarchive zu erleichtern, wurden weltweit verteilte, frei zugängliche Anonymous FTP-Server eingerichtet. Auf diesen Rechnern werden gewaltige Mengen der unterschiedlichsten Daten zur Verfügung gestellt. Auf diesen Servern findet man für fast alle denkbaren Rechnertypen Software, Dokumente jeglicher Art, Bilder, Videosequenzen, Sounddateien und vieles mehr. Der Vorteil eines Anonymous FTP-Server liegt darin, daß ein Client keine spezifischen Zugriffsrechte benötigt. Hat ein User eine Verbindung zu einem solchen FTP-Server aufgebaut, so gibt er als Benutzernamen anonymous (oder ftp) und als Paßwort seine komplette E-Mail Adresse ein (siehe Abbildung 13: Die fett markierten Textstellen sind die notwendigen Benutzereingaben).
57 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 59 ff
Abbildung 44: Eine einfache Beispielsitzung auf einem Anonymous-FTP Server
Der zentrale Bestandteil des FTP-Protokolls besteht in der Trennung zwischen Kontroll- und Datenverbindung. Vereinfacht betrachtet, läuft eine FTP-Sitzung folgendermaßen ab: Der Client baut zunächst eine Kontrollverbindung zum FTP-Server auf und schickt über diese Kommandos an den Server. Der Server antwortet auf die Kommandos ebenfalls über diese Kontrollverbindung. Mit den Kommandos legt der Client die Parameter für die Datenübertragung zum
durchzuführenden Operationen (zum Beispiel Auflisten, Abholen, Speichern von Dateien) fest. Die Datenverbindung dient lediglich der Übertragung von Daten, nachdem zuvor über die Kontrollverbindung die erforderlichen Parameter zur Datenübertragung zwischen Client und Server festgelegt worden sind. Nach erfolgreicher Datenübertragung wird dann die Verbindung zwischen Client und Server durch eine bestimmte Sequenz (zum Beispiel durch den Befehl quit) beendet.
Auch wenn ein großer Nachteil von FTP in der relativ bescheidenen Geschwindigkeit bei der Datenübertragung liegt, ist es dennoch ein Dienst, der auf keinem Internet-Server fehlen sollte. Neben der Möglichkeit, Daten von einem Server auf einen Client zu übertragen, kann umgekehrt ein Client auch Daten auf einen Server mittels FTP übertragen. Aus diesem Grund ist FTP unter anderem ein wichtiger Informationsdienst in Zusammenhang mit einem WWW-Server. Mit den Up- und Download-Möglichkeiten des File Transfer Protocol können beispielsweise die HTML-Dateien eines WWW-Servers von jedem beliebigen Standort im Internet aus gepflegt werden.
Telnet und Finger 58
Telnet ist der erste Dienst, der im Internet implementiert wurde. Mit Telnet, dem Standard-Remote-Login Dienst, kann man auf Rechnern im Netz so arbeiten, als ob die eigene Tastatur und das eigene Terminal direkt am entfernten Rechner angeschlossen wären. Wie bei FTP ist in der Regel auf anderen Rechnern eine Zugangsberechtigung (Account) notwendig, damit ein Client auf diesen Remote-Rechnern arbeiten kann. Viele Server im Internet bieten daher einen Guest-Account an, so daß ein Benutzer nur bestimmte Programme wie zum Beispiel Datenbankschnittstellen nutzen kann. Manche Server verlangen auch überhaupt keinen expliziten Einlog-Vorgang. In der Regel wird der Telnet-Server mit dem Telnet-Dämon telnetd gestartet.
Standardmäßig ist der Zugangsport für Telnet der Port Nummer 23, und der Server wird meistens über den Superserver inetd gestartet, wenn eine Anfrage
an diesen Port gesendet wird (siehe Zeile 27, Anhang - Abbildung 1 und Zeile 29, Anhang - Abbildung 2). Hat ein Client mit einem Telnet-Server eine Verbindung aufgebaut, so laufen beim Start einer Sitzung zwischen dem Telnet-Client und dem Telnet-Dämon zunächst Verhandlungen ab, bei denen der Client über den Server dem Anwendungsprogramm den Typ seines Terminals mitteilen kann. Telnet sorgt dann dafür, daß der Log-in-Vorgang für den Client so abläuft, als ob er direkt mit dem Host-Rechner arbeiten würde. War die Anmeldung des Clients erfolgreich, so kann der eingelogte Benutzer die System-, Programm- und Dateiressourcen des Servers in Anspruch nehmen. Dabei behandelt der Remote-Rechner den Telnet-Teilnehmer wie ein eigenes physikalisches Terminal. Neben diesen interessanten Eigenschaften von Telnet eignet sich dieser Dienst auch sehr gut zu bestimmten Testzwecken. In einem späteren Kapitel wird gezeigt, wie man mit Telnet nach dem Start eines WWW-Dämons überprüfen kann, ob dieser ordnungsgemäß funktioniert.
Bei Finger handelt es sich um einen Internet-Dienst, der ursprünglich nur für UNIX-Systeme gedacht war. Heute gibt es aber auch Implementierungen für andere Betriebssysteme. Finger wurde an der University of California, Berkeley, entwickelt. Mit dem Befehl Finger können bestimmte Informationen über die momentan auf einem Fern-Rechner eingeloggten Benutzer ausgegeben werden. Zu diesen Informationen gehören folgende Daten:
• Log-in-Name
• Vor- und Zuname
• Terminal-Schreibstatus
• Zeit seit der letzten Tätigkeit am Rechner
• Zeitpunkt des Log-in
• Falls im Home-Verzeichnis die Datei .project existiert, den Inhalt dieser
Datei. In der Regel stehen in dieser Datei Informationen über das Projekt, an dem der Benutzer gerade arbeitet.
58 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 43 ff
• Falls im Home-Verzeichnis die Datei .plan existiert, den Inhalt dieser Datei.
Hier stehen meist sonstige persönliche Daten über den Benutzer wie zum Beispiel E-Mail Adresse, Telefonnummer, Hobbys usw.
Bei Finger ist zu beachten, daß die Ausgabe je nach Konfiguration variieren kann und dem Client die genaue Rechneradresse bekannt sein muß, wenn er an die Informationen gelangen will.
Auf vielen Server ist der Finger-Dämon deaktiviert, oder er läuft nur mit Einschränkungen, denn dieser Dienst stellt ein gewisses Sicherheitsrisiko dar, da er die doch recht persönlichen Benutzerdaten der Öffentlichkeit zur Verfügung stellt.
Gopher 59
Der Gopher Internet-Dienst kann als Vorgänger des World Wide Web betrachtet werden. Entwickelt wurde Gopher an der Universität von Minnesota. Auf einem Gopher-Server werden Informationen in Menüform angeboten, und ein Benutzer kann zwischen den verschiedenen Menüpunkten auswählen. Hinter den einzelnen Menüpunkten verbergen sich logische Verbindungen (Links), die auf unterschiedliche Dokumente beziehungsweise andere Gopher-Server verweisen. Da hinter den Menüpunkten des Einstiegsmenüs auch weitere Untermenüs stehen können, hat Gopher einen hierarchischen Aufbau, ähnlich einem Dateisystem. Der Hauptunterschied zwischen Gopher und dem WWW besteht darin, daß Gopher ausschließlich textorientiert arbeitet. Will sich ein Benutzer die auf einem Gopher-Server angebotenen Grafik- oder Sound-Dateien ansehen, so muß er diese Daten zunächst auf seinen Rechner downloaden, um sie dann mit einem entsprechenden Viewer-Programm betrachten beziehungsweise abspielen zu können.
Der Grundgedanke bei der Entwicklung von Gopher war, Texte aller Art zentral über eine einheitliche Schnittstelle anzubieten. Tatsächlich liegen die Dokumente aber in der Regel verteilt zum Beispiel auf den lokalen Institutsrechnern. Aus diesem Grund wird Gopher auch als Distributed
59 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 177 ff
Document Delivery System bezeichnet, das auf einer Client-Server Architektur basiert. Grundlage des Internet Gopher Protocol ist wie bei fast allen Internet-Diensten eine TCP/IP Verbindung (siehe Anhang - Abbildung 2, Zeile 46 und 47).
Mitte 1992 wurde die Erweiterung Gopher+ veröffentlicht, wodurch die Funktionalität von Gopher noch verbessert wurde. Während bei Diensten wie FTP oder TELNET dem Benutzer der Name des jeweiligen Rechners bekannt sein muß, auf dem die gewünschte Information liegt, wird der User bei Gopher von dieser Aufgabe entbunden. Im Gegensatz zu WAIS und dem World Wide Web liegen die Einschränkungen von Gopher in der begrenzten Zahl der unterstützten Dateiformate und Dienste. Derzeit kann Gopher lediglich ASCII-
60 Texte (Abkürzung für American Standard Code for Information Interchange ) ausgeben.
Um mit Gopher arbeiten zu können, benötigt der Benutzer einen zeichenorientierten oder graphischen Gopher-Browser, wobei der Gopher-Dienst selbst aber, wie bereits oben erwähnt, grundsätzlich zeichenorientiert arbeitet.
WAIS 61
Mit WAIS (Wide Area Information Server) ist eine einfache Volltextsuche auf weltweit verteilten Datenbeständen möglich. Neben Textdokumenten in den unterschiedlichsten Formaten werden zunehmend auch multimediale Dokumente über WAIS zugänglich gemacht. Das Informationsangebot der Dokumente umfaßt Themen wie zum Beispiel das der Archäologie, Biologie, Chemie, Geschichte oder Physik. Auch literarische Texte, Wetterberichte, Softwarekataloge, Informationen über das Internet und vieles mehr werden auf WAIS-Servern der Öffentlichkeit zur Verfügung gestellt. WAIS wurde im Oktober 1989 unter der Leitung von Brewster Kahle, Thinking Machines Corporation, in Zusammenarbeit mit Apple Computer, KPMG Peat Marwick, Dow Jones & Co. und Thinking Machines entwickelt. Seit dem Frühjahr 1991
60 vgl. Krückeberg, Spaniol 1990, S. 26
61 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 127 ff
steht dieser Dienst auch der Internet Gemeinde zur Verfügung und hat sich außerordentlich schnell verbreitet. Diese führte auch zu einer raschen Weiterentwicklung des Systems durch die Anwender, Entwickler, Normierungsgremien, Verlage und Bibliotheken, die mit dem Dienst intensiv arbeiteten. Im Sommer 1992 wurde WAIS auch kommerziellen Anbietern zugänglich gemacht. In diesem Zusammenhang wurde WAIS Inc. als unabhängige Organisation gegründet.
Auch WAIS arbeitet, wie zu erwarten war, nach dem Client-Server Konzept. Die Clients kommunizieren mit den Servern über ein standardisiertes Protokoll aus der Bibliothekswelt, dem Z39.50 NISO Information Retrival Service and Protocol Standard (siehe Anhang - Abbildung 2, Zeile 109).
WAIS setzt sich aus insgesamt vier Komponenten zusammen: dem Client, dem Server, der Datenbank und dem Protokoll. Die Hauptkomponenten sind hierbei der eigentliche Server und die Datenbank. Der Server ist für die Bearbeitung der Anfragen und die Durchführung der Suche zuständig, die Datenbank beinhaltet den WAIS-Index und die Originaldaten. Um auf die Datenbestände eines WAIS-Servers zugreifen zu können, benötigt ein Client neben einer IP-Anbindung einen zeichenorientierten oder graphischen Browser, wobei ein graphischer Browser vorzuziehen ist, da er für unerfahrene Benutzer leichter zu bedienen ist.
Das World Wide Web 62
Beim World Wide Web (WWW) handelt es sich derzeit um den am weitesten in der Entwicklung fortgeschrittenen Informationsdienst des Internet. Anfang 1989 versuchte man am CERN, dem europäischen Zentrum für Teilchenphysik bei Genf ein System zu entwickeln, mit dem die Angehörigen des Instituts auf einfache Weise auf die Fülle der vorhandenen Daten zugreifen konnten. Bei vielen größeren Unternehmen gibt es oftmals das Problem, daß mehrere Hard-und Software-Plattformen vorhanden sind, die untereinander nicht kompatibel sind. Dies war auch beim CERN-Institut der Fall. Für einen Angehörigen der Organisation war es nahezu unmöglich, auf für ihn relevante Informationen
zuzugreifen. Daraufhin machten sich Mitarbeiter des CERN daran, ein auf Client-Server Architektur begründetes, hypertextbasiertes System zu entwickeln. Die Besonderheit eines Hypertextdokumentes besteht in der Möglichkeit, jedes Wort als Verweis auf ein weiteres Hypertextdokument zu definieren. Klickt ein Leser auf ein so gekennzeichnetes Wort, öffnet er damit ein weiteres Hypertextdokument, wobei es keine Rolle spielt, ob das Dokument auf dem lokalen Server oder auf einem externen Rechner am anderen Ende der Erde liegt. Ein klassisches Beispiel für Hypertextdokumente ist die Microsoft Windows Hilfe. Hypertextdokumente werde mit Hilfe der HyperTextMarkup Language (HTML) erstellt. Client und Server kommunizieren beim World Wide Web über das HTTP-Protokoll (HyperText Transfer Protocol). Auf das Protokoll HTTP wird später in Kapitel 0 dieser Diplomarbeit näher eingegangen.
Der erste Prototyp eines WWW-Systems wurde 1990 unter der Verwendung der Kommunikationsprotokolle TCP/IP auf NeXT-Rechnern entwickelt. Als Ende 1991 in den „CERN-Newsletter“ das System erstmals einer größeren Öffentlichkeit bekannt gemacht wurde, war das WWW zu dieser Zeit schon auf den meisten CERN-Servern verfügbar. Mitte 1992 wurde das erste WWW-Software Paket veröffentlicht. In ihm war die Serversoftware, ein zeilenorientierter und ein X11/Motiv Client enthalten. Somit konnte durch die freie Verfügbarkeit des Programmcodes auch außerhalb des CERN an der Weiterentwicklung des World Wide Web gearbeitet werden. Während im Januar 1993 mehr als 50 öffentlich zugängliche Webserver existierten, nahm man in Deutschland noch keine allzu große Notiz vom WWW, da man zu dieser Zeit Gopher als Informationsdienst favorisierte. Letztlich war es der Eigeninitiative einzelner Universitätsangehöriger zu verdanken, daß Mitte 1993 auch in Deutschland die Anzahl der Webserver allmählich zunahm. Zu Beginn des Jahres 1994 konnte man ca. 800 WWW-Server weltweit zählen, davon etwa 100 in Deutschland.
62 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 329 ff
Einsatzmöglichkeiten von Internet-Diensten
Nach dem groben Überblick über die wesentlichen Informationsdienste des Internet in den Kapiteln 0 bis 0, sollen in den folgenden zwei Kapiteln allgemeine Einsatzmöglichkeiten dieser Dienste betrachtet werden, wobei zwischen internen und externen Diensten unterschieden werden soll.
In Kapitel 0 werden dann diejenigen Internet-Dienste herausgestellt, die für die Fachhochschule Ludwigshafen von Bedeutung sind.
Interne Dienste 63
Im Zusammenhang mit Informationstechnologie ist Workgroup-Computing ein Schlagwort dieser Tage. Man versteht darunter die Zusammenarbeit mehrerer Mitarbeiter eines Unternehmens beziehungsweise einer Institution an einem oder mehreren Projekten. In diesem Zusammenhang ist es von entscheidender Bedeutung, den Angehörigen einer Organisation für diese relevante, institutsinterne Informationen schnell und einfach zur Verfügung zu stellen. Mit den nachfolgenden Beispielen soll gezeigt werden, wie durch den Aufbau von internen Informationsservern (= Intranet. Siehe Kapitel 0) diesen Anforderungen Rechnung getragen werden kann:
• Mit einem WWW- oder Gopher-Server können den Mitarbeitern in
Dokumenten Informationen zum Beispiel über aktuelle Pressemitteilungen, allgemeine Richtlinien und die Organisationsstruktur der Einrichtung, die Unternehmensbilanz, das aktuelle Telefonverzeichnis und vieles mehr zur Verfügung gestellt werden.
• Mit einem WAIS-Server könnte ein Suchsystem aufgebaut werden, mit dem
Anwender nach bestimmten Dokumenten suchen können.
• Mit einem FTP-Server wäre es möglich, daß die Mitarbeiter einer
Organisation auf die aktuellsten Versionen zum Beispiel einer hauseigenen Individualsoftware zugreifen können.
63 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 30
• Mit einem Mail-Server könnten Mail-Listen erstellt werden, so daß zum
Beispiel Angestellte, die an dem selben Projekt arbeiten, unter einer E-Mail Adresse zusammengefaßt werden.
Natürlich gibt es noch viele andere Einsatzmöglichkeiten, die hier aus Platzgründen nicht aufgezählt werden können. Jede Institution muß letztlich selbst entscheiden, welche Verwendungszwecke von Internet-Diensten für sie von Bedeutung sein können.
Externe Dienste 64
Zu den externen Diensten zählen alle Informationsdienste des Internet, die der Öffentlichkeit ohne Einschränkungen zur Verfügung stehen. Auch hier sind der Phantasie, was den Einsatz von Internet-Diensten betrifft, im Prinzip keine Grenzen gesetzt. Die Dienste lassen sich auch problemlos miteinander kombinieren, je nachdem, welchen Zweck eine Organisation mit dem Einsatz der Informationsdienste verfolgt. Hier einige Beispiele:
• Durch die ständige Weiterentwicklung von WWW-Server- und Client-
Software eröffnet sich einer Institution mit der Einrichtung eines WWW-Servers ein enormes Nutzungspotential. Das World Wide Web eignet sich ausgezeichnet für die Außendarstellung einer Organisation. So können neben multimedialen Produktinformationen auch ganze hypertextbasierte Online-Bücher und Zeitschriften veröffentlicht werden. Durch den gezielten Einsatz von HTML-Formularen kann ein Benutzer schnell und unkompliziert mit einer Institution Kontakt aufnehmen. Über solche Online-Formulare kann ein Client zum Beispiel E-Mail abschicken, Termine vereinbaren, Bestellungen aufgeben oder den Online-Support eines Unternehmens in Anspruch nehmen.
• Durch den Einsatz eines FTP-Servers kann ein Unternehmen die neuesten
Beta- und Shareware-Versionen seiner selbsterstellten Software der breiten Öffentlichkeit zur Verfügung stellen. So stellen auch viele Hardware-Hersteller für ihre Kunden ein FTP-Archiv in Zusammenhang mit einer
64 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 32
WAIS-Datenbank zur Verfügung, so daß die Kunden nach den neuesten Software-Treibern für ihre Hardware-Komponenten suchen und diese downloaden können.
• Richtet ein Unternehmen einen Mail-Server ein, so kann es durch den
Einsatz von Mailing-Listen (wie zum Beispiel Majordomo) interessierten Clients die Möglichkeit bieten, sich in diese Listen eintragen zu lassen. Auf diese Weise werden die registrierten Clients über die neuesten, die Einrichtung betreffende Informationen und Produkte informiert.
Welche Dienste sind für die Fachhochschule Ludwigshafen interessant?
Nachdem nun in den beiden vorangegangenen Abschnitten allgemeine Beispiele für den Einsatz von Internet-Informationsdiensten gegeben worden sind, sollen die Dienste nun bezüglich ihrer Eignung für die Fachhochschule Ludwigshafen, die ja die Rolle eines Informationsanbieter im Internet übernehmen soll, überprüft werden. Dazu sollen folgende Bewertungskriterien zu Grunde gelegt werden.
1. Der Dienst sollte möglichst einfach in die Hard- und Softwarelandschaft der Fachhochschule integrierbar sein.
2. Der Dienst sollte möglichst flexibel einsetzbar sein.
3. Technisch sollte der Dienst auf dem neuesten Stand und möglichst zukunftssicher in bezug auf seine Weiterentwicklung sein.
4. Mit dem Dienst sollte ein möglichst großes Spektrum von Benutzern des Internet angesprochen werden können.
5. Dem Benutzer sollten die für ihn relevanten Informationen möglichst schnell zur Verfügung stehen.
6. Der administrative Aufwand bezüglich der Informationsbereitstellung sollte für die Fachhochschule möglichst gering sein.
Tabelle 12: Internet-Dienste im Vergleich
In Tabelle 2 wurden diese Kriterien auf die in den Abschnitten 0 bis 0 beschriebenen Informationsdienste angewandt und mit den Skalenwerten gering, mittel und hoch bewertet, wobei die Dienste Telnet und Finger nicht berücksichtigt wurden, da es sich bei diesen Diensten vielmehr um Internet-Tools handelt und sie sich daher weniger für den Einsatz als Informationsserver eignen. Auch WAIS wurde bei der Bewertung nicht näher berücksichtigt, da es sich bei diesem Dienst eher um eine Zusatzfunktion für einen primären Informationsdienst handelt. Außerdem gibt es für WAIS mittlerweile CGI-Skript-Alternativen (siehe Kapitel 0 f) in Zusammenhang mit einem WWW-Server, die wesentlich einfacher zu installieren sind und in ihrer Funktionalität einem eigenständigen WAIS-Server in nichts nachstehen.
Betrachtet man nun den E-Mail-Dienst in der Tabelle, so fällt zunächst der geringe Integrationsaufwand und die große Zahl an Benutzern, die mit diesem Dienst erreicht werden können, positiv auf. Durch die geringe Geschwindigkeit bei der Informationsübermittlung und den hohen administrativen Aufwand eignet sich E-Mail allerdings nur bedingt als alleiniger Informationsdienst. Unter der Geschwindigkeit bei der Informationsübermittlung darf hier allerdings nicht die tatsächliche Übertragungszeit einer E-Mail-Nachricht vom Absender zum Empfänger verstanden werden. Hiermit ist vielmehr die Zeitspanne gemeint, die entsteht, bis die von einem Client angeforderten Informationen diesem zur
65 Wie schnell kann ein Benutzer auf für ihn relevante Informationen zugreifen?
66 Wie hoch ist der Aufwand für den Informationsanbieter, um einem Benutzer relevante Informationen zur Verfügung zu stellen?
Verfügung stehen. Sucht zum Beispiel ein Anwender ein bestimmtes Dokument, so muß er zunächst eine Anfrage an die betreffende Organisation per E-Mail abschicken. Die Anfrage wird dann vom Empfänger bearbeitet, und das gewünschte Dokument kann, sofern vorhanden, wiederum per E-Mail an den Absender zurückgeschickt werden. Bei dieser Art der
Informationsbereitstellung können Minuten, aber auch mehrere Tage vergehen, bis die Informationen beim anfragenden Benutzer angekommen sind, je nachdem, wie stark der jeweilige Sachbearbeiter eines Informationsdienstes ausgelastet ist. Aufgrund dieser Tatsache läßt sich auch der relativ hohe administrative Aufwand erklären, der bei einem E-Mail-Informationsdienst entsteht, da der Informationsanbieter in der Regel jede einzelne E-Mail individuell bearbeiten muß.
Ähnlich wie bei E-Mail fallen auch bei FTP der geringe Integrationsaufwand und das große Benutzerspektrum positiv auf. Aber auch hier ist die Zeitspanne, bis ein Benutzer die gewünschten Informationen zur Verfügung hat, noch relativ groß. Oft sind die Bezeichnungen der Dateinamen in einem FTP-Archiv nicht sonderlich aussagefähig, und meist liegen die Daten zusätzlich noch in komprimierter Form vor. Interessiert sich ein Client für eine bestimmte Datei, so muß er diese nach dem Herunterladen auf seinen lokalen Rechner in der Regel zuerst mit einem speziellen Programm entpacken, bevor er an den Inhalt der Datei herankommt. Oftmals stellt man erst nach dem Dekomprimieren fest, daß die Datei gar nicht die gewünschte Information enthält, die man eigentlich gesucht hat. Es bleibt einem dann nichts anderes übrig, als sich erneut auf die Suche nach den entsprechenden Daten zu machen.
Dennoch sind E-Mail- und FTP-Dienste nicht mehr aus dem Internet wegzudenken. Daher wurde im Rahmen dieser Diplomarbeit neben dem primären Informationsdienst auch ein FTP-Server eingerichtet. Dieser Server dient lediglich zu Testzwecken und zum Bereitstellen einer kleinen Auswahl von Internet-Software. Eine Beschreibung der Installation des FTP-Dämons würde den Rahmen dieser Diplomarbeit sprengen. Der Server sei daher als gegeben vorausgesetzt und kann mit jedem beliebigen FTP-Client Programm unter der Adresse www.fh-ludwigshafen.de besucht werden. Als Benutzername kann der
globale FTP-User anonymous oder ftp verwendet werden. Zur Identifikation muß lediglich die jeweilige E-Mail Adresse eingegeben werden. Noch einfacher kann man mit einem World-Wide-Web-Browser auf das FTP-Archiv der Fachhochschule zugreifen. Dazu richtet man den Browser auf die Adresse ftp://www.fh-ludwigshafen.de. Eine Benutzer-Identifizierung ist in diesem Fall nicht notwendig.
Für die Installation eines E-Mail Server für die Fachhochschule war deshalb kein Bedarf vorhanden, da der UNIX-Server Obelix (siehe Abbildung 16) der Hochschule bereits die Funktion eines SMTP- bzw. POP3-Servers erfüllt.
Bei der Einrichtung des primären Informationsdienstes für die Fachhochschule galt es nun, sich für den Einsatz eines Gopher- oder WWW-Servers zu entscheiden. Bei beiden Diensten stehen einem Client die gewünschten Informationen sofort zur Verfügung, und auch der administrative Aufwand ist bei beiden relativ niedrig. Betrachtet man die Grafiken in Abbildung 14 und Abbildung 15, die auf Daten des NFSNET (National Science Foundation Network) basieren und die Häufigkeit, mit der die Dienste FTP, Gopher und WWW nachgefragt worden sind, aufzeigen, wird deutlich, daß die WWW-Server einen erheblichen Vorsprung in bezug auf die Anzahl von Benutzeranfragen gegenüber dem Gopher-Dienst haben. Während die Anfragen an Gopher-Server in den letzten Jahren eher konstant geblieben sind, ist bei den WWW-Servern ein exponentielles Wachstum feststellbar. Die hieraus ersichtliche Popularität des World Wide Web läßt somit auch den Schluß zu, daß dieses Informationssystem wahrscheinlich die besseren Chancen hat, auch in Zukunft weiterentwickelt zu werden. Allerdings soll hier nun nicht der Eindruck entstehen, daß sich Gopher grundsätzlich nicht als Internet-Informationsdienst eignet. Nach wie vor gibt es hervorragende Gopher-Archive, die von Clients regelmäßig besucht werden. Im Zeitalter von Multimedia sollte allerdings beim kompletten Neuaufbau eines
Informationsdienstes die Chance, hierfür die neueste Servertechnologie zu nutzen nicht vertan werden. Nicht zuletzt aus diesem Grund fiel die
Entscheidung bei der Auswahl des primären Informationsdienstes für die Fachhochschule Ludwigshafen zu Gunsten eines WWW-Servers aus.
0. Anforderungen an System und Netz - 172 -
Anforderungenan System und Netz
Nachdem in den vorangegangenen Kapiteln die wesentliche Theorie des Internet und der Entscheidungsprozeß zur Einrichtung eines WWW-Servers für die Fachhochschule geschildert worden ist, geht es im folgenden um die praktische Umsetzung dieses Projektes. Da die Auswahl des Betriebssystems, der Hardware und der Netzanbindung für die Einrichtung eines Internet-Informationsdienstes von entscheidender Bedeutung ist, wird diese Thematik in den folgenden Abschnitten näher behandelt. Nach Klärung der Frage, welches Betriebssystem verwendet werden soll, wird dann geprüft, welche Hardwarekomponenten für die Installation notwendig sind. Schließlich wird noch darauf eingegangen, wie das System an das Internet angeschlossen werden kann. Diese Reihenfolge bei der Vorgehensweise sollte strikt eingehalten werden, denn nur so schützt man sich vor Fehlentscheidungen und letztlich auch vor Fehlinvestitionen bezüglich des Soft- und Hardwareeinsatzes.
Auswahl des Betriebssystems für einen Internetserver
Für fast alle Betriebssysteme gibt es mittlerweile Internet-Server beziehungsweise WWW-Server-Software. Obwohl es heute für DOS-Rechner, Windows 95 und Windows NT bis hin zu MAC-Systemen Server-Software gibt, benutzen sehr viele, wenn auch nicht alle Internet-Server eines der UNIX-Derivate wie zum Beispiel IRIX, SUN-OS, ULTRIX, AIX, HP-UX und schließlich auch Linux. Dies liegt neben der Tatsache, daß die Grundlagen des Internet auf UNIX-Rechnern entwickelt worden sind, auch daran, daß UNIX zur Zeit die Plattform ist, die sich am besten für einen Internet-Informationsdienst eignet. UNIX unterstützt nämlich die Informationsübermittlung zu verschiedensten Plattformen, darunter PCs und MACs.
Abbildung 16 zeigt grob die Situation der Netzwerklandschaft, wie sie zur Zeit des Aufbaus des WWW-Servers aktuell war. Bei den mit Asterix und Obelix bezeichneten Servern handelt es sich um UNIX-Maschinen. Der Server Asterix fungiert in dieser Konstellation in Zusammenhang mit einer X-25 Untervermittlung als Router zum Wissenschaftsnetz (WIN), das vom DFN-
0. Anforderungen an System und Netz - 173 -
Verein betrieben wird und über den die Fachhochschule Zugang zum Internet hat.
Abbildung 47: Konfiguration des Netzwerkes zur Zeit des Aufbaus des WWW-Servers
Um nun die Einrichtung des WWW-Servers nicht unnötig zu erschweren und um Integrationsprobleme in das vorhandene Netzwerk zu vermeiden, lag der Entschluß nahe, den Dienst auf einem UNIX-System zu installieren.
UNIX ist seit 1975 in verschiedenen Versionen auf den unterschiedlichsten Rechnerplattformen verfügbar. Aufgrund der Tatsache, daß die wesentlichen Teile von UNIX in der Programmiersprache C geschrieben sind, ist es relativ einfach, ein UNIX-System verschiedensten Rechnerplattformen zu installieren. Weitere wesentliche Merkmale von UNIX sind das hierarchische Prozeßkonzept und das hierarchische Dateisystem mit individuellen Zugriffsrechten. Somit bietet UNIX eine umfangreiche Entwicklungsumgebung an, mit der Programme leichter konzipiert und implementiert werden können.
0. Anforderungen an System und Netz - 174 -
Mit einer Kommandosprache (shell genannt) kann ein Benutzer wie mit einer
67 Programmiersprache Programme ausführen und miteinander verknüpfen .
Entscheidung für Linux als Betriebssystem
Wie bereits oben erwähnt, gibt es UNIX in den verschiedensten Versionen und für die unterschiedlichsten Hardware-Plattformen. Die genannten Derivate wie zum Beispiel HP-UX oder AIX haben alle einen gemeinsamen Nachteil. Sie sind sehr teuer, da sie nur als komplettes System inklusive Hardware ausgeliefert werden. Für ein solches Komplettsystem fallen schnell Kosten in Höhe von mehreren zehntausend DM an. Dies war für ein im Aufbau befindliches WWW-Testsystem für die Fachhochschule zu kostspielig. Natürlich wäre es auch möglich gewesen, den WWW-Server zunächst auf einen der Server Asterix beziehungsweise Obelix zu installieren. Da auf diesen Rechnern aber noch andere, für die Fachhochschule wichtige Programm wie zum Beispiel das SAP-R3-System installiert sind, wäre das Sicherheitsrisiko, den WWW-Server auf diesen Maschinen zu installieren, zu groß gewesen. Da man bei der Einrichtung eines externen Informationsdienstes der Öffentlichkeit uneingeschränkten Zugang auf den Server gewähren muß, hätte man bei der Einrichtung des Dienstes auf einem vorhandenen UNIX-Rechner der Hochschule potentiellen Hackern leichten Zugang zu den empfindlichste Daten gewährt.
Durch den Einsatz von Linux als Betriebssystem für den WWW-Server konnte zunächst die Kostenfrage geklärt werden, denn Linux ist sehr preisgünstig. Eine voll funktionsfähige Linux-Version ist bereits ab DM 50 erhältlich. Auch in bezug auf die Hardware ist Linux sehr genügsam. Das System funktioniert bereits auf einem handelsüblichen PC mit einem 386er Prozessor, wobei eine höhere Prozessorleistung die Performance natürlich verbessert. Somit lassen sich die Hardwarekosten für einen WWW-Server auf einen Bereich zwischen DM 1.500 und 3.000 reduzieren. Folglich kann der WWW-Dämon auf einem speziell dafür vorgesehenen Linux-Server laufen, wodurch die oben genannten Sicherheitsrisiken zwar nicht vollständig, aber zumindest in einem vertretbaren Maß reduziert werden.
67 Engesser, Claus 1988, S. 80f
0. Anforderungen an System und Netz - 175 -
Bei Linux handelt es sich um eine voll funktionsfähige UNIX-Version, die sowohl Server- als auch Client-Programme der Basisdienste wie zum Beispiel E-Mail, Telnet, FTP usw. beinhaltet. Aus diesem Grund eignet sich Linux auch ausgezeichnet für den Einsatz als Internet-Server. Außerdem unterstützt Linux standardmäßig das Protokoll TCP/IP, so daß diesbezüglich keine zusätzliche Software zur Implementierung notwendig ist, wie dies bei vielen anderen Betriebssystemen häufig der Fall ist.
Wie viele andere UNIX-Versionen, so zeichnet sich auch Linux durch eine ausgezeichnete Flexibilität aus. Auch Linux wird ständig weiterentwickelt und verbessert.
Entwickelt wurde Linux 1991 von dem Finnen Linus Torvalds, der im Rahmen eines Schulprojektes ein Mini-Unix System (Minix) entwickelte. Im Laufe des Jahres verbesserte er das System in eigener Regie, und aus Minix wurde Linux. Heute arbeiten weltweit Benutzer aus den unterschiedlichsten Fachrichtungen zum größten Teil in ihrer Freizeit, - daher wohl auch der günstige Preis -, an der Weiterentwicklung des Systems.
Auch wenn Linux nicht hundertprozentig den vollen Funktionsumfang anderer UNIX-Versionen unterstützt, so gibt es dennoch keinen Grund, daß sich Linux hinter diesen Derivaten verstecken müßte. Genau wie seine „großen Brüder“ hat Linux zum Beispiel folgende herausragenden Eigenschaften:
• Echtes Multitasking:
Nur wenige Betriebssysteme unterstützen echtes Multitasking. Bei vielen Systemen hat der Benutzer zwar den Eindruck, daß er mehrere Programme zur gleichen Zeit laufen lassen kann, oft werden aber die Prozesse, die im Hintergrund laufen, vom Betriebssystem entweder gestoppt oder nur äußerst spärlich mit Ressourcen-Leistung versorgt.
Bei Linux wird jedem Prozeß soviel Rechenleistung zugeteilt, wie zu seiner Verarbeitung notwendig ist, unabhängig davon, ob er im Hintergrund läuft oder nicht.
0. Anforderungen an System und Netz - 176 -
• AngemessenesSpeichermanagement:
Die effiziente Speicherverwaltung ist ein weiteres wichtiges Kriterium, welches ein gutes Betriebssystem erfüllen sollte. Viele Betriebssysteme geben den Speicher, den ein Programm für seine Ausführung belegt hat, auch dann nicht mehr frei, wenn der Prozeß schon längst beendet ist. Diese Verschwendung wichtiger Ressourcen kann im schlimmsten Fall zu einem kompletten Systemabsturz führen.
Linux ist dagegen mit einer effizienten Speicherverwaltung ausgerüstet. Dies trägt neben einer besseren Performance auch dazu bei, daß mehrere Programme gleichzeitig ausgeführt werden können.
• Unterstützung von TCP/IP:
Bei den meisten Betriebssystemen für PCs ist TCP/IP nicht standardmäßig implementiert. Dieses Protokoll ist jedoch die Grundvoraussetzung, um mit einem Rechner eine Verbindung zum Internet herstellen zu können. Daher sind diese Betriebssysteme erst durch den Einsatz von
Konvertierungsprogrammen in der Lage, eine Verbindung zwischen den internen Protokollen des Computers und dem TCP/IP-Protokoll des Internet herstellen zu können.
Linux dagegen benutzt TCP/IP standardmäßig für die interne Kommunikation, wodurch auf diese Konvertierungsprogramme verzichtet werden kann. Außerdem wird dadurch ein schnellerer Verbindungsaufbau zum Internet möglich, und die Fehlerwahrscheinlichkeit bei der Datenübertragung geht zurück.
Auswahl der Hardware für einen Internetserver
Auch bei der Auswahl der Hardware für einen Internet-Server unter Linux sollte sorgfältig vorgegangen werden. Daher sollte vor der Einrichtung des Dienstes der Einsatz der entsprechenden Hardware genau geplant werden, da spätere Veränderungen während des laufenden Betriebs häufig mit Schwierigkeiten und Stillstand des Systems verbunden sind.
0. Anforderungen an System und Netz - 177 -
Im Verlauf dieses Abschnitts soll nun auf die wesentlichen Hardware-Komponenten, die für den Betrieb eines Linux-Servers von Bedeutung sind, eingegangen werden.
Bei der Hardwareauswahl für einen Linux-Server spielt der geplante Verwendungszweck des Servers eine nicht unwesentliche Rolle. So gibt es Komponenten, die bezüglich des Einsatzes des Servers nur eine untergeordnete Bedeutung haben, während andere von entscheidender Bedeutung für die Funktionalität des Dienstes sind. Soll der Server zum Beispiel als WWW-Server eingesetzt werden, so spielt zum Beispiel die Ausstattung der Grafikkarte so gut wie keine Rolle. Dagegen ist aus der Sicht eines Clients dieser Komponente wieder eine größere Bedeutung zuzumessen, wenn er sich mit einem Browser die auf einem WWW-Server angebotenen Grafiken ansehen will. Diese Argumentation kann auch auf den Einsatz einer Soundkarte für einen Internet-Server übertragen werden, da auf einem Server etwaige Sounddateien lediglich angeboten und nicht unbedingt abgespielt werden müssen.
Auch auf den Einsatz eines CD-Rom-Laufwerkes könnte problemlos verzichtet werden, jedoch ist es sehr hilfreich bei der Installation von Software, die in der Regel nur noch auf diesem Medium ausgeliefert wird.
Ein WWW-Server wird unumstritten auch ohne ein angeschlossenes Backup-Bandlaufwerk funktionieren. Ist der Internet-Server in ein Netzwerk integriert, so ist es in der Regel möglich, seine Daten durch einen zentralen Backup-Server (falls vorhanden) sichern zu lassen. Besteht jedoch keine Möglichkeit, eine Datensicherung auf diese Weise durchzuführen, empfiehlt es sich auf jeden Fall, ein Bandlaufwerk anzuschaffen. Hat man bei einem Systemausfall keine geeigneten Sicherungskopien, so heißt dies: Noch mal von vorn! Diese „schmerzliche“ Erfahrung mußte auch der Autor dieser Diplomarbeit machen, als ein paar Wochen nach erfolgreicher Installation des WWW-Servers für die Fachhochschule die Festplatte der Maschine ausfiel und der Server komplett neu eingerichtet werden mußte. Daher an dieser Stelle eine Empfehlung in eigener Sache: Bei einem Bandlaufwerk sollte nicht an der falschen Stelle gespart werden, - lieber einmal zuviel gesichert, als einmal zu wenig.
0. Anforderungen an System und Netz - 178 -
Eine wesentliche Auswirkung auf die Performance des Systems hat die Leistung des Prozessors (CPU). Die Leistungsfähigkeit der CPU wirkt sich direkt auf die Geschwindigkeit aus, mit der einzelne Prozesse abgearbeitet werden können. Soll der Linux-Rechner lediglich als Einzelplatzrechner mit einem oder maximal zwei anderen Benutzern betrieben werden, so genügt ein 486DX33 Prozessor. Beim Einsatz des Rechners als Server, auf den weit mehr Benutzer zugreifen sollen, müssen Prozessoren mit höherer Leistungsfähigkeit verwendet werden (siehe Tabelle 3). Bei der Leistung des Prozessors hängt es
auch davon ab, wie schnell einzelne Programme kompiliert 68 werden können. Bei einem 486DX-2 66 kann das kompilieren eines Programmes, je nach Umfang, mehrere Stunden in Anspruch nehmen.
Tabelle 13: Auswirkung der CPU-Geschwindigkeit auf Benutzerzahl und Einsatzmöglichkeiten
Auch die Menge an verfügbarem Erweiterungsspeicher (RAM) beeinflußt die Leistungsfähigkeit eines Servers. Je mehr RAM einem Rechner zur Verfügung steht, um so mehr und schneller können unterschiedliche Prozesse gleichzeitig abgearbeitet werden. Somit wirkt sich mehr RAM auch positiv auf folgende Internet-Dienste aus:
• Bessere Verarbeitung von Mailing-Listen
• Bessere Performance bei einem News-Server
• Gleichzeitige Verarbeitung mehrerer Web-Seiten-Anfragen
• Schnellere Antwortzeiten bei Anfragen an einen Gopher-Server
68 Unter UNIX müssen die meisten Programm erst in den C-Programmcode übersetzt werden.
0. Anforderungen an System und Netz - 179 -
Für alle oben genannten Fälle gilt: Je mehr RAM ein Server besitzt, um so mehr Prozesse (zum Beispiel Web-Seiten, E-Mails, Gopher-Dateien) können simultan verarbeitet werden. Tabelle 4 stellt nochmals den Zusammenhang zwischen RAM, der maximalen Anzahl von Benutzern und der Einsatzmöglichkeit eines Servers dar.
Tabelle 14: Zusammenhang zwischen RAM und Leistungsfähigkeit des Systems
Ein weiterer, in seiner Bedeutsamkeit nicht zu unterschätzender Ausstattungsgegenstand ist die Festplatte eines Rechners. Bei der Auswahl dieser Komponente sollte vor allem auf Qualität und Zuverlässigkeit des Produktes geachtet werden. Sicherlich kann die Auswahl qualitativ hochwertiger Komponenten einen Hardwaredefekt nicht hundertprozentig ausschließen, was der oben erwähnte Platten-Crash beweist, obwohl das Gerät von einem bekannten Hersteller stammte, der für hohe Qualität und Zuverlässigkeit bekannt ist.
Was die Speicherkapazität der Festplatte betrifft, so hängt diese ähnlich wie bei der Auswahl der CPU und des zusätzlichen Erweiterungsspeichers unter anderem auch von der Anzahl der geplanten Benutzer und Dienste ab. Die Mindestkapazität liegt bei 200 MByte, die für eine komplette Installation eines Linux-Systems notwendig sind. Soll der Linux-Rechner neben seiner Funktion als Einzelplatzrechner auch als Server für Internet-Dienste verwendet werden, so empfiehlt sich auch in Anbetracht der immer stärker fallenden Preise für Festplatten eine Speicherkapazität von mindestens 850 MByte. Neben der reinen Kapazität spielt auch die Zugriffsgeschwindigkeit, mit der Daten von der Platte gelesen beziehungsweise auf die Platte geschrieben werden, eine nicht unwesentliche Rolle, gerade wenn mehrere Clients gleichzeitig auf einen Dienst zugreifen. So verlangsamen die häufig eingesetzten IDE-Festplatten bei
0. Anforderungen an System und Netz - 180 -
starken Benutzeranfragen die Antwortzeiten eines Servers, da Platten dieses Typs nicht in der Lage sind, mehrere Dateien gleichzeitig zu lesen. Beim Aufbau eines Informations-Servers ist allerdings der Einsatz einer IDE-Platte durchaus vertretbar. Sie ist vom Anschaffungspreis her wesentlich günstiger als eine SCSI-Festplatte, die wesentlich schnellere Zugriffszeiten aufweist und mit der es möglich ist, auf mehrere Dateien gleichzeitig zuzugreifen.
Um einen Linux-Server in ein bestehendes Netzwerk zu integrieren, ist schließlich die Auswahl einer geeigneten Netzwerkkarte als letzte, wesentliche Komponente notwendig. Häufig werden hierfür ISA-Netzwerkkarten eingesetzt, bei denen es kaum nennenswerte qualitative Unterschiede gibt. Beim Kauf sollte lediglich darauf geachtet werden, daß die Karte Treiber für die gängigen Betriebssysteme (in diesem Fall auch für Linux) und Anwendungssoftware besitzt.
Abschließend sind die Hardwarekomponenten aufgelistet, die für den Linux-Server der Fachhochschule Ludwigshafen angeschafft worden sind:
0. Anforderungen an System und Netz - 181 -
Artder Netzverbindung 69
In den Abschnitten 0 und 0 auf Seite 10f wurden die unterschiedlichen Zugangsmöglichkeiten zum Internet erläutert. Dabei wurde erkennbar, daß ein Informations-Dienst erst dann interessant wird, wenn er der Internetgemeinde rund um die Uhr zur Verfügung steht. Zu diesem Zweck ist eine permanente IP-Verbindung zum Internet notwendig. Als mit der Einrichtung des WWW-Servers begonnen wurde, verfügte die Fachhochschule Ludwigshafen bereits über eine solche permanente Verbindung über das Wissenschaftsnetz (siehe Abbildung 16).
Ende 1996 wurde die Netzwerktopologie, wie in Abbildung 17 dargestellt, modifiziert.
Drucker
Abbildung 48: Aktuelle Netzwerktopologie der FH-Ludwigshafen
Wurde in der ursprünglichen Netzwerkkonfiguration noch über den Server Asterix mit einer X-25 Untervermittlung zum Internet geroutet, so übernimmt heute diese Aufgabe ein CISCO-2500 Router. Die 64 kBit Standleitung zur
69 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 35
0. Anforderungen an System und Netz - 182 -
Fachhochschule Worms und der Zugang zum Wissenschaftsnetz blieben bei der Neugestaltung des Netzwerkes jedoch unberührt. Wie in Abbildung 17 zu erkennen ist, wurde der WWW-Server in ein Zwischennetz, das von den beiden CISCO-Routern begrenzt wird, eingebunden. Dabei stellt der CISCO-2500 Router, wie bereits erwähnt, die Verbindung nach außen her, während der CISCO-4500 Router den Datentransfer zwischen dem restlichen Netzwerk der Hochschule und dem Zwischennetz ermöglicht. Somit müssen externe Anfragen an den WWW-Server nicht mehr umständlich über das gesamte Netzwerk geroutet werden, wie dies bei der alten Netzwerktopologie der Fall war. Mit der Einführung des Zwischennetzes wurden somit auch die Weichen
70 71 für den Einsatz eines Proxy - beziehungsweise Firewall -Servers gestellt. In
dieser Netzwerklandschaft wurde nun dem WWW-Server die IP-Nummer: 143.93.196.10 und der Domain-Name www.fh-ludwigshafen.de zugewiesen.
Netzbelastung 72
Die Belastbarkeit eines Netzwerkes mit Datenverkehr ist neben der Hardware ein weiterer wesentlicher Faktor, der die Performance eines Informations-Servers beeinflußt. Diese Netzbelastung ergibt sich aus dem Netzverkehr, der sich aus zwei Arten zusammensetzt: Den Anfragen zum und den Antworten vom Server. Dabei wird die Hauptlast durch die Antworten hervorgerufen, während die Anfragen das Netzwerk nur geringfügig belasten. Anfragen bestehen in der Regel nur aus kurzen Zeichenfolgen wie zum Beispiel Pfadangaben, Dateinamen oder kurzen Befehlssequenzen. So kann zum Beispiel ein WWW-Browser mit einer relativ kurzen Zeichenfolge dem Server mitteilen, auf welches HTML-Dokument oder Ressource er zugreifen will.
Dagegen belastet eine aufgrund einer Anfrage gestartete Antwort die Kapazität eines Netzwerkes in weit höherem Maße. Da im World Wide Web der Trend immer mehr zu multimediaorientierten HTML-Seiten geht, in denen teilweise ganze Videosequenzen enthalten sind, deren Größe oft ab einem Megabyte
70 Server, der häufig angeforderte Web-Dokumente, die auf entfernten Servern liegen zwischenspeichert, so daß bei einer erneuten Anfrage keine Verbindung zum externen Server aufgebaut werden muß. 71 Rechner, der eine Barriere zwischen einem lokalen Netzwerk und dem Internet bildet. Über ihn kann geregelt werden, welche Clients aus dem lokalen Netz ins Internet gelangen dürfen und umgekehrt.
72 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 35
0. Anforderungen an System und Netz - 183 -
aufwärts liegt, kann man sich vorstellen, welche Datenmengen ein Netzwerk verkraften muß. Um nun Netzüberlastungen und damit einen Systemausfall zu vermeiden, sollte ein Informationsanbieter regelmäßig überprüfen, ob sein Netzwerk den Anfragen und Antworten gewachsen ist. Dazu gibt es zunächst die Möglichkeit, den Netzverkehr mit Hilfe von Meßgeräten zu ermitteln. Als Alternative zu dieser mit Kosten verbundenen Möglichkeit kann man auch durch die Auswertung der Log-Files die Netzbelastung berechnen. Diese Files werden von den meisten Informations-Servern automatisch angelegt und registrieren alle Anfragen an beziehungsweise Antworten von dem jeweiligen Dienst. So gibt es im Zusammenhang mit dem an der Fachhochschule installierten WWW-Server eine Log-Datei namens access_log, in der neben der Adresse des anfragenden Client auch das Datum, die Uhrzeit und die Menge an gesendeten Bytes festgehalten werden. In Tabelle 5 ist die Gesamtmenge der Bytes, die vom WWW-Server innerhalb von drei Tagen an Clients gesendet worden sind, aufgelistet, wobei ein Gesamtvolumen von 4,7 MByte errechnet wurde.
Setzt man den Gesamtwert in Gleichung 1 ein, so errechnet sich ein Durchschnittswert von ca. 1,6 MByte pro Tag.
Rechnet man diesen Wert in kBit um (siehe Gleichung 2), so erhält man ein durchschnittliches kBit-Volumen von 12.800 kBit pro Tag.
0. Anforderungen an System und Netz - 184 -
Geht man nun von einer gleichmäßigen Verteilung dieser Datenmenge auf 24 Stunden aus, so erhält man, wie in Gleichung 3 zu sehen ist, eine Netzbelastung von 0,15 kBit pro Sekunde, das heißt, das Netzwerk sollte eine Mindestbandbreite in dieser Größenanordnung aufbringen können.
Wie aus Abbildung 16 zu erkennen ist, besitzt die Fachhochschule Ludwigshafen eine 64 kBit Standleitung zur Fachhochschule Worms, wodurch eine völlig ausreichende Bandbreite gewährleistet ist.
Die eben gezeigte Berechnungsmöglichkeit zur Überprüfung der Netzbelastung ist allerdings erst dann durchführbar, wenn der Informations-Dienst bereits einige Zeit produktiv läuft, da in der Aufbauphase noch keine vernünftigen Daten zur Auswertung in den Log-Files vorhanden sind.
Ein Dienstanbieter sollte diese Berechnungen jedoch regelmäßig durchführen, um zu überprüfen, ob die Bandbreite seines Netzes noch ausreicht, so daß den Benutzern sinnvolle Antwortzeiten geboten werden können.
Personelle Anforderungen 73
Neben den rein technischen Aspekten sollten auch die personellen Anforderungen, die durch die Einrichtung eines Informations-Dienstes entstehen, insbesondere beim Betrieb eines WWW-Servers, berücksichtigt werden. Das heißt, es muß geklärt werden, welche Personen für den Inhalt und die Aktualität der Daten verantwortlich sind. Oftmals übernimmt diese Aufgabe
73 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 40
0. Anforderungen an System und Netz - 185 -
derjenige, der den Dienst auch eingerichtet hat, also der Systemadministrator oder Webmaster.
Bei größeren Institutionen mit komplexen Organisationsstrukturen und unterschiedlichen Aufgabenbereichen wird der Arbeitsaufwand zur Pflege des Informations-Dienstes in der Regel bald so groß, daß er meist von einer einzigen Person allein nicht mehr zu bewältigen ist. Da der Aufgabenbereich eines Systemadministrators meist weit mehr umfaßt als das ständige Aktualisieren von zum Beispiel HTML-Seiten, müssen innerhalb einer Organisation Personen bestimmt werden, sogenannte Datenbibliothekare, die diese Aufgabe für bestimmte Teilbereiche übernehmen. Solche
Datenbibliothekare sollten unter anderem folgende Eigenschaften besitzen:
• Sie sollten zumindest grob über den Aufbau und die Funktionsweise des
Internet beziehungsweise der Dienste im Internet Bescheid wissen.
• Auch sollten sie Erfahrung in der Aufbereitung und der zur Verfügungstellung
von Daten mit Hilfe von Informationsdiensten haben, zum Beispiel in der Erstellung von HTML-Dokumenten.
• Sie sollten auch ein ungefähres Bild von den Benutzern haben, die auf ihren
Informations-Dienst zugreifen, und sich an deren Informationsbedarf orientieren.
• Die Datenbibliothekare sollten sich dabei auch ihrer Rolle als Dienstleister bewußt sein und sich freundlich und geduldig um die Belange der Kunden 74 kümmern.
• Die Datenbibliothekare einer Institution sollten sich auch untereinander
ständig über ihre Aktivitäten informieren, insbesondere auch den Systemadministrator, um zu verhindern, daß in unterschiedlichen Bereichen ständig die gleichen Informationen stehen.
• Sie sollten sich außerdem auf ein einheitliches Erscheinungsbild des
Informations-Dienstes einigen. Auf diese Weise wird das Gesamtsystem für einen Benutzer transparenter und die Wahrscheinlichkeit nimmt zu, daß der Client erneut auf den Dienst zurückgreifen wird.
0. Installation eines Linux-Servers - 186 -
In diesem Zusammenhang haben die Professoren Hannig, Hildebrand und Kursawe der Fachhochschule Ludwigshafen im Mai 1996 einen Arbeitskreis Internet (AKI) ins Leben gerufen, der sich mit den oben genannten Punkten intensiv beschäftigt. Somit gibt es für die einzelnen Fachbereiche und Einrichtungen der Fachhochschule jeweils einen Verantwortlichen, der die Aktivitäten zur Informationsbereitstellung durch den WWW-Server der Hochschule koordiniert.
Installation eines Linux-Servers
Dieses Kapitel beschäftigt sich nun mit der Installation eines Basis-Linux-Betriebssystems, auf dem später die WWW-Server-Software installiert werden soll. Leider gibt es für die Installation von Linux keine allgemein gültige, einheitliche Installationsroutine, wie man das von MS-DOS oder Windows her kennt. So wie es für UNIX unterschiedliche Versionen gibt, existieren auch von Linux verschiedene Distributionen auf dem Markt, bei der jede ein eigenes Installationsverfahren hat. Folglich beziehen sich die nachfolgenden Ausführungen auf die sogenannte Slackware Linux Distribution Version 3.0, die von der Firma delix Computer GmbH, Stuttgart, für die Fachhochschule Ludwigshafen angeschafft worden ist. Der Kernel, also das eigentliche Linux-Betriebssystem, hat bei dieser Distribution die Versionsnummer 1.2.13. In den nachfolgenden Abschnitten soll nun nicht der komplette Installationsvorgang bis in jedes Detail beschrieben werden, da diese Vorgehensweise in Anbetracht der vielen unterschiedlichen Linux-Distributionen zu einseitig wäre. Es gibt allerdings dennoch grundlegende Gemeinsamkeiten bei der Installation von Linux, die bei den meisten Distributionen gleich sind. Die folgenden Kapitel sind daher auf die Beschreibung dieser Ähnlichkeiten beschränkt.
74 Das englische Wort client bedeutet unter anderem auch Kunde!
0. Installation eines Linux-Servers - 187 -
Einrichteneines Base-Linux-Systems mit Slakware
In diesem Abschnitt werden folgende für die Installation von Linux relevanten Schritte behandelt:
• Das Erstellen von Boot-Disketten
• Die Partitionierung der Festplatte
• Installation des Datei-Systems
Vorkehrungen vor der Installation
• Es werden zwei MS-DOS formatierte 3.5“ Disketten mit gleicher
Speicherkapazität (am besten 1,4 MByte) benötigt
• Auf dem Rechner, auf den Linux installiert werden soll, sollte zuvor MS-DOS
installiert sein. Will man allerdings ausschließlich Linux als Betriebssystem verwenden, sollte man zumindest Zugang zu einem DOS-Rechner haben. Auf dem WWW-Server der Fachhochschule Ludwigshafen wurde zunächst MS-DOS installiert.
• Da mittlerweile die meisten Linux-Distributionen auf CD-Rom ausgeliefert
werden, muß man, sofern man kein CD-ROM-Laufwerk besitzt, die entsprechenden Installationsdateien auf Disketten kopieren. Diese Vorgehensweise ist auch dann notwendig, wenn, wie im vorhergehenden Punkt erwähnt, auf dem Rechner, auf den Linux installiert werden soll, noch kein Betriebssystem vorhanden ist, da ein CD-ROM-Laufwerk nur über dieses genutzt werden kann.
• Es sollten alle zur Verfügung stehenden Beschreibungen der verwendeten
Hardware, insbesondere Informationen über die genaue
Markenbezeichnungen und Versionsnummern der Komponenten, bereit liegen.
0. Installation eines Linux-Servers - 188 -
Erstellender Boot- und Root-Disketten
Um Linux zu installieren, müssen zunächst zwei Disketten erstellt werden. Die Boot-Diskette, mit den notwendigen Informationen für den Boot-Vorgang, bei dem die Hardware untersucht wird, und die Root-Diskette mit den nötigen Root-Informationen, die für die Installation notwendig sind.
Diese beiden Disketten sollten auch nach der erfolgreichen Installation von Linux sicher aufbewahrt werden, da mit ihnen bei Systemfehlern der Rechner wieder gebootet werden kann.
Um diese Disketten zu erstellen, gibt es auf der CD die Programme gzip.exe und rawrite.exe im Verzeichnis \slakware. Da 3.5“ Disketten verwendet werden, muß in das Verzeichnis \slakware\bootdsk.144 gewechselt werden, in dem sich die jeweiligen Dateien zur Erstellung von Boot-Disketten befinden. Im speziellen Fall der Fachhochschule wurde dort die Datei idecd.gz ausgewählt, da sie den Source-Code für fast alle gängigen IDE-Komponenten, insbesondere CD-ROM Laufwerke, enthält.
Im Verzeichnis \slakware\rootdsks.144 findet man die Datei color144.gz, welche Daten für die Root-Diskette, unter anderem für eine Installation in Farbe, enthält.
Nachdem man die obengenannten Programme und die Boot- beziehungsweise Root-Disketten-Dateien am besten in ein eigens dafür erstelltes Verzeichnis auf die Festplatte eines DOS-Rechners kopiert hat, kann mit der Erzeugung der Boot- und Root-Diskette begonnen werden. Dazu geht man folgendermaßen vor:
1. Mit dem Befehl gzip -d idecd.gz die Datei idecd erzeugen
2. Mit dem Befehl gzip -d color144.gz die Datei color144 erzeugen
3. Die erste fehlerfrei formatierte Diskette in das entsprechende Diskettenlaufwerk des Rechners einlegen
4. Das Programm rawrite.exe aufrufen
0. Installation eines Linux-Servers - 189 -
5. Den Anweisungen des Programms zur Erstellung einer Boot-Diskette folgen. Die Datei idecd wird dadurch auf die Diskette geschrieben. Die Boot-Diskette wurde erstellt.
6. Die zweite fehlerfrei formatierte Diskette in das Laufwerk einlegen
7. Erneut rawrite.exe aufrufen und den Anweisungen des Programms zur Erstellung einer Root-Diskette folgen. Daraufhin wird die Datei color144 auf die Diskette geschrieben und damit ist auch die Root-Diskette erstellt.
Erstes Booten von Linux
Nachdem die Boot- und Root-Diskette erstellt worden ist, kann der Rechner zum erstenmal unter Linux gebootet werden. Dazu muß die Boot-Diskette in das Laufwerk des Rechners eingelegt werden. Nach dem Hochfahren des Rechners werden Boot-Informationen von der Diskette gelesen, und die Hardware wird untersucht. Ist dieser Vorgang beendet, fordert das System dazu auf, die Root-Diskette einzulegen und die Taste Enter zu betätigen. Das System liest nun von der Root-Diskette alle zur Installation von Linux notwendigen Informationen und fordert den Benutzer nach erfolgter Konfiguration dazu auf, sich am System anzumelden. Dies geschieht durch Eingabe des Benutzernamens „root“ und dem Betätigen der Enter-Taste. Die Eingabe eines Paßwortes ist in dieser Phase noch nicht notwendig.
Partitionierung der Festplatte
Bevor mit der Installation der Linux-Software begonnen werden kann, muß zunächst die Festplatte, wie dies auch von MS-DOS her bekannt sein dürfte, partitioniert und in primäre (primary) und erweiterte (extended) Bereiche eingeteilt werden. Unter Linux können maximal vier Partitionen angelegt werden. Bevor mit der Partitionierung begonnen wird, sollt man sich Gedanken darüber machen, wie der Gesamtspeicherplatz der Festplatte aufgeteilt werden soll. Hierzu gibt es die unterschiedlichsten Möglichkeiten. Man sollte aber auf jeden Fall genügend Plattenplatz für die Auslagerungsdatei, den sogenannten Swap-Space, einplanen, die Linux zum Speichermanagement benötigt.
0. Installation eines Linux-Servers - 190 -
Für die 1,2 GByte Festplatte des WWW-Servers der Fachhochschule wurde zum Beispiel folgende Platteneinteilung vorgenommen:
Mit dem Befehl fdisk /dev/hda wird das Programm zur Partitionierung der ersten IDE-Festplatte aufgerufen. Besitzt der Rechner eine zweite Platte, wird diese entsprechend mit dem Befehl fdisk /dev/hdb partitioniert. Die Partitionierungs-Routine unter Linux besitzt mehrere Kommandos. Nachfolgend seien die wichtigsten aufgelistet:
Tabelle 17: Die wichtigsten Fdisk-Kommandos
Um mit fdisk eine neue Partition anzulegen, gibt man das Kommando „n“ ein. Das Programm fragt darauf, ob eine primäre oder erweitertet Partition erstellt werden soll. Um zum Beispiel die in Tabelle 6 genannte Linux-Partition Nummer 2 anzulegen, gibt man in diesem Fall „p“ für primäre Partition ein. Als First-Cylinder ist in diesem Fall die Start-Cylinder Nummer 103 einzugeben, da dieser der erste freie Zylinder nach schon vorhandenen DOS-Partition ist (siehe Tabelle 8). Fdisk stellt nun die Frage nach dem letzten Zylinder für die jeweilige Partition. Hier kann auch direkt die Partitionsgröße in MByte durch
0. Installation eines Linux-Servers - 191 -
Eingabe von „+301M“ zum Beispiel für die Linux-Partition Nummer 2 eingegeben werden.
Nachdem alle Partitionen wie in Tabelle 6 mit „n“ angelegt worden sind, muß noch die ID-Nummer der Swap-Space-Partition mit dem Kommando „t“ auf 82 geändert werden, da sie bei der Neuanlage standardmäßig auf der ID-Nummer 83 für eine „Linux native“ Partition eingestellt ist.
Tabelle 18: Die Partitionstabelle des WWW-Servers
Durch Eingabe des Kommandos „w“ wird nun die Partitionstabelle geschrieben und entsprechend eingerichtet. Danach kann das Programm fdisk mit dem Kommando „q“ verlassen werden.
Das System ist nun soweit vorbereitet, daß mit der Installation des Dateisystems begonnen werden kann.
Installation des Dateisystems
Bei der Slackware Distribution kann nach erfolgreicher Partitionierung der Festplatte mit dem Befehl setup an der Eingabeaufforderung eine menügesteuerte Installationsroutine aufgerufen werden. Mit diesem Installationsprogramm kann man die einzelnen Partitionen formatieren, länderspezifische Tastatureinstellungen vornehmen und die einzelnen Komponenten des Dateisystems auswählen. Das Programm ist im Prinzip selbsterklärend, und daher soll hier nicht näher darauf eingegangen werden. Auf jeden Fall sollte man die Basiskomponenten des Linux-Systems installieren, die im Installationsprogramm speziell gekennzeichnet sind, denn sonst läßt sich Linux nicht richtig booten. Ob darüber hinaus noch die graphische Benutzeroberfläche X-Windows oder Spiele wie Tetris installiert werden sollen, liegt im Ermessen des jeweiligen Systemadministrators.
Installation von LILO
0. Installation eines Linux-Servers - 192 -
Nachdem die gewünschten Komponenten des Dateisystems installiert worden sind, fragt das Setup-Programm, auf welche Weise das System gebootet werden soll. Es bietet zunächst die Möglichkeit an, zu diesem Zweck eine Boot-Diskette zu erstellen. Diese Diskette sollte auf jeden Fall erstellt werden, da mit ihrer Hilfe auch bei größeren Systemabstürzen das System wieder hochgefahren werden kann.
Neben dieser Möglichkeit bieten die meisten Linux-Distributionen, - so auch die vorliegende Slackware-Disitribution -, mit dem Boot-Manager LILO eine weitere, etwas elegantere Möglichkeit zum Booten des Rechners. LILO bietet neben der Option unterschiedliche Betriebssysteme zu booten, so auch zum Beispiel, wenn neben Linux ebenfalls MS-DOS installiert ist, die Möglichkeit Linux, mit verschiedenen Kerneln zu starten. Das Starten unterschiedlicher Kernel ist besonders hilfreich, wenn neue Hardware zum System hinzugefügt wird und dadurch eine Neukompilierung des alten Kernels notwendig ist.
Nachfolgend sollen die notwendigen Schritte zur Installation von LILO erläutert werden, nachdem im Setup-Programm der Menüpunkt „Installing LILO“ ausgewählt worden ist.
1. Start LILO configuration with a new LILO header
Mit diesem Kommando wird LILO neu auf einem Rechner installiert. Eine eventuell vorhandene Version wird überschrieben.
2. Add a Linux partition to the LILO config file
In dieser Sektion kann eine Linux-Partition angegeben werden, von der gebootet werden soll. Beim WWW-Server der Fachhochschule wurde hier die Partition /dev/hda2 (siehe Tabelle 8) eingetragen. Für diese Partition muß noch ein Name eingegeben werden, über den beim Start des Rechners das zu bootende Betriebssystem aufgerufen werden kann.
0. Installation eines Linux-Servers - 193 -
Um mit LILO Linux auf dem WWW-Server zu booten, wurde als Name sinnvoller Weise Linux verwendet.
3. Add an OS/2 partition to the LILO config file
Ist auf dem Rechner neben Linux auch OS/2 installiert, kann hier die entsprechende OS/2-Partition eingegeben werden. Da dies beim WWW-Server nicht der Fall ist, wurden an dieser Stelle keine Angaben gemacht.
4. Add a DOS partition to the LILO config file
Da MS-DOS auf dem WWW-Server als zweites Betriebssystem installiert ist, wurde als bootfähige DOS-Partition /dev/hda1 aus Tabelle 8 eingetragen und mit DOS benannt.
In der nachfolgenden Bildschirmmaske des LILO-Installationsprogramms wird der Benutzer gefragt, wo der LILO-Bootmanager installiert werden soll. Es werden dabei zwei Alternativen angeboten:
1. Installation auf dem Master-Boot-Record (MBR) der Festplatte
2. Installation von LILO auf einer Diskette
Für den WWW-Server wurde Alternative 1 gewählt, da auf diese Weise ein schnelleres und etwas eleganteres Booten möglich ist als bei der Verwendung einer LILO-Boot-Diskette.
Abschließend muß noch ausgewählt werden, welche Partition standardmäßig gebootet wird und wie lange LILO warten soll, bis diese automatisch gestartet wird. Für den WWW-Server wurde Linux als Standard-Betriebssystem gewählt, also die Partition /dev/hda2, und es wurden 5 Sekunden Wartezeit angegeben.
Nachdem alle zur Konfiguration von LILO notwendigen Eintragungen gemacht worden sind, werden die Einstellungen durch Auswahl des Menüpunktes „Install LILO“ in der Datei lilo.conf im Verzeichnis /etc/ gespeichert. Diese Datei kann jederzeit editiert und nach Bedarf neu angepaßt werden. Die Änderungen werden allerdings erst wirksam, wenn vor dem nächsten Reboot des Rechners an der Shell der Befehl „lilo“ eingegeben wird. Dadurch werden die Daten der Datei lilo.conf erneut auf den Master-Boot-Record geschrieben.
0. Installation eines Linux-Servers - 194 -
Im Anhang - Abbildung 11 ist die aktuelle LILO-Konfigurationsdatei des WWW-Servers abgedruckt. In Zeile 13 ist es durch den Eintrag der Befehlszeile:
image = /vmlinuz.scsi.1540
möglich, wie bereits weiter oben erwähnt, neben dem ursprünglichen Kernel (siehe Zeile 19 im Anhang - Abbildung 11) auch einen weiteren Kernel zu booten.
Netzanbindung
Da der WWW-Server der Fachhochschule in das bestehende Netzwerk integriert werden mußte, seien nachfolgend die notwendigen Einstellungen erläutert.
Es ist auch möglich, die Netzkonfiguration im oben genannten Installationsprogramm durchzuführen, so daß die Eintragungen in den entsprechenden Konfigurationsdateien automatisch vorgenommen werden. Gerade für den UNIX- beziehungsweise Linux-Neuling ist diese Vorgehensweise bei der Netzanbindung recht undurchsichtig, da das Setup-Programm nicht verrät, in welchen Dateien die Eintragungen vorgenommen werden. Ändert sich später einmal etwas an der Netzwerkkonfiguration, so muß zunächst mühsam nach den Konfigurationsdateien gesucht werden.
Die nachfolgenden Anweisungen können also direkt in die entsprechenden Dateien eingetragen werden, die im Anhang der Vollständigkeit halber abgedruckt sind.
Die wichtigsten Eintragungen sind in der Datei rc.inet1 zu machen, die im Verzeichnis /etc/rc.d/ auf dem neu installierten Linux-Rechner zu finden ist (siehe Anhang - Abbildung 3).
In Zeile 19 ist zunächst die IP-Adresse des lokalen Rechners einzutragen. Für den WWW-Server der Fachhochschule ist dies die Nummer 143.93.196.10. In den Zeilen 20 bis 22 müssen die allgemeine Netzmaske (255.255.255.0), das Netzwerk, in dem sich der WWW-Server befindet (143.93.196.0), und die sogenannte Broadcast-Adresse (143.93.196.255) des 196iger Netzes eingegeben werden.
0. Installation eines Linux-Servers - 195 -
Als Gateway wird die IP-Nummer des CISCO 2500 Routers (143.93.196.1) eingetragen (siehe Abbildung 16). Schließlich werden in den Zeilen 34 bis 36 dem lokalen Rechner alle weiteren Subnetze der Fachhochschule Ludwigshafen mitgeteilt (143.93.193.0 bis 195.0). Zu diesen Subnetzen wird über den CISCO 4500 Router mit der IP-Adresse 143.93.196.2 geroutet, diese muß jeweils hinter die Adressen der Subnetze eingetragen werden.
In Zeile 8 der Datei rc.inet1 wird der Inhalt der Datei HOSTNAME eingelesen, in welche noch der Name des Rechners, in unserem Fall www.fhludwigshafen.de, eingetragen werden muß. Die Datei HOSTNAME befindet sich im Verzeichnis /etc/ (siehe Anhang - Abbildung 4).
Schließlich müssen noch in der Datei resolv.conf, die ebenfalls im Verzeichnis /etc/ lokalisiert ist, der Name der Domain (fh-ludwigshafen.de), und der beziehungsweise die Name-Server (Thales: 143.93.195.9 und Obelix: 143.93.193.3) vermerkt werden (siehe Anhang - Abbildung 5, Zeile 1 bis 3).
Nachdem die Dateien auf diese Weise modifiziert worden sind, kann der Rechner mit dem Befehl „reboot“ neu gebootet werden, und der Server müßte nun mit dem Netzwerk verbunden sein (also auch mit dem Internet).
Anpassung (Neukompilierung) des Linux-Kernels bei Hinzufügen neuer Hardwarekomponenten
Es kann immer wieder vorkommen, daß während des Betriebs eines Linux-Servers Hardware ausgetauscht oder neu hinzugefügt werden muß. Damit die neuen Komponenten vom System erkannt werden, muß der Kernel neu kompiliert werden. Das hört sich zunächst schlimmer an, als es wirklich ist. Zwar funktioniert die Integration neuer Hardware bei Linux nicht so „elegant“, wie man das vielleicht von MS-DOS, mit Treiber-Disketten oder Windows 95 beziehungsweise Windows NT, mit Plug and Play, her kennt, aber diese Treiber werden von Linux auch gar nicht benötigt, denn es kennt standardmäßig fast 99% aller Hardwarekomponenten.
Nachfolgend soll die Vorgehensweise bei der Neukompilierung des Linux-Kernels dargestellt werden. Bei der hinzuzufügenden Hardware handelt es sich um ein SCSI-Bandlaufwerk, dessen Bedeutung für den WWW-Server der Fachhochschule noch aus Kapitel 0 bekannt sein dürfte.
0. Installation eines Linux-Servers - 196 -
Nachdem das Bandlaufwerk an den Rechner angeschlossen und das System neu gebootet worden ist, gibt man zur Modifikation des Systemkerns an der Shell den Befehl
make config
ein, nachdem man in das Verzeichnis /usr/src/linux gewechselt hat. Durch dieses Kommando wird eine Konfigurationsdatei, wie sie im Anhang -Abbildung 12 abgebildet ist, erzeugt. Dazu wird durch den oben genannten Befehl eine Programmroutine aufgerufen, in welcher der Benutzer nach systembezogenen Konfigurationsdaten gefragt wird. Die einzelnen Fragen müssen jeweils mit ja (y) oder nein (n) beantwortet werden, wobei ursprüngliche Einstellungen des alten Kernels bereits mit ja (y) belegt sind.
Damit beim nächsten Systemstart das SCSI-Bandlaufwerk erkannt wird, muß im Verlauf der Konfigurationsroutine die Frage ob, SCSI-Komponenten unterstützt werden sollen, mit ja (y) beantwortet werden (siehe Anhang -Abbildung 12, Zeile 53). Die Routine bietet daraufhin unterschiedliche SCSI-Komponenten an, darunter auch das HP-Bandlaufwerk 1542, das für den WWW-Server verwendet wird. Hat man die Hardware durch Bestätigen mit „y“ ausgewählt, können die übrigen Einstellungsmöglichkeiten durch Drücken der Enter-Taste übergangen werden, und die Konfigurationsdatei wird geschrieben.
Als nächsten Schritt muß der Befehl
make dep
an der Shell eingegeben werden. Dadurch werden die Abhängigkeiten der Sourcefiles erstellt.
Mit
make clean
werden alle Objektfiles gelöscht.
0. Installation eines Linux-Servers - 197 -
Nun kann durch Eingabe von
make zlilo
75 in der eigentliche Kompilier-Prozeß für einen komprimierten LILO-Kernel Gang gesetzt werden, der je nach Rechnerleistung zwischen wenigen Minuten und mehreren Stunden dauern kann. Zur Orientierung: Auf dem WWW-Server der Fachhochschule dauerte die Modifikation des Systemkerns ca. 1 Stunde.
Nach der Kompilierung legt das System den neuen Kernel im Verzeichnis /usr/src/linux unter dem Dateinamen vmlinux ab. Damit die neuen Einstellungen wirksam werden können, muß der neue Kernel mit dem Befehl
cp /usr/src/linux/vmlinux /
in das Root-Verzeichnis kopiert werden (bitte Leerzeichen zwischen vmlinux und / beachten!). Nun sollte eine Backup-Kopie des alten Kernels gemacht werden, denn schließlich weiß man noch nicht, ob der neue Kernel funktioniert. Der alte Kernel hat in der Regel den Dateinamen vmlinuz und steht im Root-Verzeichnis (/). Mit dem Befehl
cp /vmlinuz /vmlinuz.bak
kann eine Sicherungskopie des ursprünglichen Kernels angelegt werden.
Abschließend wird durch Eingabe von
mv /vmlinux /vmlinuz
der alte Systemkern durch den neuen ersetzt.
Bevor das System gebootet wird, muß noch unbedingt das Kommando „lilo“ eingegeben werden, damit der Boot-Manager den neuen Kernel beim nächsten Startvorgang erkennt.
Nach dem nächsten Reboot-Vorgang sollte das Bandlaufwerk erkannt werden und mit /dev/st0 angesprochen werden können.
75 Da der WWW-Server der Fachhochschule mit LILO gebootet wird, muß ein komprimierter LILO- Kernel erzeugt werden, da LILO nur einen Kernel mit maximal 450 KB booten kann.
0. Installation eines Linux-Servers - 198 -
Sicherung des Linux-Servers
Um mit dem neu installierten Backup-Laufwerk den WWW-Server zu sichern, verwendet man am besten den UNIX-Befehl „tar“. Ein mit tar erstellter Backup- 76 gesetztenZugriffsrechten auf Satz enthält nämlich neben den mittels „chmod“
77 des Dateisystems. Mit tar lassen Dateien und Verzeichnisse auch die Links
sich Backup-Sätze auch wieder relativ schnell zurücklesen. Damit eignet sich der Befehl auch sehr gut, um ein System wieder herzustellen.
Um nun mit tar eine komplette Sicherung des Systems durchzuführen, muß an der Shell der Befehl
tar -czvf /dev/st0 /
eingegeben werden. Die einzelnen Kommandos zur Erzeugung eines Backup-Satzes mit tar werden in der nachfolgenden Übersicht in Tabelle 9 dargestellt.
76
Der Befehl chmod 755
77 Unter UNIX besteht die Möglichkeit, Verweise, sogenannte Links, auf Dateien und Verzeichnisse zu setzen. Mit einem Link wird es möglich, an beliebigen Stellen im Dateisystem auf ein und dieselbe Datei zu verweisen.
0. Installation eines Linux-Servers - 199 -
Zurücklesen eines Backupsatzes
Um die Daten eines mit tar erstellten Backups wieder herzustellen, gibt man an der Shell den Befehl
tar -xzvf /dev/st0 /
ein. Das Kommando „x“ wirkt umgekehrt wie das Kommando „c“ aus Tabelle 9 und weist tar an, das auf dem Bandlaufwerk (/def/st0) befindliche Archiv zu entpacken und alle darin befindlichen komprimierten („z“) Daten in das Root-Verzeichnis (/) zurückzuschreiben.
Der tar-Befehl funktioniert allerdings nur, wenn das Basis-Linux-System vorhanden ist und sich dieses noch einwandfrei booten läßt (notfalls mit Boot-Diskette, falls LILO nicht mehr funktioniert). Sollte der Ernstfall einmal eingetreten sein, und es keine Möglichkeit mehr gibt, das Linux-System hochzufahren, bleibt keine andere Wahl, als die Festplatte, sofern sie noch funktioniert, zu formatieren. Mit einer aktuellen Sicherungskopie auf Band hat man die Situation aber dennoch schnell wieder im Griff. Ist die Festplatte formatiert, braucht man nichts anderes zu tun, als das System mit der in Abschnitt 0 erstellten und hoffentlich noch vorhandenen Bootbeziehungsweise Root-Diskette hochzufahren und nach dem Partitionieren der
Festplatte 78 (siehe Abschnitt 0) mit dem Befehl setup ein Basis-Linux-System (eine Minimalinstallation ist völlig ausreichend) zu installieren. Die Installation von LILO und die Konfiguration der Netzanbindung (siehe Abschnitt 0 und 0) ist nicht notwendig, da diese Daten auf dem Band vorhanden sind. Hat man das Basis-System installiert und den Rechner neu gebootet, kann mit dem Zurücksichern des Systems durch den Befehl tar -xzvf /dev/st0 / (siehe oben) begonnen werden. Dieser Vorgang kann einige Zeit in Anspruch nehmen. Ist das Zurückschreiben abgeschlossen, muß abschließend noch der Befehl „lilo“ (wichtig!) an der Eingabeaufforderung eingegeben werden, damit der Boot-Manager wieder auf dem Master-Boot-Record installiert wird. Nun steht dem Rebooten des „neuen“, „alten“ Systems nichts mehr im Wege. Wenn alles
78 Wichtig ist hierbei, daß die Partitionen genau so angelegt werden, wie sie auf dem ursprünglichen System vorhanden waren, denn sonst ist ein korrektes Zurückschreiben nicht möglich. Daher: Die Partitionstabelle unbedingt notieren und sicher aufbewahren!
0. Installation eines Linux-Servers - 200 -
richtig gemacht wurde, sollte das ursprüngliche System nun wieder funktionieren.
Dieses Szenario wurde am WWW-Server der Fachhochschule mit einer zweiten Festplatte getestet und war innerhalb einer Stunde abgeschlossen. Durch dieses Verfahren besteht also die Möglichkeit, bei einem totalen Systemausfall den Server in einer relativ kurzen Zeit wieder ans Netz zu bringen.
Der Terminkalender crontab
Im Zusammenhang mit dem obigen Datensicherungskonzept ist es an dieser Stelle sinnvoll, auf das Programm crontab näher einzugehen, das auf den meisten UNIX-Versionen zur Verfügung steht.
Mit crontab ist es möglich, UNIX-Befehle oder Programme zu einem bestimmten Zeitpunkt automatisch ausführen zu lassen. Eine besondere Eigenschaft von crontab liegt in der Möglichkeit, daß jeder Benutzer auf einem UNIX-System eine individuelle Termindatei anlegen kann. Dazu gibt er an der Shell den Befehl
crontab -e
ein. Auf diese Weise kann der Benutzer eine neue Termindatei für sich erstellen oder eine vorhandene Datei bearbeiten. Durch das Kommando „-e“ wird der UNIX-Editor vi aufgerufen, mit dem die individuelle Termindatei im ASCII-Format bearbeitet werden kann. Diese Datei wird im Verzeichnis /var/spool/cron/crontabs/ abgespeichert. Als Dateiname wird automatisch der Benutzername verwendet. So heißt die persönliche Terminkalender-Datei für den Benutzer root ebenfalls root. Diese Files können auch mit jedem anderen ASCII-Editor bearbeitet werden. Die Speicherung im oben genannten Verzeichnis ist jedoch zwingend, da das Serverprogramm crontab nur Dateien verwaltet, die in diesem Verzeichnis abgelegt sind.
Im Anhang ist die aktuelle Terminkalenderdatei von root des WWW-Servers abgebildet (siehe Anhang - Abbildung 13).
Der crontab-Dämon bearbeitet alle Zeilen einer Termindatei, sofern sie nicht leer beziehungsweise durch ein vorgestelltes Kommentarzeichen (#) deaktiviert
0. Installation eines Linux-Servers - 201 -
sind. Die Befehlszeilen in einer Termindatei können entweder eine Umgebungsvariable für die Ausführung aller in dieser Datei aufgerufenen Kommandos definieren oder eine sogenannte Zeitmaske mit zugehörigem Kommando enthalten.
Eine Zeitmaske besteht aus fünf Feldern, die vor das auszuführende Kommando geschrieben werden müssen. In Abbildung 18 ist das Muster einer Zeitmaske dargestellt. Das Zeichen steht dabei für das Leerzeichen.
Minuten Stunden Tag Monat Wochentag
Abbildung 49: Zeitmaske für eine Termindatei
Die Monat- und Wochentag-Angaben können mit ihren englischen Namen angegeben werden, wobei Groß- und Kleinschreibung ignoriert werden. Es genügt auch, wenn nur die ersten drei Buchstaben des Wochentages angegeben werden (mon = monday). Daneben können auch Zahlen für Monat und Wochentag verwendet werden, wobei 0 und 7 dem Sonntag entsprechen.
Jedes Feld der Zeitmaske muß, wenn kein Wert eingetragen wird, durch das Platzhalterzeichen „*“ belegt werden. Die Felder können durch Komma getrennte Listen von Zeiteinträgen sowie Bereiche der Form von- bis enthalten (mon-thu, jan,feb,mar etc.).
Weitere Informationen zu den crontab-Kommandos sind in den entsprechenden crontab-Readme-Dateien auf den jeweiligen UNIX-Systemen zu finden.
Der Eintrag
00 06 01 * * /Systembackup > /Backupreport
in Zeile 10 der Termindatei des Benutzers root (siehe Anhang - Abbildung 13) führt folglich die Batchdatei Systembackup am 1. Tag (01) jeden Monats (*) um 6 Uhr morgens (00 06) an einem beliebigen Wochentag (*) aus und leitet die Bildschirmausgabe in die Datei Backupreport um.
0. Installation eines Linux-Servers - 202 -
Die Batchdatei Systembackup enthält folgende Befehle:
Mit dem Befehl umount /cdrom wird das CD-Rom-Laufwerk deaktiviert. Dadurch wird verhindert, daß der Inhalt einer eventuell eingelegten CD-ROM mitgesichert wird, wodurch unnötig Speicherplatz verschwendet würde.
Cd / stellt sicher, daß der tar-Befehl tatsächlich aus dem Root-Verzeichnis aus gestartet wird.
Der Befehl tar -czvf /dev/st0 / sichert, wie in Abschnitt 0 beschrieben, das gesamte Dateisystem auf das Bandlaufwerk (/dev/st0). In den Zeilen 13, 16 und 19 dieser Termindatei sind drei weitere Termine innerhalb eines Monats für ein Systembackup eingetragen, so daß das Datei-System des WWW-Servers einmal pro Woche gesichert wird. Bezüglich der Datensicherung muß der Systemadministrator also nichts anderes mehr tun, als einmal pro Woche ein neues Band in das Bandlaufwerk einzulegen. Um die Sicherheit noch zu erhöhen, wird durch den Eintrag
00 06 01 * * echo %Systembackup WWW-Server zum 1. jeden Monats auf Band I
ausgefuehrt! Bitte Band II einlegen!! Datei Backupreport in / ueberpruefen!! in der Termindatei (siehe Anhang - Abbildung 13, Zeile 11) eine Mail an den Systemadministrator (root) geschickt, mit der er erinnert wird, ein neues Band in das Bandlaufwerk einzulegen. Bei diesem Kommando schickt der Befehl echo alle Zeichen, die hinter dem nachfolgenden %-Zeichen stehen, als Mail an den jeweiligen Benutzer der Termindatei.
Zur Zeit werden für die Backups des WWW-Servers vier Bänder im Turnus verwendet. Nach der letzten wöchentlichen Sicherung im Monat wird also wieder das erste Band mit dem aktuellen Dateisystem überschrieben. Auf diese Weise kann bei einem Systemausfall auf aktuelle Sicherungskopien der letzen vier Wochen zurückgegriffen werden.
Der Einsatz des Terminkalenders crontab ist nicht nur auf die Steuerung automatischer Systemsicherungen beschränkt. Es gibt noch weit mehr
0. Installation eines WWW-Server - 203 -
Verwendungsmöglichkeiten von crontab. Durch seinen geschickten Einsatz kann dieser Scheduler den Systemadministrator von zeitraubenden Routineaufgaben entbinden, so daß er sich wesentlicheren Dingen widmen kann. Im weiteren Verlauf dieser Arbeit wird daher noch öfter auf crontab eingegangen.
Installation eines WWW-Server
Bevor der Auswahl- und Installationsprozeß des WWW-Servers für die Fachhochschule Ludwigshafen beschrieben wird, soll zunächst noch auf das Protokoll HTTP, das für die Kommunikation zwischen WWW-Server und -Client verantwortlich ist, eingegangen werden. In formaler Hinsicht gehört HTTP zwar eher in Kapitel 0 f zu den anderen Internet-Protokollen, aber da das nachfolgende Kapitel eng mit diesem Protokoll verbunden ist, passen die Erläuterungen zu diesem Protokoll an dieser Stelle besser in den logischen Zusammenhang.
Das HyperText-Transfer-Protokoll (HTTP) 79
HTTP HyperText-Transfer-Protokoll ist ein zustandsloses, objektorientiertes Protokoll für ein verteiltes Hypermedia Informationssystem. Es regelt die Übertragung von Dokumenten zwischen WWW-Servern und WWW-Clients.
Die zur Zeit aktuelle Fassung des HTTP-Protokolls ist die Version HTTP/V1.0. Es gibt aber noch ältere Clients und Server, die über die Vorgängerversion HTTP/V0.9 miteinander kommunizieren. Die neue Version 1.0 wird die alte Variante jedoch auf absehbare Zeit ablösen, da sie neben ihrer Kompatibilität zu HTTP/V0.9 auch wesentliche Erweiterungen aufweist.
79 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 339
0. Installation eines WWW-Server - 204 -
Grundsätzlich werden bei beiden Versionen vier Operationen unterschieden:
1. Die Connection:
Hat ein Client eine Verbindung zu einem Server hergestellt und hat der Server diese bestätigt, erfolgt über das Protokoll TCP der Verbindungsaufbau in der Regel über den Port 80, der standardmäßig für HTTP verwendet wird. Ist HTTP ein anderer Port zugewiesen, muß dieser explizit angegeben werden.
2. Request
Steht die Verbindung, so kann der Client eine Anfrage über eine sogenannte request message an den Server schicken.
3. Response
Der Server antwortet auf die Anfrage des Clients über eine sogenannte response message.
4. Close
Sind die Informationen zwischen Client und Server ausgetauscht, so wird die Verbindung entweder durch den Server oder den Client beendet.
Nachfolgend sollen die Begriffe Request und Response näher erläutert werden.
Der Request-Block 80
Bei den Anfragen (Requests), die ein Client an einen Server schicken kann, unterscheidet man zwischen zwei Formen. Zum einen gibt es den SimpleRequest, welcher der Funktionalität der HTTP Version 0.9 entspricht, und den FullRequest, der nur von der Version 1.0 des HTTP-Protokolls unterstützt wird.
Ein SimpleRequest besteht lediglich aus der Zeile:
GET URL
Dabei steht URL für die Pfadangabe zu einem Dokument auf einem Server. Das Kommando
80 vgl. Zenk 1994, S. 384
0. Installation eines WWW-Server - 205 -
Eröffnet man eine Telnet-Sitzung (siehe Kapitel 0), wie in Abbildung 19 in Zeile 1 dargestellt, und gibt wie in Zeile 5 den SimpleRequest ein, so antwortet der Server, indem er den Inhalt der angeforderten Datei, hier das HTML-Dokument fehler.htm, an den Client zurückschickt und nach erfolgter Übertragung die Verbindung beendet.
Abbildung 50: Beispiel eines SimpleRequest
0. Installation eines WWW-Server - 206 -
Ein FullRequest unterscheidet sich in erster Linie durch einen etwas komplizierteren Aufbau von einem SimpleRequest:
Method URL ProtocolVersion
• GET:
Weist den Server an, das angeforderte Dokument unabhängig von seinem Format zu schicken.
• HEAD:
Weist den Server an, nur die HTTP-Kopfdaten zu schicken.
• PUT:
Hat ein Client die entsprechenden Berechtigungen, so kann er mit dieser Methode die im Datenteil vorhandenen Angaben unter dem angegebenen URL abspeichern.
• POST:
Mit dieser Methode werden die Benutzerdaten an ein anderes Objekt (zum Beispiel an ein externes Programm) geschickt, in dem sie weiterverarbeitet werden. Die POST-Methode wird häufig in Zusammenhang mit einem Formular verwendet und sendet die darin gemachten Benutzereingaben zur Weiterverarbeitung an ein anderes Programm.
Neben der Kommando Method ist bei einem FullRequest noch die Angabe der aktuellen Protokollversion notwendig, wodurch das Aussehen der gesamten Anfrage spezifiziert wird. Mit der Protokollversion können sogenannte HyperText Transfer Requests (HTRQ-Header) an den Server geschickt werden, mit denen ein Client bestimmte Informationen dem Server mitteilen kann. Im Gegensatz zu HTTP/V0.9, das keine FullRequests unterstützt, erlaubt die Version 1.0 von HTTP eine beliebige Anzahl solcher HTRQ-Header. Diese können zum Beispiel folgende Mitteilungen enthalten:
• From:
Über dieses Feld erfährt der Server die Mail-Adresse des Clients.
0. Installation eines WWW-Server - 207 -
• Authorisation:
Dieses Feld wird zur Identifikation eines Benutzer verwendet.
In Abbildung 20 ist eine Beispielsitzung mit Telnet und eine FullRequest-Anfrage dargestellt.
Abbildung 51: Beispiel eines FullRequest
Diese Ausführungen bezüglich des HTTP-Protokolls sollten ausreichen, um zu verstehen, wie die Kommunikation zwischen WWW-Client und -Server prinzipiell abläuft.
Auswahl der Serversoftware
Wie bei der Auswahl des Betriebssystems und der Hardware für den WWW-Server (siehe Kapitel 0 und 0), mußte auch eine geeignete WWW-Serversoftware für die Fachhochschule gefunden werden. Abbildung 21 zeigt eine Auswahl der bekanntesten WWW-Server. Sie stammt aus einem Artikel der Zeitschrift IX vom November 1995 mit dem Titel: „WWW-Server im Vergleich“, Seite 52-63.
0. Installation eines WWW-Server - 208 -
Der preisbewußte Leser wird sicherlich schnell festgestellt haben, daß alle aufgeführten WWW-Server (bis auf die Software von Netsite) kostenlos erhältlich sind. Aus diesem Grund wurde der Server von Netsite, trotz seiner sehr guten Performance und der Unterstützung aller wesentlichen Funktionen, bei der Auswahl nicht weiter berücksichtigt.
Betrachtet man den CERN-Dämon, der ja, wie in Kapitel 0 zu lesen war, der Urvater aller Web-Server ist - daher auch die relativ hohe Versionsnummer (3.0) - , so fällt neben der kostenlosen Verfügbarkeit der Software auch die Verwendungsmöglichkeit als Proxy (siehe Fußnote 29 auf Seite Fehler! Textmarke nicht definiert.) und die Unterstützung einer Zugangskontrolle positiv auf. Dennoch schied die CERN-Software aufgrund der schlechten Performance und der fehlenden Möglichkeit einer Auswertung der Log-Dateien aus der engeren Auswahl für den Einsatz an der Fachhochschule aus.
Beim Vergleich der beiden letzten Alternativen fiel die Wahl schließlich zugunsten des Apache-Servers aus, da er im Gegensatz zum NCSA-Dämon auch die Funktionen Proxy-Unterstützung und Auswertung der Server-Log-Files unterstützt. Ein weiterer Impuls, der schließlich die Entscheidung für den Apache-Server zusätzlich bestärkte, war eine Untersuchung der britischen Netcraft, bei der festgestellt worden war, daß seit März 1996 Apache der meistbenutzte WWW-Server weltweit war, knapp vor dem NCSA-Dämon. Laut Netcraft lag der Apache-Server auch im März 1997 mit beinahe 357.000 Hosts
0. Installation eines WWW-Server - 209 -
ungeschlagen auf Platz 1 der meistverwendeten Web-Server auf der Welt. NCSA ist mittlerweile auf Platz 3 mit ca. 74.000 Servern (hinter den Microsoft-IIS-Dämon mit knapp 78.000 Maschinen) zurückgefallen. Die aktuellen Web-Server-Statistiken können auf dem WWW-Server von Netcraft unter der Adresse http://www.netcraft.co.uk/survey/ abgefragt werden.
Installation des Apache/1.1b4 WWW-Servers
Der indianische Name des vorliegenden, mittlerweile erfolgreichsten WWW-Server, ist Ausdruck dessen, was ihn charakterisiert: Ein um Fehler (= bugs) bereinigter (a patchy) NCSA-Server. Apache ist also eine Weiterentwicklung des NCSA-Dämon. Im Februar 1996, als der WWW-Server für die Fachhochschule eingerichtet wurde, lag die Versionsnummer des Apache-Servers bei 1.1b4. Die aktuelle Version liegt im März 1997 bei Nummer 1.2, auf die der WWW-Server der Fachhochschule in der nächsten Zeit upgedatet wird.
Bevor mit der Installation des WWW-Servers von Apache begonnen werden kann, wird zunächst, wie bei jeder Softwareinstallation, das sogenannte Installations-Kit benötigt.
Um den Quellcode des Servers zu bekommen, braucht man nichts anderes zu tun, als einen Web-Browser auf die Adresse http://www.apache.org zu richten. Dort findet man neben dem für die Installation nötigen Programmpaket auch nützliche Informationen über die einzelnen Module und die Installation des Servers. Sollte bei der oben genannten Adresse keine Verbindung zustandekommen, so gibt es noch andere Möglichkeiten, um an den Quellcode zu gelangen, denn der oben genannte Rechner ist auf weiteren Servern auf der ganzen Welt gespiegelt, darunter auch auf Hosts in Deutschland.
So findet man Apache auch in Darmstadt (http://apache.zit.th-darmstadt.de), Dreieich (http://apache.www.nacamar.de/) und Regensburg (ftp://ftp.uniregensburg.de/pub/comp/infosystems/www/daemons/apache/). Diese Spiegel des Rechners der Apache-Gruppe haben allerdings den Nachteil, daß sie hinsichtlich der Aktualität in bezug auf die neuesten Versionen des Apache-Servers oftmals nicht auf dem neuesten Stand sind. Ist man auf der Suche nach dem Neuesten, so ist man letztlich auf www.apache.org angewiesen. Um
0. Installation eines WWW-Server - 210 -
ständig über neue Entwicklungen des Apache-Dämons informiert zu werden, kann man sich auch in eine entsprechende Mailing-Liste eintragen lassen. Dazu schickt man eine E-Mail an majordomo@apache.org, in welche man lediglich die Zeile
subscribe apache-announce
schreiben muß, um somit über aktuellen Versionen von Apache informiert zu werden.
Hat man mit einem Web-Browser eine der oben genannten WWW-Adressen erreicht, so muß man nach dem Apache-Quellcode für Linux-Systeme suchen.
Das Linux-Programmpaket für den Apache-Server wurde im März 1996 unter der World-Wide- Web-Adresse
http://apache.zit.th-darmstadt.de/dist/binaries/linux/
für die Fachhochschule heruntergeladen. Die zur Installation des Dämons notwendigen Files waren in einer Archiv-Datei namens apache_1.1b4-linux-ELF.tar.Z komprimiert. Bei Dateien mit der Extension (Dateiendung) .tar.Z handelt es sich um Archive, die mit dem UNIX-Befehl tar (siehe Abschnitt 0) erstellt worden sind. Um das Apache-Archiv zu entpacken, gibt man an der Shell den Befehl
tar -xzvf apache_1.1b4-linux-ELF.tar.Z /
ein, worauf im Root-Verzeichnis des Servers ein Unterverzeichnis /apache erstellt wird, in welches die Installations-Dateien des Apache-Servers kopiert werden.
Als nächstes muß der Server an das vorhandene Linux-System angepaßt werden. Dies geschieht durch Kompilierung des Quellcodes, ähnlich wie bei der Modifikation des System-Kerns in Kapitel 0.
In der Datei INSTALL (siehe Anhang - Abbildung 14), die im Verzeichnis /apache/src/ zu finden ist, wird die Vorgehensweise zum Kompilieren des Apache-Servers beschrieben.
Im Anhang ist die Datei Configuration abgebildet (siehe Anhang - Abbildung 15), von der unter Punkt 1) der Installationshilfe die Rede ist. Die Eintragungen,
0. Installation eines WWW-Server - 211 -
die für das korrekte Kompilieren des Apache-Servers für die Fachhochschule gemacht wurden, sind jeweils fett gedruckt, und es befindet sich über jeder Einstellung eine Kommentarzeile, die kurz erläutert, welche Funktion sie hat.
Nachdem die Datei Configuration entsprechend editiert worden ist, gibt man an der Shell den Befehl:
Configure
und danach das Kommando:
make
ein, wie dies unter Punkt 2) und 3) in der Datei INSTALL beschrieben ist. Dadurch wird die Übersetzung des Apache-Servers in Gang gesetzt.
Nach erfolgreicher Übersetzung des Apache-Servers in die
Programmiersprache C, muß im Verzeichnis /usr/local/etc/ ein Verzeichnis namens apache angelegt werden, in welches alle Dateien und Verzeichnisse aus dem Verzeichnis /apache kopiert werden. Es wäre auch möglich, den Server aus dem Original Root-Unterverzeichnis /apache weiter zu konfigurieren und zu starten, aber es ist allgemein üblich, den Server im Verzeichnis in /usr/local/etc zu verwalten. Außerdem hat man auf diese Weise eine Sicherungskopie der Original-Server Kompilierung, auf welche man im Notfall zurückgreifen kann. Falls noch nicht vorhanden, sollten im Verzeichnis /usr/local/etc/apache/ noch die Verzeichnisse cgi-bin (für ausführbare Server-Programme) und logs für die Log-Dateien des Servers angelegt werden.
Neben diversen anderen Verzeichnissen befindet sich in /usr/local/etc/apache auch ein Unterverzeichnis namens conf. In ihm befinden sich drei Dateien, die für den eigentlichen Betrieb des Apache editiert werden müssen.
0. Installation eines WWW-Server - 212 -
Es handelt sich dabei um die Dateien:
Die Einstellungen, die in den einzelnen Dateien zu machen sind, werden in den nachfolgenden Abschnitten erläutert, wobei die aktuellen Konfigurationsdateien mit den Einstellungen für die Fachhochschule im Anhang unter Abschnitt 4 abgebildet sind. Viele von der Distribution voreingestellte Eintragungen können übernommen werden, und es wird auf diese nicht näher eingegangen. Spezielle Einstellungen, die für den Betrieb des Servers an der Fachhochschule Ludwigshafen notwendig waren, sind in den Abbildungen im Anhang fett hervorgehoben und werden nachfolgend näher betrachtet.
Httpd.conf: Wichtige Servereinstellungen (Anhang - Abbildung 16)
Die erste wichtige Entscheidung in httpd.conf ist, ob der Server mit inetd gestartet werden oder stand alone laufen soll (siehe auch Kapitel 0 und 0). Durch den Eintrag
ServerType standalone
in Zeile 12 der Server-Konfigurationsdatei wurde festgelegt, daß der Apache- Server der Fachhochschule als eigenständiger WWW-Server starten soll.
0. Installation eines WWW-Server - 213 -
Damit der WWW-Server beim Reboot des Linux-Systems automatisch
81 (siehe Anhang - Abbildung 19) im gestartet wird, wurde in der Datei rc.local Verzeichnis /etc/rc.d/rc.local folgender Eintrag vorgenommen:
Dadurch muß der Server nicht explizit nach einem Systemstart aufgerufen werden.
In Zeile 30 und 31 werden die gewünschten Namen für User und Group eingetragen, die während des Betriebs des Servers benutzt werden. Es bieten sich die Namen http für User und www für Group an, die auch für den Fachhochschul-Server verwendet werden, da mit diesen Bezeichnungen eine sinngemäße Verbindung zum WWW-Server entsteht. Falls noch nicht geschehen, müssen der Benutzer http und die Gruppe www in der Datei passwd beziehungsweise group im Verzeichnis /etc eingetragen werden (Achtung: für Benutzer http kein Paßwort verwenden!).
Die von den Autoren des Servers voreingestellten Festlegungen für die Pfadnamen der Error- und Log-Dateien in den Zeilen 50 bis 64 können problemlos übernommen werden. Auch der Aufenthaltsort der Prozeßnummer des Servers ist sinnvoll; der Webmaster braucht sie in dem Moment, in dem er per kill -HUP den Server die neue Konfiguration einlesen lassen will; genauer mit kill -HUP `cat /usr/local/etc/apache/logs/httpd.pid`. In diesem Zusammenhang wurde auch eine kleine Batchdatei (Abbildung 22) mit dem Namen kille geschrieben, mit deren Hilfe der Apache-Server beendet werden kann.
81 rc.local ist eine Datei, deren Inhalt bei jedem Systemstart eingelesen und verarbeitet wird.
0. Installation eines WWW-Server - 214 -
Das Kommando -HUP wurde hierbei weggelassen, da es einen Neustart des Servers bewirken würde. Diese Batchdatei dient hauptsächlich dazu, den WWW-Server vor dem täglichen Reboot der Linux-Maschine um 4:35 Uhr (siehe Anhang - Abbildung 13, Zeile 42) zu beenden (siehe Anhang -Abbildung 13, Zeile 28), um eventuelle Datenverluste durch das abrupte Beenden beim Rebooten zu vermeiden.
Es gibt auch Einträge in httpd.conf, die zwingend verändert werden müssen. So muß in Zeile 36 unter ServerAdmin die E-Mail-Adresse derjenigen Person eingetragen werden, an welche auftretende Fehler gemeldet werden (im vorliegenden Fall wird der Benutzer guido@fh-ludwigshafen.de benachrichtigt). Ähnliches gilt für ServerName in Zeile 74, den sich niemand einfach ausdenken sollte. Es kann der Hostname selbst sein - und zwar full qualified, also mit Domain-Namen - oder ein Alias. In letzterem Fall muß er natürlich im zuständigen Namensdienst eingetragen sein: in /etc/hosts, im Domain Name System (DNS) oder im Network Information Service (NIS). Im Zweifelsfall bietet sich ein kurzes Gespräch mit dem Netzverwalter an.
Von zentraler Bedeutung ist neben dem bisher Genannten der Pfad in Zeile 41:
ServerRoot
muß der Ausgangspfad für alle Dateien sein, die für den Server wichtig sind (vor allem
conf
und
htdoc).
Für den WWW-Server der Fachhochschule ist dies /usr/local/etc/apache. Die im unteren Teil vorgenommenen Einstellungen hingegen dürften so, wie sie eingetragen sind, stehenbleiben können. Was die letzte Direktive ab Zeile 162 (
srm.conf: Darstellung der Daten (Anhang - Abbildung 17)
In der zweiten Konfigurationsdatei (srm.conf) geht es darum, welche Dokumente wie anzuzeigen sind. Dazu ist zunächst festzulegen, wo sie sich befinden. In Zeile 12 legt dies die Variable DocumentRoot fest: /home/wwwfhlu/seiten soll das Verzeichnis heißen. Dies bezeichnet den Einstieg in die öffentlichen Daten, wie sie Surfer per http://www.fh-ludwigshafen.de/ abrufen.
0. Installation eines WWW-Server - 215 -
Als Dokumenten-Root wurde deshalb das /home Verzeichnis gewählt, weil jeder Benutzer, der sich am System anmeldet, automatisch in seinem Home-Verzeichnis landet. Um diesem ein umständliches Navigieren im Dateisystem zu ersparen, wurde Home als Dokumenten-Root ausgewählt. Unter dem Verzeichnis .../seiten gibt es pro Fachbereich und Einrichtung jeweils ein weiteres Unterverzeichnis, in welchem die jeweiligen Datenbibliothekare Schreibberechtigung haben. Für jede Einrichtung wurde entsprechend ein Benutzer und eine Gruppe angelegt. So gibt es zum Beispiel für den Fachbereich I der Fachhochschule Ludwigshafen einen Benutzer fb1 und eine Gruppe fb1. Dieser Benutzer fb1 beziehungsweise die Mitglieder der Gruppe fb1 haben demnach ausschließlich in ihrem Verzeichnis /home/www-fhlu/seiten/fb1 Schreibberechtigung. In der Dokumenten-Root haben ausnahmslos Mitglieder der Gruppe wwwadmin Schreibrechte.
Auch die beiden folgenden Variablen in Zeile 19 und 24 sollte jeder selbst setzen - oder dies bewußt nicht tun.
Nicht alle Systemverwalter sind dafür, daß der Web-Server auf Dateien zugreift, die außerhalb des in ServerRoot gesetzten Pfades liegen. Deswegen lehnen einige den Verweis von UserDir auf individuelle Verzeichnisse im jeweiligen $HOME des Benutzers (Default ist public_html) ab und erwägen statt dessen, im DocumentRoot unter einem Namen wie home ein Verzeichnis für einzelne anzulegen, das aber nicht per UserDir gekennzeichnet werden kann.
Für die Fachhochschule wurde diese Funktion jedoch aktiviert, da über UserDir auf persönliche Homepages von Benutzern, die auf dem Linux-Server angelegt sind, gelinkt wird.
Gibt man den URL http://www.fh-ludwigshafen.de/~
Schließlich benennt DirectoryIndex in Zeile 24 die Dateien, die der Server anzeigt, wenn jemand nicht auf ein einzelnes Dokument, sondern auf ein Verzeichnis zugreifen will.
0. Installation eines WWW-Server - 216 -
Die Vorgabe index.html bedeutet in diesem Fall, daß beim Aufruf von http://www.fh-ludwigshafen.de im Verzeichnis /home/www-fhlu/seiten eine Datei namens index.html beziehungsweise index.htm liegen sollte, die der Apache an den Client schickt. Existiert index.htm(l) nicht, sind die im genannten Directory liegenden Dateien und Verzeichnisse für den Aufrufer sicht- und anklickbar.
Vermeiden läßt sich das auf zweierlei Weise: entweder sorgt der Webmaster dafür, daß in jedem Verzeichnis eine Datei namens index.htm(l) liegt, oder er definiert mit DirectoryIndex mehrere Namen für anzuzeigende Dokumente: beispielsweise DirectoryIndex index.html index.htm welcome.html default.html default.shtml.
Werden an dieser Stelle mehrere Dateitypen mit unterschiedlichen Endungen angegeben, so muß pro Suffix ein zusätzlicher Eintrag wie in Zeile 215 gemacht werden, wenn Server-side Includes zum Einsatz kommen sollen. Dabei handelt es sich um Skripte, die zur Aufrufzeit Daten einbinden, beispielsweise das letzte Änderungsdatum einer Datei automatisch einlesen:
Last update:
Wird dieser Eintrag in ein HTML-Dokument eingetragen, so liest der Server das letzte Änderungsdatum des Dokuments und gibt es an den Browser des Clients zurück. Damit entfällt das manchmal lästige Eintragen des letzten Änderungsdatums per Hand, und der Client weiß, wie aktuell die jeweilige Seite ist.
AccessFileName in Zeile 91 legt fest, in welcher Datei jeweils Zugriffsbeschränkungen für ein Directory zu finden sind. Ist diese Funktion aktiviert, so überprüft der Server, ob es in einem Verzeichnis eine Datei namens .htaccess-apache (Punkt vor dem Dateinamen beachten!) gibt. Ist dies der Fall, führt er das Skript htpasswd im Verzeichnis /usr/local/etc/apache/conf aus, in welchem bestimmte Benutzernamen inklusive Kennwort eingetragen sind. Das Skript schickt an einen Client, der auf ein mit .htaccess-apache geschütztes Verzeichnis zugreifen will, ein Formular, in welches er einen Benutzernamen mit Paßwort eintragen muß. Nach der Benutzereingabe vergleicht das Skript die Eingaben mit den ihm bekannten Benutzerdaten und
0. Installation eines WWW-Server - 217 -
gewährt dem Client, sofern die Daten übereinstimmen, den Zugang zum gewünschten Verzeichnis.
Eine weitere, in srm.conf häufig verwendete Funktion sind sogenannte Aliases. Mit ihrer Hilfe können die Pfade unabhängig von der Dokumenten-Root individuell angepaßt werden. Ein Beispiel hierfür zeigt Zeile 135 in welcher der Alias /sound/ dem Pfad /home/www-fhlu/sound/ entspricht. Um über das World Wide Web auf dieses Verzeichnis zugreifen zu können, genügt der URL: http://www.fh-ludwigshafen.de/sound/.
Von den restlichen Voreinstellungen in srm.conf sind noch die Einstellungen ab Zeile 256 interessant, mit denen das Server-Verhalten bei Fehlermeldungen eingestellt werden kann. Es gibt drei verschiedene Möglichkeiten, wie man eigene ErrorDocuments erstellen kann. Entweder steht in srm.conf ein kurzer Text oder der Verweis auf ein Skript, das starten soll, respektive ein anderes lokales Dokument. Und schließlich kann eine Umleitung auf einen externen Server erfolgen. Für den Apache-Server der Fachhochschule wurde die Variante gewählt, bei welcher der Server ein Dokument (fehler.htm) an den Client sendet, sobald eine Anfrage nicht beantwortet werden kann (siehe Zeile 273 und 274).
Die restlichen Einstellungen in srm.conf können so übernommen werden, wie sie von den Entwicklern eingestellt worden sind.
access.conf: Zugriffsbeschränkungen vornehmen (Anhang - Abbildung 18)
Die dritte zu editierende Konfigurationsdatei ist access.conf. Sie teilt dem Server mit, welche Benutzer in welchen Verzeichnissen Zugriffsberechtigung haben und auf welche Dienste sie zurückgreifen dürfen. Die Bedeutung dieser Datei sollte nicht unterschätzt werden, da sie den Zugang zum gesamten System regelt.
Der erste Eintrag ist in Zeile 18 einzufügen. Hier wird dem Server die Dokumenten-Root /home/www-fhlu/seiten mitgeteilt, wie sie in srm.conf definiert wurde. In Zeile 30 können Optionen eingestellt werden, mit denen festgelegt wird, wie mit Anfragen, die an dieses Verzeichnis gerichtet werden, umgegangen werden soll. Folgende Optionen sind möglich:
0. Installation eines WWW-Server - 218 -
• None
Mit dieser Einstellung erreicht man das höchste Maß an Sicherheit, denn None verbietet jeglichen Zugriff auf das entsprechende Verzeichnis. Alle Anfragen werden mit der Fehlermeldung Forbidden zurückgewiesen.
• All
All gewährt Clients den vollen Zugriff auf ein Verzeichnis. Das Kommando sollte nur dann verwendet werden, wenn man sich sicher ist, daß externe Benutzer keinen Schaden anrichten können, wenn sie ohne Beschränkungen auf das betreffende Verzeichnis (inklusive den Home-Verzeichnissen der internen Benutzer), zugreifen dürfen. Bei dieser Option ist zu beachten, daß Links, die ein interner Benutzer von seinem Home-Verzeichnis aus auf ein anderes Verzeichnis gesetzt hat, welches nicht für den öffentlichen Zugriff gedacht ist, einem externen Client dessenungeachtet den Zugriff erlauben. All sollte also nur vorsichtig verwendet werden.
• FollowSymLinks
Durch diese Option akzeptiert der Server auch Links, die außerhalb der angegebenen Dokumenten-Root liegen. FollowSymLinks wirkt nicht so extrem wie All, da durch diese Anweisung der volle Zugriff für externe Benutzer nicht ermöglicht wird. Die Gefahr, daß über diese Einstellung in Verzeichnisse gelinkt wird, die nicht für den öffentlichen Zugang gedacht sind, besteht bei dieser Option allerdings immer noch. Nebenbei sei bemerkt, daß man beim Betrieb eines WWW-Servers ein gewisses Restrisiko einfach eingehen muß. Absolute Sicherheit gibt es (noch) nicht im Internet.
• Indexes
Indexes erlaubt es Outsidern, Listings für das entsprechende Verzeichnis abzurufen. Schaltet man diese Option ab, so werden Verzeichnisindizes verhindert, die vom Server erzeugt werden. Wird allerdings eine vorher erzeugte Indexdatei gefunden, so wird diese trotzdem gesendet.
• Includes
Ist diese Option aktiviert, so wird die Verwendung der in Abschnitt 0 erwähnten Server-side Includes ermöglicht, welche aktuelle Server-
0. Installation eines WWW-Server - 219 -
Informationen wie beispielsweise die aktuelle Uhrzeit oder das letzte Änderungsdatum des gesendeten Dokuments an den anfragenden Client zurückgeben. Eine etwas sicherere Variante des Includes-Kommandos ist IncludesNoExec, welches verhindert, daß Clients ausführbare Skripte in den HTML-Strom einschmuggeln können.
Die Optionen in Zeile 30 der Datei access.conf der Fachhochschule erlauben folglich die Verzeichnisindizierung, das Verfolgen auch außerhalb der Dokumenten-Root liegender Links und das Ausführen von Server-side Includes-Skripten durch den Eintrag:
Options Indexes FollowSymLinks IncludesNoExec.
Mit dem Eintrag AllowOverride None in Zeile 51 wird verhindert, daß andere Benutzer oder HTML-Autoren eines Systems die globale Access-Control Datei (.htaccess, siehe Abschnitt 0) überschreiben.
In der Sektion Limit in Zeile 55 bis 58 wird dem Server mitgeteilt, wer auf das entsprechende Verzeichnis zugreifen darf. Die Zugriffsbeschränkungen werden durch das Kommando
eingeleitet.
Um jedem Client den Zugriff zu ermöglichen, kann sowohl die Option deny als auch allow verwendet werden. Soll mit allow der Zugang geregelt werden, so muß allow, wie in Zeile 56 dargestellt, vor deny stehen (das Komma darf nicht vergessen werden!). Der Eintrag allow from all in Zeile 57 ermöglicht somit jedem Benutzer den Zugang zum entsprechenden Verzeichnis.
Mit deny kann Benutzern einer bestimmten Domain der Zugang verwehrt werden. Dazu muß unter die Zeile mit der Option allow eine Zeile mit dem Eintrag deny from www.domainname.xx eingefügt werden.
0. Installation eines WWW-Server - 220 -
Die Zugriffs-Beschränkungen für ein Verzeichnis werden mit dem Kommando
abgeschlossen (siehe Zeile 58).
Um die verzeichnisbezogenen Einstellungen zu beenden, wird das abschließende Kommando
verwendet.
Alle eben genannten Optionen können auf jedes beliebige Verzeichnis angewendet werden. Gibt es ein Directory mit besonders sensiblen Daten (wie beispielsweise /etc) so könnte man dieses mit Options None und deny from all gegen unbefugte Zugriffe relativ gut absichern.
Die Anweisung
0. Installation eines WWW-Server - 221 -
eingestellt werden. Die Location-Anweisung wird jeweils mit dem Kommando abgeschlossen.
Starten und Testen des Apache-Servers
Nachdem alle drei Konfigurationsdateien ordnungsgemäß editiert worden sind, kommt nun der erste Start des WWW-Servers.
Da der Web-Server der Fachhochschule, wie bereits mehrfach erwähnt, als eigenständiger Dämon laufen soll, kann hier auf die Beschreibung des Server-Starts unter inetd verzichtet werden.
Um den Apache-Server zu starten, gibt man im Verzeichnis /usr/local/etc/apache den Befehl
httpd -f /usr/local/etc/apache/conf/httpd.conf
ein. Der Schalter -f weist dabei den Pfad zur Server-Konfigurationsdatei httpd.conf. Es gibt noch ein Kommando -v, mit dem die aktuelle Versionsnummer der Dämons ausgegeben werden kann.
Sollten sich beim Editieren der drei Haupt-Konfigurationsdateien Fehler eingeschlichen haben, so werden diese vom Programm httpd nach dem Aufrufen unter Angabe des Dateinamens und der Programmzeile, in welcher der Fehler festgestellt wurde, angezeigt. Sind die Fehler bereinigt, so kann man einen erneuten Startversuch des Servers mit dem obigen Kommando durchführen.
Gibt httpd keine Fehlermeldungen mehr zurück, dürfte der Server mit großer Wahrscheinlichkeit laufen.
Um sicher zu gehen, daß der Dämon auch wirklich funktioniert gibt, es zunächst die Möglichkeit, den Server mit einem Web-Browser zu testen. Am besten setzt man dazu einen Web-Browser auf einem externen Rechner ein. Voraussetzung ist dabei natürlich, daß der Client-Rechner eine Verbindung zum Internet beziehungsweise World Wide Web hat. Richtet man den externen Web-Browser auf die Domain-Adresse des neu eingerichteten WWW-Server, im Falle der Fachhochschule auf http://www.fh-ludwigshafen.de, so sollte, wenn noch keine HTML-Dokumente erstellt worden sind, zumindest die
0. Installation eines WWW-Server - 222 -
Verzeichnisstruktur des Servers beziehungsweise der Dokumenten-Root wie in Abbildung 23 angezeigt werden.
Abbildung 54: Test des WWW-Servers mit einem Web-Browser (ohne index.htm)
Daneben gibt es noch eine Alternative, den Web-Server auch direkt zu testen, wenn man keine Möglichkeit hat, von einem externen Rechner mit einem WWW-Browser auf den Web-Server zuzugreifen. Dazu baut man mit telnet eine Verbindung zu dem Port auf, an dem das Protokoll auf Benutzeranfragen wartet. Diese Prozedur wurde schon in Kapitel 0 f erläutert und wird daher hier nicht nochmals beschrieben.
0. Betrieb eines WWW-Server - 223 -
Meldet sich der Server wie in Abbildung 20 auf Seite 87 zurück und gibt er dabei seine aktuelle Versionsnummer zurück, so ist dies der Beweis dafür, daß der Web-Server funktioniert.
Betrieb eines WWW-Server
Mit der erfolgreichen Installation des Apache-Dämons ist die Arbeit für den Webmaster allerdings noch nicht getan.
Zunächst muß der WWW-Server mit sinnvollem Inhalt gefüllt werden. Hierzu empfiehlt es sich Kontakt, mit den jeweiligen Datenbibliothekaren aufzunehmen und sie aufzufordern, HTML-Seiten für ihren entsprechenden
Verantwortungsbereich zu erstellen. Auch der Webmaster wird sich in der Regel, zumindest in der Anfangsphase, mit der Erstellung von Web-Dokumenten beschäftigen müssen. In dieser Arbeit auch auf die Auszeichnungssprache HTML und die Gestaltung von Web-Dokumenten einzugehen, ist aus Platzgründen leider nicht möglich. Im Prinzip ist dies auch nicht unbedingt notwendig, denn es gibt neben einschlägiger Literatur zu diesem Thema mittlerweile auch ausgezeichnete HTML-Tools wie zum Beispiel Frontpage von Microsoft, mit denen spielend HTML-Dokumente erstellt werden können. Wem es gelingt, in einem Textverarbeitungsprogramm ein Wort fett hervorzuheben, dürfte mit diesen Hyper-Text Tools ebenfalls keine Probleme haben.
Bekanntmachen des WWW-Servers
Sind die Inhalte soweit aufbereitet, daß sie der weltweiten Internet-Gemeinde präsentiert werden können, sollte der Web-Server in den großen Suchmaschinen des Internet wie zum Beispiel Altavista, Yahoo oder Excite eingetragen werden. Es gibt auch Suchdienste, die sogenannte Web-Crawler oder Spider durch das Netz schicken und somit automatisch einen neuen Server in ihre Datenbank aufnehmen. Bei diesen Netz-Detektiven handelt es sich um kleine Programme, die sich ähnlich wie Computer-Viren automatisch in ein System einloggen und sich Server-Daten wie zum Beispiel die Domain- Adresse oder die ersten Zeilen der Datei index.htm in der Dokumenten-Root
0. Betrieb eines WWW-Server - 224 -
merken und diese Daten an ihren Auftraggeber zurückschicken. Bei anderen Such-Systemen muß man diese Server-Daten jedoch explizit eintragen, bevor sie in deren Datenbank aufgenommen werden. Will man den Server zum Beispiel bei Altavista anmelden, so richtet man einen Web-Browser zunächst auf die Homepage mit der Adresse http://www.altavista.com. Dort gibt es einen Link mit dem Namen „Add URL“. Folgt man diesem Link, so hat man in den darauffolgenden Seiten (in der Regel Formulare) Gelegenheit, die eigene Serveradresse und kurze Informationen über den Inhalt des Servers einzugeben. In der Regel muß man bei diesen Suchmaschinen noch die Adresse der eigenen Organisation und die E-Mail Adresse des Internet-Beauftragten, am besten die des Webmasters (für die Fachhochschule also webmaster@fh-ludwigshafen.de) angeben.
Neben den oben genannten administrativen Tätigkeiten gibt es noch weit mehr Aufgaben, mit denen sich ein Webmaster beim Betrieb eines WWW-Servers beschäftigen muß, die hier jedoch nicht weiter aufgezählt werden können.
Es gibt jedoch noch einen interessanten Aspekt, der zum Schluß aufgegriffen werden soll. Es handelt sich hierbei um den Einsatz von CGI-Skripten. Nachfolgend soll geklärt werden, um was es sich dabei handelt und welche Skripte an der Fachhochschule Ludwigshafen verwendet werden.
CGI-Skripte (Common-Gateway-Interface) 82
Ein Common-Gateway-Interface regelt den Informationsfluß zwischen einem WWW-Server und den Eingaben eines Clients. Gibt ein Benutzer in einem Web-Formular Daten ein und betätigt danach die Eingabetaste oder klickt auf einen entsprechenden Button im Formular, so werden die Daten zunächst an den WWW-Server gesendet. Hat dieser die Daten entgegengenommen, sendet er die Benutzereingaben mittels CGI an einen Gateway. Ein Gateway besteht in der Regel aus einem Programm, welches mit C/C++, Perl, tcl oder mit einer UNIX-Shell-Programmiersprache geschrieben ist. Die Daten, die ein Benutzer in einem Formular eingegeben hat, werden meistens über die GETbeziehungsweise POST-Methode über den Server an das jeweilige Gateway-
82 vgl. Liu, Peek, Jones, Buus, Nye 1995, S. 420 ff
0. Betrieb eines WWW-Server - 225 -
Programm geschickt. GET oder POST fungieren dabei als Variablen, in denen die entsprechenden Benutzerdaten gespeichert werden. Hat der Gateway die Variablen empfangen und verarbeitet, so erzeugt er entweder eine HTML-Ausgabe, die er an den Client zurückgibt, oder er speichert die Daten ab oder versendet eine E-Mail, je nachdem, zu welchem Zweck er programmiert wurde.
Unter der Adresse http://www.fh-ludwigshafen.de/cgi-bin/mail kann ein solcher Gateway zur Weiterleitung von E-Mails getestet werden. Das Programm ist in Perl geschrieben und stammt von Carlos A. Pero (cpero@ncsa.uiuc.edu) der NCSA-Gruppe. Teile der Software wurden vom Autor dieser Diplomarbeit modifiziert und für die Verwendung an der Fachhochschule angepaßt. Der Vollständigkeit halber ist dieses Skript im Anhang aufgeführt (siehe Anhang -Abbildung 20)
Webglimpse - eine lokale Suchmaschine für WWW-Server
Auf einem WWW-Server mit einer umfangreichen Dokumentenstruktur ist es für Clients oftmals schwierig, schnell an eine bestimmte Information zu gelangen, vor allem dann, wenn sie das erste Mal auf diesen Server zugreifen. Sucht ein Benutzer zum Beispiel die Telefonnummer des Studentensekretariats oder die neueste Prüfungsordnung der Fachhochschule Ludwigshafen, so muß er sich zu diesen Daten meist mühsam durchklicken. Ist er dabei den falschen Links gefolgt, wirkt die Angelegenheit schnell ermüdend, und vielleicht gibt der Client sogar auf und beendet die Verbindung zum WWW-Server der Fachhochschule ohne die gewünschten Informationen. Um dies zu verhindern, wurde auf dem Server das Programm Webglimpse von Udi Manber, http://glimpse.cs.arizona.edu/udi.html, installiert.
Bei Webglimpse handelt es sich um ein Perl-Skript, mit dem alle HTML-Seiten eines Servers nach Schlagworten durchsucht werden können. Es hat somit die Funktionalität eines WAIS-Servers (siehe Kapitel 0). Mit dem Programm können auf bestimmten HTML-Seiten (bei Bedarf auch auf allen) eines WWW-Servers Suchformulare angeboten werden, in die ein Benutzer ein beliebiges Schlagwort oder auch ganze Sätze eingeben und mit einem Eingabe-Button abschicken kann. Webglimpse bietet eine normale und eine intensive Suche an. Auf der globalen Homepage der Fachhochschule befindet
0. Betrieb eines WWW-Server - 226 -
sich am Ende ein einfaches Suchformular, wie in der folgenden Abbildung 24 zu sehen ist.
Ein Benutzer kann hier die zu suchenden Begriffe eingeben und mit einem Klick auf den Button „Los geht’s!“ die Suche starten. Folgt er dem Link „Spezial Suche“, so gelangt er zu einem erweiterten Suchformular, mit dem eine detaillierte Suche möglich ist.
In Abbildung 25 wurde mit der Spezial-Suche nach dem Begriff „Studentensekretariat“ geforscht. Nachdem der Button „Abschicken“ betätigt worden ist, werden die Tastatureingaben des Clients mit der POST-Methode an den Server geschickt. Dieser leitet die Informationen an ein mit dem Suchprogramm verbundenes CGI-Skript über (siehe Abschnitt 0). Dieses
0. Betrieb eines WWW-Server - 227 -
sendet die empfangenen Variablen an das Hauptprogramm (Gateway) von Webglimpse, welches eine Suche in allen HTML-Seiten nach dem gewünschten Begriff durchführt. Die Suchergebnisse werden in einem neuen HTML-Dokument, wie in Abbildung 26 dargestellt, zusammengefaßt, von dem aus der Benutzer direkt über Links in die Dokumente wechseln kann, in denen der Suchbegriff gefunden wurde.
Die ausführliche Erklärung der Funktionsweise eines Such-Gateway würde diese Diplomarbeit zu sehr ausdehnen. Zu erwähnen wäre allerdings noch, daß der Autor dieser Diplomarbeit den Programmcode von Webglimpse für die Fachhochschule Ludwigshafen modifiziert und in Zusammenarbeit mit dem
0. Betrieb eines WWW-Server - 228 -
Entwickler des Suchprogramms in der Beta-Version von Webglimpse vorhandene Bugs beseitigt hat. Das weiterentwickelte Programmpaket ist unter ftp://www.fh-ludwigshafen.de/pub/internet/webglimpse zu finden.
Auswertung der Server-Log-Dateien mit Wusage 4.0
Das Programm Wusage arbeitet zwar nicht mit CGI-Skripten, es soll aber trotzdem an dieser Stelle erwähnt werden, da es in den Rahmen nützlicher WWW-Server-Tools paßt.
Wusage ist ein in C geschriebenes Programm, mit dessen Hilfe die Log-Files, insbesondere die Datei access_log, in der alle Zugriffe auf die Web-Seiten eines Servers gespeichert werden, ausgewertet werden können.
Abbildung 58: Auszug aus der Datei access_log
Abbildung 27 zeigt auszugsweise den Inhalt der Log-Datei access_log. Aus diesen Daten ermittelt Wusage, wie oft auf ein Dokument in einem bestimmten Zeitraum zugegriffen wurde. Es besteht die Möglichkeit, mit Wusage tägliche, wöchentliche und monatliche Statistiken erstellen zu lassen. Auch eine Gesamtstatistik ist möglich. Das Programm erzeugt nach der Auswertung der Log-Dateien HTML-Seiten, die unter der Adresse http://www.fhludwigshafen.de/usage abgefragt werden können.
Neben der Statistik in bezug auf die am meisten nachgefragten Dokumente stellt Wusage auch fest, von welchen Clients der eigene Server am häufigsten besucht worden ist und welche Fehler während des Server-Betriebs aufgetreten sind. Die nachfolgenden Abbildungen zeigen einen kleinen Ausschnitt der mit Wusage erstellten Statistiken für den WWW-Server der Fachhochschule Ludwigshafen.
0. Betrieb eines WWW-Server - 229 -
Abbildung 59: Monatlicher Gesamtreport
Abbildung 60: Zugriffe innerhalb eines Tages
0. Betrieb eines WWW-Server - 230 -
Abbildung 61: Die 20 am meisten nachgefragten Dokumente (Ausschnitt)
Abbildung 62: Rangliste der Länder, die den WWW-Server am stärksten frequentieren
Schlußwort - 231 -
Schlußwort
Leider reicht der Platz hier nicht aus, um alle Arbeiten zu beschreiben, die im Zusammenhang mit der Einrichtung des WWW-Servers für die Fachhochschule Ludwigshafen erledigt worden sind. Die Niederschrift der wesentlichen Aspekte sollte jedoch ausreichen, um einem Außenstehenden einen groben Überblick bezüglich der Einrichtung eines WWW-Dienstes zu verschaffen.
Es sei jedoch hier angemerkt, daß die in dieser Diplomarbeit beschriebene Vorgehensweise zum Aufbau eines Web-Servers nicht als einzig mögliche verstanden werden soll. Es gibt weitaus mehr Alternativen, einen solchen Dienst einzurichten. Gerade im Hinblick auf Windows NT eröffnen sich diesbezüglich großartige Möglichkeiten. Es ist anzunehmen, daß in der näheren Zukunft auch der WWW-Server der Fachhochschule auf ein Windows NT-System übertragen wird.
Die extremen Wachstumsraten, die das Internet und das World Wide in den letzten Jahren erfahren haben, lassen den Schluß zu, daß es sich dabei um Medien mit ungeahnten Möglichkeiten handelt. Es ist zu erwarten, daß in Zukunft die Kommunikation über das Internet so selbstverständlich werden wird wie das Telefonieren. Die weltweite Vernetzung von Computern wird daher wohl auch die Lebensgewohnheiten jedes einzelnen nachhaltig beeinflussen, vielleicht sogar verändern. Mag dies auch Anlaß zu Euphorie geben, so sollte man es jedoch nicht versäumen, auch kritisch über die Entwicklung des Internet nachzudenken: Die Gefahr des „gläsernen Menschen“ wäre nur eine Bedrohung, die vielen im Zusammenhang mit dem Internet heute schon Angst macht. Hinzu kommt, daß sich das Internet zur Zeit noch in vielerlei Hinsicht in einem rechtlichen Vakuum befindet. Um für die Zukunft einheitliche, weltweite rechtliche Grundlagen schaffen zu können, bedarf es der Zusammenarbeit aller beteiligten Länder und Staaten. Ob hierfür jedoch jemals ein Konsens der unterschiedlichen Kulturen und Rechtssysteme erreicht werden wird, ist zwar fraglich, letztlich aber zwingend notwendig.
Literaturverzeichnis - 232 -
Literaturverzeichnis
Liu, Cricket; Peek, Jerry; Jones, Russ; Buus, Bryan; Nye, Adrian:
Hajer, Hans; Kolbeck, Rainer: INTERNET: der schnelle Start ins
Zenk, Andreas: Lokale Netze - Kommunikationsplattform
Krückeberg, Fritz; Spaniol, Otto: Lexikon Informatik und
Engesser, Hermann; Claus, Volker: Duden „Informatik“: e. Sachlexikon für
Witte, Heide: Der Internet-Kollaps. In: PC-Welt-Extra 5/96, S. III
Stichwortverzeichnis - 233 -
Stichwortverzeichnis
Dämonen DARPANET Dateisystem Datenbibliothekare Datensicherung delix Computer GmbH deny
Stichwortverzeichnis - 235 -
U
Übertragungsmedien
ULTRIX User Datagram Protocol (UDP) UserDir
V
Verbindungsanbieter
Versionsnummer
Anhang: 1. Die Datei lilo.conf - 244 -
Anhang- Abbildung 10: Die Datei /etc/resolv.conf
1. Die Datei lilo.conf
Anhang: 2. Konfigurationsdatei zur Modifikation des Systemkerns - 245 -
Anhang- Abbildung 11: Die LILO Konfigurationsdatei /etc/lilo.conf
2. Konfigurationsdatei zur Modifikation des Systemkerns
Anhang: 3. Crontab - 248 -
Anhang- Abbildung 12: Die Datei config zur Neukompilierung des Kernels /usr/src/linux
3. Crontab
Anhang: 4. Wichtige Dateien zur Konfiguration des Apache-Servers - 250 -
Anhang- Abbildung 13: Die crontab-Datei des Benutzers root
4. Wichtige Dateien zur Konfiguration des Apache-Servers
4.1 Informationen zur Installation des Servers
Anhang: 4. Wichtige Dateien zur Konfiguration des Apache-Servers - 258 -
Anhang- Abbildung 15: Die Server Konfigurationsdatei Configure
4.3 httpd.conf
Anhang: 4. Wichtige Dateien zur Konfiguration des Apache-Servers - 262 -
Anhang- Abbildung 16: Die Server-Konfigurationsdatei httpd.conf
4.4 srm.conf
Anhang: 4. Wichtige Dateien zur Konfiguration des Apache-Servers - 268 -
Anhang- Abbildung 17:Die Konfigurationsdatei zur Darstellung der Daten, srm.conf
4.5 access.conf
Anhang: 4. Wichtige Dateien zur Konfiguration des Apache-Servers - 270 -
Anhang- Abbildung 18: Die Konfigurationsdatei zur Zugriffskontrolle, access.conf
4.6 rc.local
Anhang: 4. Wichtige Dateien zur Konfiguration des Apache-Servers - 271 -
Anhang- Abbildung 19: Die Linux-Startdatei rc.local
Anhang: 5. Ein Beispiel für ein CGI-Skript - 278 -
print "Content-type: text/html\n";
229
print " n" unless ( FORM 'next-url' )
230
231
232
233 sub cgi receive
if ( ENV 'REQUEST METHOD' eq "POST")
234
read (STDIN, incoming, ENV 'CONTENT LENGTH' )
235
236
else
237
incoming ENV 'QUERY STRING'
238
239
240
241
242 sub cgi decode
pairs split(/ /, incoming)
243
244
foreach ( pairs)
245
( name, value) split(/ /, )
246
247
name tr/ / /
248
value tr/ / /
249
name s/ ( A-F0-9 A-F0-9 )/pack("C", hex( 1))/gie
250
value s/ ( A-F0-9 A-F0-9 )/pack("C", hex( 1))/gie
251
252
Strip out semicolons unless for special character
253
value s/ / /g
254
value s/ ( S 1,6 ) / 1 /g
255
value s/ / /g
256
257
value s/ / /g
258
value s/ / /g Allow exclamation points in sentences
259
260
Split apart any directive prefixes
261
NOTE : colons are reserved to delimit these prefixes
262
parts split(/:/, name)
263
name parts parts
264
if (grep(/ require /, parts))
265
push ( requirefields, name)
266
267
if (grep(/ ignore /, parts))
268
push ( ignorefields, name)
269
270
if (grep(/ dynamic /, parts))
271
For simulating a checkbox
272
It may be dynamic, but useless if nothing entered
273
next if ( value eq "")
274
Anhang: 5. Ein Beispiel für ein CGI-Skript - 281 -
Anhang- Abbildung 20: Das CGI-Skript mail, zur Weiterleitung von E-Mails
Arbeit zitieren:
Guido Frisch, 1997, Einrichten eines WWW-Servers für die Fachhochschule Ludwigshafen am Rhein, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Ich bin Missionar, weil ich singe, spiele und tanze
Zur musikgestützten Evangelisi...
Theologie - Praktische Theologie
Diplomarbeit, 99 Seiten
Soziale Verantwortung für Unternehmen - Erfolgsfaktor im Wettbewerb
Studienarbeit, 28 Seiten
Kritische Erfolgsfaktoren - Einsatzmöglichkeiten der Unternehmensführu...
BWL - Unternehmensführung, Management, Organisation
Hausarbeit (Hauptseminar), 25 Seiten
Telekomregulierung in der EU am Beispiel der Länder Österreich und Ita...
VWL - Wettbewerbstheorie, Wettbewerbspolitik
Hausarbeit (Hauptseminar), 44 Seiten
Ikea - Die Entdecker neuer Möglichkeiten
BWL - Unternehmensführung, Management, Organisation
Hausarbeit, 52 Seiten
Ressourcenbasierter Ansatz und das Konzept des Knowing: Sinnvolle Basi...
BWL - Unternehmensführung, Management, Organisation
Diplomarbeit, 102 Seiten
Arbeitsplatzunsicherheit als Stressor
Kennzeichnung und Bewertung ei...
BWL - Personal und Organisation
Vordiplomarbeit, 37 Seiten
Informatik - Wirtschaftsinformatik: Einrichten eines WWW-Servers für die Fachhochschule Ludwigshafen am Rhein ist nun auf dem Buchmarkt erhältlich
Guido Frisch hat den Text Einrichten eines WWW-Servers für die Fachhochschule Ludwigshafen am Rhein veröffentlicht
Guido Frisch hat einen neuen Text hochgeladen
Linux Samba Server Administration: Craig Hunt Linux Library
Roderick W. Smith, Rod Smith, Alison Smith
Das Adminstrationshandbuch
Dirk Deimeke, Stefan Kania, Charly Kühnast, Stefan Semmelroggen, Daniel van Soest
0 Kommentare