|
|
Inhalt
|
|
Inhaltsverzeichnis
Vorwort 13
1 IP-Netzwerke, Internet und WWW
19
1.1 TCP/IP 21
1.1.1 Das
Internet-Schichtenmodell 21
1.1.2 Das Internet Protocol (IP)
24
1.1.3 Transportprotokolle
30
1.2 Das Domain Name System (DNS)
32
1.2.1 Das DNS-Konzept 33
1.2.2 Der DNS-Server BIND
36
1.3 TCP/IP-Diagnose und -Fehlersuche
42
1.3.1 ping 42
1.3.2 traceroute 43
1.3.3 netstat 44
1.3.4 nslookup 45
1.3.5 telnet 47
1.4 Zusammenfassung 48
2 Funktionsweise von Webservern
51
2.1 Das HTTP 53
2.1.1 Die HTTP-Client-Anfrage
55
2.1.2 HTTP-Statuscodes 67
2.1.3 HTTP-Header 72
2.2 Einstieg für Programmierer: Ein
selbst geschriebener Webserver 92
2.2.1 Projektanforderungen
92
2.2.2 Implementierungsdetails
93
2.2.3 Der komplette Quellcode
102
2.2.4 Benutzerdokumentation
108
2.3 Zusammenfassung 110
3 Apache 2 im Überblick 111
3.1 Einführung 113
3.1.1 Entstehungsgeschichte des
Apache-Webservers 113
3.1.2 Die Apache Software
Foundation 116
3.1.3 Die Apache-Softwarelizenz
119
3.1.4 Sonstige Webserver
120
3.2 Funktionen von Apache 2
124
3.2.1 Technischer Überblick
127
3.2.2 Apache-Module 141
3.3 Zusammenfassung 152
4 Apache kompilieren und
installieren 153
4.1 Apache 2 kompilieren 156
4.1.1 Den Quellcode besorgen und
auspacken 156
4.1.2 Apache 2 unter UNIX
kompilieren 158
4.1.3 Apache 2 unter Windows
kompilieren 188
4.2 Die binäre Apache-Distribution
für Windows installieren 195
4.3 Module nachträglich installieren
200
4.4 Zusammenfassung 202
5 Apache in Betrieb nehmen
203
5.1 Apache 2 starten und beenden
205
5.1.1 Apache unter UNIX steuern
205
5.1.2 Apache unter Windows
steuern 217
5.1.3 Apache-Hilfsprogramme
227
5.2 Apache testen 228
5.2.1 Die automatische Startseite
228
5.2.2 Die erste Website 229
5.3 Zusammenfassung 235
6 Grundkonfiguration 237
6.1 Aufbau der
Apache-Konfigurationsdateien 239
6.1.1 Namen, Pfad und Aufgaben
der Konfigurationsdateien 240
6.1.2 Grundlegendes zur Syntax
242
6.1.3 Syntaxschema 246
6.2 Kontexte und Container 247
6.2.1 Der Server-Kontext
247
6.2.2 Virtuelle Hosts 247
6.2.3 Verzeichnis- und
Datei-Container 249
6.2.4 Spezialcontainer 254
6.2.5 .htaccess-Dateien 258
6.2.6 Einfügen externer
Konfigurationsdateien 260
6.3 Allgemeine
Konfigurationsdirektiven 261
6.3.1 Einrichten der
Server-Umgebung 261
6.3.2 Plattformspezifische
Server-Einstellungen 268
6.3.3 Konfiguration des
»Hauptservers« 285
6.3.4 Wichtige
Verzeichniseinstellungen 293
6.4 Zusammenfassung 302
7 Header und MIME-Einstellungen
305
7.1 HTTP-Header manipulieren
307
7.1.1 MD5-Digest und ETag
307
7.1.2 mod_headers 309
7.1.3 mod_expires 315
7.1.4 mod_asis 318
7.1.5 mod_cern_meta 319
7.2 MIME-Konfiguration 321
7.2.1 MIME-Type-Einstellungen
323
7.2.2 Zeichensatzeinstellungen
329
7.2.3 MIME-Codierung 332
7.2.4 Spracheinstellungen
334
7.2.5 Handler festlegen 336
7.3 Content-Negotiation 339
7.3.1 Servergesteuerte
Content-Negotiation 340
7.3.2 Transparente
Content-Negotiation 347
7.3.3 Konfigurationseinstellungen
für Content-Negotiation 349
7.4 Zusammenfassung 352
8 Weiterleitungen und Indizes
353
8.1 Aliase und Weiterleitungen
355
8.1.1 mod_alias 356
8.1.2 mod_rewrite 363
8.1.3 Benutzerverzeichnisse
veröffentlichen 383
8.1.4 Fehlerbehandlung 386
8.1.5 Rechtschreibkorrektur in
URLs mit mod_speling 388
8.1.6 Status- und
Konfigurationsinformationen über den
Server 389
8.2 Indizes 392
8.2.1 mod_autoindex 393
8.2.2 Serverseitige Image-Maps
mit mod_imagemap 404
8.3 Zusammenfassung 409
9 Authentifizierung 411
9.1 Grundlagen der Authentifizierung
413
9.1.1 Die Organisation der
Authentifizierung in Apache 2.0
414
9.1.2 Die Neuordnung der
Authentifizierungsmodule in Apache 2.2
415
9.1.3 Ein erstes Beispiel
417
9.1.4 Core-Direktiven zur
Authentifizierung 420
9.2 Basic-Authentifizierung
424
9.2.1 Das Programm htpasswd
424
9.2.2 Direktiven zur
Textdatei-basierten
Basic-Authentifizierung 426
9.3 Digest-Authentifizierung
431
9.3.1 Das Tool htdigest 432
9.3.2 Direktiven zur
Digest-Authentifizierung 434
9.4 Benutzer- und Passwortverwaltung
in DBM-Dateien 440
9.4.1 Das Tool dbmmanage
441
9.4.2 Das Programm htdbm
444
9.4.3 DBM-Direktiven 445
9.5 LDAP-Authentifizierung 449
9.5.1
LDAP-Authentifizierungs-Direktiven
450
9.5.2
LDAP-Performanceverbesserung mit
mod_ldap 458
9.6 Anonymous-Authentifizierung
463
9.7 Datenbankbasierte
Authentifizierung mit mod_authn_dbd
466
9.7.1 Datenbankverbindungen mit
mod_dbd 467
9.7.2 mod_authn_dbd-Direktiven
471
9.8 Sonstige Erweiterungen in Apache
2.2 473
9.8.1 mod_authn_alias 473
9.8.2 mod_authz_owner 474
9.8.3 mod_authn_default und
mod_authz_default 475
9.9 Zusammenfassung 476
10 Gesicherte Verbindungen
477
10.1 SSL-Grundlagen 480
10.1.1 SSL einrichten 482
10.1.2 SSL-Grundkonfiguration
487
10.1.3 mod_ssl-Umgebungsvariablen
489
10.2 mod_ssl-Direktiven 491
10.2.1 Standard-Direktiven
491
10.2.2 mod_ssl-Proxy-Direktiven
510
10.2.3 mod_nw_ssl für NetWare
514
10.3 Zusammenfassung 515
11 Logging 517
11.1 Logging-Direktiven und -Module
520
11.1.1 core-Direktiven 520
11.1.2 mod_log_config 525
11.1.3 mod_log_forensic 533
11.1.4 mod_dumpio 534
11.1.5 mod_usertrack 535
11.1.6 Logging-Direktiven in
mod_rewrite 538
11.2 Auswertung von Logdateien
539
11.2.1 Apache-Hilfsprogramme
539
11.2.2 Logdatei-Auswertung durch
eigene Skripte 541
11.2.3 Externe Tools 553
11.3 Zusammenfassung 554
12 Skalierung und
Performance-Tuning 555
12.1 Virtuelle Hosts 557
12.1.1 Konfigurationsbeispiele
558
12.1.2 Core-Direktiven für
virtuelle Hosts 562
12.1.3 mod_vhost_alias 566
12.2 Performance-Tuning 569
12.2.1 Allgemeines 570
12.2.2 Benchmarks mit ab
571
12.2.3 Performance-bezogene
Core-Direktiven 574
12.2.4 mod_file_cache: Häufig
genutzte Dateien vorausladen 575
12.3 Load-Balancing 577
12.3.1 Load-Balancing mit
mod_rewrite 579
12.3.2 Open-Source-Lösungen für
Load-Balancing 580
12.4 Zusammenfassung 581
13 Proxy- und Cache-Funktionen
583
13.1 Apache als Proxy-Server
585
13.1.1 Proxy-Grundkonfiguration
587
13.1.2 Referenz der
Proxy-Direktiven 589
13.2 Cache-Funktionen 603
13.2.1 Cache-Grundkonfiguration
603
13.2.2 Cache-Direktiven 605
13.2.3 htcacheclean 615
13.3 Zusammenfassung 616
14 CGI 617
14.1 Die CGI-Schnittstelle 619
14.2 Apache für CGI-Skripte
konfigurieren 621
14.2.1 CGI-Verzeichnisse
622
14.2.2 CGI in normalen
Verzeichnissen aktivieren 625
14.2.3 Konfigurationsanweisungen
für mod_cgi und mod_cgid 627
14.2.4 Plattformspezifische
Einstellungen 630
14.2.5 Das Modul mod_actions
632
14.3 Umgebungsvariablen 634
14.3.1 Die Umgebungsvariablen im
Überblick 635
14.3.2 Umgebungsvariablen in der
Apache-Konfiguration setzen 637
14.4 Grundlagen der
CGI-Programmierung 643
14.4.1 Das erste Beispiel
644
14.4.2 Formulardaten einlesen
645
14.5 Das Perl-Modul CGI.pm 647
14.5.1 CGI.pm im Überblick
647
14.5.2 Beispiel: Ein kleiner
Taschenrechner 654
14.5.3 CGI.pm-Kurzreferenz
658
14.6 Zusammenfassung 666
15 Technologien zur
Webprogrammierung 667
15.1 PHP 670
15.1.1 MySQL installieren
670
15.1.2 PHP installieren 677
15.1.3 Die
PHP-Konfigurationsdatei php.ini
683
15.1.4 phpMyAdmin einrichten
686
15.1.5 PHP-Programmierung
688
15.2 mod_perl 699
15.2.1 Installation von mod_perl
699
15.2.2 Perl-Zugriff auf
MySQL-Datenbanken 706
15.2.3 Perl in der
Apache-Konfigurationsdatei 707
15.3 Tomcat 709
15.3.1 Tomcat installieren
709
15.3.2 Tomcat per Proxy einbinden
715
15.3.3 Java-Webprogrammierung
716
15.4 Weitere
Programmierschnittstellen 721
15.4.1 ISAPI-Anwendungen mit
mod_isapi 721
15.4.2 Sonstige Technologien
724
15.5 Zusammenfassung 725
16 SSI und Filter 727
16.1 Server Side Includes (SSI)
729
16.1.1 SSI aktivieren 729
16.1.2 SSI-Elemente 730
16.1.3 mod_include-Direktiven
737
16.2 Filterkonfiguration 740
16.2.1 Grundlegende
Filter-Direktiven 740
16.2.2 Freie Modifikation der
Filter Chain mit mod_filter 745
16.2.3 Der Komprimierungsfilter
mod_deflate 750
16.2.4 mod_charset_lite 754
16.3 Externe Filter programmieren
756
16.3.1 mod_ext_filter 756
16.3.2 Beispiele für externe
Filter 759
16.4 Zusammenfassung 764
17 Apache erweitern 765
17.1 WebDAV 767
17.1.1 Konfigurationsbeispiel
768
17.1.2 DAV-Direktiven 768
17.2 Weitere Module 771
17.2.1
Multiprotokoll-Unterstützung 771
17.2.2 Weitere
Drittanbieter-Module 773
17.3 Programmierung eigener Module
774
17.3.1 mod_example – Erforschen
der Modul-API 775
17.3.2 Arbeitsweise von Modulen
776
17.3.3 Die Modulentwicklung
777
17.3.4 mod_daytime – ein Beispiel
zur Multiprotokoll-Unterstützung
790
17.4 Zusammenfassung 794
18 Sicherheit 797
18.1 Sicherheit der Server-Umgebung
799
18.2 Apache-Sicherheit 801
18.2.1 Allgemeine
Sicherheitshinweise 801
18.2.2 Sicherheitsrelevante
Direktiven 803
18.2.3 SuEXEC 808
18.3 mod_security 811
18.4 Zusammenfassung 812
A Besonderheiten von Apache 1.3
815
A.1 Apache 1.3 kompilieren und
installieren 815
A.2 Wichtige Änderungen bei
Direktiven 816
A.2.1 Exklusive 1.3-Direktiven
816
A.2.2 Nicht vorhandene
Core-Direktiven 821
B Kurzreferenz der
Konfigurationsdirektiven 823
C Sonstige Tabellen 843
C.1 MIME-Types 843
C.2 Sprachcodes nach ISO 866
C.3 Zeichensätze 871
C.4 Top-Level-Domains 881
C.4.1 Generische Top-Level-Domains
881
C.4.2 Länder-Top-Level-Domains
881
D Die Apache-Lizenz 2.0 891
E Reguläre Ausdrücke 897
F VMware Workstation 899
F.1 Einrichtung einer virtuellen
Maschine 899
F.2 Die virtuelle Maschine im
Betrieb 901
F.3 Einstellungen der virtuellen
Maschine ändern 902
F.4 VMware Tools installieren
903
G Rechtliche Aspekte 905
H Literaturverzeichnis 909
Index 911
nach oben
|
|
|