Stephan Roßbach Der Apache-Webserver Installation, Konfiguration, Verwaltung ^ ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts Menlo Park, California New York Harlow, England Don Mills, Ontario Sydney Mexico City Madrida Amsterdam
p Inhaltsverzeichnis 1 Einführung 11 1.1 Warum Apache? 12 1.1.1 Apache ist Freeware! 13 1.1.2 Apache ist flexibel, schnell und sicher 14 1.1.3 Apache ist modular und hat offene Schnittstellen 14 1.1.4 Apache ist für viele Plattformen verfügbar 14 1.1.5 Herkunft des Namens Apache" 15 1.2 Für wen ist dieses Buch gedacht? 15 1.2.1 Was finden Sie in diesem Buch nicht? 16 1.3 Der Apache-WebserverApache-Webserver unter Windows NT 1 7 1.4 Ein paar letzte Hinweise 18 2 Kosten und Aufwand für den Betrieb eines Apache-Webservers 21 3 Ohne TCP/IP geht (fast) nichts 25 3.1 Das Internet Protocol (IP) 25 3.2 Das Transmission Control Protocol (TCP) 26 4 Installation des Apache-Webservers 29 4.1 Installation einer Binärversion 30 4.2 Installation vom Sourcecode 30 5 Starten und Stoppen des Servers 37 5.1 Manuelles Stoppen 37 5.2 Manuelles Starten 37 5.3 Starten per Startskript 38 5.4 Neustart 38 5.5 Graceful Restart 39 6 Konfiguration des Apache-Webservers 41 6.1 Die Konfigurationsdatei httpd.conf 41 6.2 Die Konfigurationsdatei srm.conf 50
6.3 Die Konfigurationsdate access.conf 61 6.4 Die Konfigurationsdatei mime.types 66 6.5 Verzeichnisrechte per.htaccess-datei 67 7 Anbindung Ihres Webservers an das Internet 69 7.1 Den richtigen Provider finden 70 7.2 Zur Bestimmung der Leitungskapazität den Bedarf abschätzen 72 7.3 Routerwahl in Abstimmung mit dem Provider 72 7.4 Erstellung eines Sicherheitskonzeptes 73 7.5 Planung eines Datensicherungs- und Ausfallsicherheitskonzeptes 73 7.5.1 Sicherung per Bandstreamer 73 7.5.2 Vorhalten eines Ersatzservers 74 7.6 Ist ein Proxybetrieb erforderlich? 76 7.7 Belegung des gewünschten Domainnamens 77 7.8 Einrichtung und Konfiguration eines Domain Name-Servers 78 7.9 Bekanntmachung Ihres Webservers 78 7.9.1 Reservierung eines günstigen Domainnamens 79 7.9.2 Registrierung bei allen wichtigen Suchmaschinen 79 8 Die Logdateien analysieren und modifizieren 83 8.1 Wie zuverlässig sind Logdaten? 83 8.2 Anpassen der Access-Logdatei 86 8.3 Die HTTP/1.1-Statuscodes 89 8.3.1 1 xx: Informational 89 8.3.2 2xx: Success 90 8.3.3 3xx: Redirection 90 8.3.4 4xx: Client Error 91 8.3.5 5xx: Server Error 93 9 Sicherheitsmaßnahmen im Serverbetrieb 95 9.1 Korrekte Vergabe der Benutzerrechte 97 9.2 Planung der Anbindungstopologie 98 9.3 Zugriffsbeschränkung bestimmter IP-Adressen 101 9.4 Benutzerauthentifizierung 102 9.4.1 Das Modul mod_auth 103 9.4.2 Das Modul mod_auth_dbm 107 9.4.3 Weitere Authentifizierungsmodule 110 9.5 Secure Sockets Layer 111 9.5.1 Die Grundlagen 111 9.5.2 Die verschiedenen Schlüssellängen 112 9.5.3 SSL in der Praxis 114 9.5.4 Installation eines Apache-Webservers als SSL-Server 116 9.5.5 Der Stronghold-SSL-Webserver von C2NET 121 9.5.6 Der Zertifizierungsablauf 122
10 Der Apache-Webserver im Proxybetrieb 127 10.1 Einführung 128 11 Das erste Webdokument 137 11.1 Grundlagen 137 11.1.1 Seitenaufbau 138 11.1.2 Textelemente 139 11.1.3 Verknüpfungen 141 11.1.4 Einbindung von Bildern und Grafiken 141 11.1.5 Formatierung und Anordnung 143 11.2 Fortgeschrittene Techniken 146 11.2.1 Metabereich 146 11.2.2 Client-Side Imagemaps 147 11.2.3 Formulare 148 11.2.4 CGI-Anbindung 152 12 Das Common Gateway Interface 155 12.1 Grundlagen 155 12.2 Konfiguration 156 12.2.1 SuEXEC 157 12.3 CGI-Skripts entwickeln 159 12.3.1 Umgebungsvariablen 161 12.3.2 HTML-Formulare 163 12.4 Beispielskripts 164 13 Virtuelle Hosts 165 13.1 IP-basierte virtuelle Hosts 166 13.2 Nicht-IP-basierte Hosts 168 14 Server Side Includes 171 14.1 Konfiguration 171 14.2 Darstellung von Ergebnissen aus Umgebungsvariablen 172 14.3 Anzeigen der Dateiinformationen 172 14.3.1 config 172 14.3.2 fsize 174 14.3.3 flastmod 175 14.4 Einbinden von Bestandteilen anderer Dokumente 175 14.5 Ausführen von externen Programmen 176 14.6 Einsatzbeispiel 176 15 Content Negotiation 179 15.1 Grundlagen 179 15.2 Konfiguration 179 15.2.1 Variantdateien 180 15.2.2 Multi-Views 181
16 Server-Side Imagemaps 183 16.1 Konfiguration 183 16.2 Erstellen einer.map-datei 184 17 Plätzchen backen" mit dem Apache-Webserver 189 17.1 Grundlagen 189 17.2 Das Handling von Cookies per Servermodul 190 17.3 Das Handling von Cookies mit CGI-Programmen 191 17.3.1 Setzen von Cookies 192 17.3.2 Abholen von Cookies 194 1 7.4 Cookies mit Javascript 194 18 Der Apache-Webserver und Java 199 18.1 Java als CGI-Ersatz 200 18.2 )ava-servlets 201 18.2.1 Installation des Moduls modjserv 202 18.2.2 Konfiguration von modjserv 204 18.2.3 Funktionstest 206 18.2.4 Tracing 207 19 Das DomainName System 209 19.1 Die Grundlagen 209 19.2 Konfiguration von Bind 210 19.3 Beispielkonfiguration 211 19.3.1 Die db.meinserver-datei 211 19.3.2 Diedb.127.0.0-Datei 216 19.3.3 Die db.cache-datei 216 19.4 Ein Name-Server unter Windows NT 217 20 Der laufende Serverbetrieb 221 20.1 Optimierung der Serverinhalte 221 20.1.1 HTML-Code 222 20.1.2 Bilder und Grafiken 223 20.2 Optimierung des Systems 224 20.2.1 Festplatte(n) 225 20.2.2 Arbeitsspeicher 229 20.2.3 Serversoftware 230 20.3 Lastverteilung 231 21 Der Apache-Webserver unter Windows NT 233 21.1 Installation 233 21.2 Generelle Unterschiede 234 21.2.1 Module 234 21.2.2 Prozesse 234 21.3 Konfiguration 235 21.4 Die Konfigurationsdatei httpd.conf 235 21.5 Die Konfigurationsdatei srm.conf 243
21.6 Die Konfigurationsdatei access.conf 254 21.7 Die Konfigurationsdatei mime.types 256 21.8 Konfiguration weiterer Funktionalitäten 257 22 Apache und das Jahr 2000 259 23 Anhang A 261 A.1 ISO-Ländercodes für Toplevel-Domains 261 A.2 ISO-Organisationencodes für Toplevel-Domains 268 A.3 Sprachkürzel nach ISO 639/1 269 A.4 ISO-Latin1-Zeichen 273 A.5 SSL-Ciphers 274 24 Anhang B 277 B.1 Adressen überregionaler Internetprovider 277 B.2 Newsgroups 278 B.3 Searchengines 279 B.4 Certification Authorities 280 25 Anhang C 283 C.1 Lizenzbestimmungen für den Apache-Webserver 283 C.2 GNU General Public License für den GNU-C++-Compiler 284 C.3 Hinweise zur Nutzung der Buch-CD 291 C.3.1 Das Verzeichnis c2net" 291 C.3.2 Das Verzeichnis htmltools" 293 C.3.3 Das Verzeichnis Scripts" 293 C.3.4 Das Verzeichnis unix" 293 C.3.5 Das Verzeichnis winbin 296 26 Glossar 297 27 Stichwortverzeichnis 303