Neuer Indianer
Web-Server Apache 2
Ausblick
Das sah bislang alles nicht sonderlich komplex aus, doch das ist nur die halbe Wahrheit: Die Konfigurationsmöglichkeiten von Apache gehen bis hin zur freien Definition von Fehlermeldungen. Unterschiedliche Mechanismen ermöglichen die automatische Anpassung der ausgelieferten Inhalte an den Besucher, zum Beispiel die Präsentation von Web-Seiten in derjenigen Sprache, die im Browser gerade eingestellt ist. Nützlich ist auch die Möglichkeit, auf ein und derselben IP-Adresse mehrere Web-Sites mit unterschiedlichen Domain-Namen anzubieten.
Interessieren Sie diese oder andere Themen, lesen Sie im Web [3] weiter. Die vollständige Apache-Dokumentation finden Sie nach der beschriebenen Installation aber auch in /usr/local/apache2/manual.
Glossar
Module
Programm-Fragmente, die je nach Bedarf nachgeladen und in ein bereits laufendes Programm eingebunden werden. Viele Apache-Installationen verwenden Module für Funktionalitäten, die nur manchmal gebraucht werden.
CGI
Beim "Common Gateway Interface" handelt es sich um ein fest definiertes Protokoll für die Interaktion zwischen einem Web-Server und einem externen Programm. So können beispielsweise C-Programme oder Perl-Skripte dynamisch HTML-Code erstellen, der genau auf den jeweiligen Benutzer zugeschnitten ist.
PGP
"Pretty Good Privacy" ist ein System für Verschlüsselung und digitale Unterschriften, das unabhängig von zentralen Authentifizierungsdatenbanken arbeitet. Unix-Software wird oft mit PGP digital signiert, um Manipulationen durch Dritte zu verhindern.
Linker
Wer lapidar vom "Kompilieren" spricht, meint meist nicht nur das Übersetzen des menschenlesbaren Quelltexts in sogenannte "Objekt-Dateien" mit der Endung .o, sondern auch das Zusammenfügen ("Linken") von selbstkompilierten Objekt-Dateien und externen Bibliotheken zu einem ausführbaren Programm. Diese letzte Aufgabe übernimmt der Linker, unter Linux meist der GNU-Linker ld.
Debugging
Fehlersuche beim Programmieren. Um sich diese Arbeit mit Hilfe von Debugger-Programmen zu erleichtern, schaltet man mit speziellen Compiler-Optionen sogenannte Debugging-Informationen ein. Da der entsprechende Code im Produktionseinsatz nur unnötig Ressourcen frisst, kann der Linker sie auch wieder herausstreichen.
Bibliothek
Linux arbeitet intensiv mit dynamischen Bibliotheken für diverse Hilfsfunktionen. Beim Aufruf einer Programmdatei lädt der dynamische Linker
ld.sodie notwendigen Bibliotheken in den Speicher. Das aufgerufene Programm selbst gibt die benötigte Bibliothek nur mit Name und Hauptversion an – wo die Bibliothek genau steht und welche Version tatsächlich verwendet wird, entscheidet die individuelle Situation auf dem System. So sind Updates sehr einfach möglich. Die Datei/etc/ld.so.confinformiertld.soüber die verfügbaren Bibliotheksverzeichnisse. Der Befehlldconfigerstellt eine binäre Datenbank aller installierten Bibliotheken.PHP
Der "PHP Hypertext Preprocessor" erlaubt das Einbetten von Programmcode in HTML-Seiten. Sie speichern sozusagen eine HTML-Seite mit eingebautem Programm ab: Wenn ein Benutzer diese Seite anfordert, wird das Programm ausgeführt. Es erzeugt in der Regel HTML-Code; der Browser des Benutzers bekommt also kein PHP zu sehen (siehe Abbildung 2). Die Programmiersprache selbst erinnert ein bisschen an C. Sie ist schnell erlernbar. Mit einfachen Mitteln kommen Sie dank PHP zu ganz erfreulichen Resultaten, und die Auswahl an vorgefertigter PHP-Software ist unermesslich.
Port
Jeder Unix-Service ist durch eine Port-Nummer eindeutig identifiziert. HTTP-Server verwenden in der Regel den Port 80. Abgesicherte Verbindungen werden über Port 443 abgewickelt – dafür sind jedoch weitere Module und Verwicklungen nötig, die den Rahmen dieses Artikels sprengen. Inoffizielle Server arbeiten oft auf höheren Port-Nummern, z. B. 8000 oder 8080.
Prozess
Vereinfacht gesagt heißt jedes laufende Unix-Programm "Prozess". Viele Prozesse können gleichzeitig ablaufen, was aber entsprechende System-Ressourcen beansprucht.
Thread
("Faden") Mit neueren Programmiermodellen können Abläufe innerhalb ein und desselben Prozesses parallel erfolgen. Das System muss nur einen Prozess verwalten, trotzdem geschehen mehrere Dinge (quasi) gleichzeitig. Für bestimmte Aufgaben bieten Threads einen enormen Performance-Gewinn – Apache 2 ist ein Beispiel.
Server Side Includes
Ermöglichen eingeschränkt dynamische Seiten, die sich zum Beispiel in Abhängigkeit von der IP-Adresse des Clients ändern. Heute benutzt man eher PHP oder ähnliche Mechanismen.
Init-Skript
Das Programm init wird unmittelbar nach dem Boot-Vorgang aufgerufen und verwaltet alle laufenden Prozesse. Je nachdem, in welchem Betriebszustand (Runlevel) sich das Linux-System gerade befindet, sollen unterschiedliche Programme laufen. Beim Übergang von einem Betriebszustand in einen anderen (zum Beispiel beim Reboot) müssen ggf. auch Programme beendet werden. Welche Software jeweils gestoppt und gestartet werden soll, erfährt init durch entsprechende Kontrollskripte in den Init-Verzeichnissen /etc/init.d/rc@L: *.d o. ä.
Symlink
"Symbolische Links" sind logische Verknüpfungen von einer Datei zu einer anderen. Sie erstellen einen Symlink mit dem Befehl ln -s. Wenn nun jemand auf den Link zugreift, wird er tatsächlich auf die verlinkte Datei verwiesen – und zwar völlig transparent, ohne dass er dazu etwas tun müsste. Symlinks eignen sich hervorragend für Situationen, in denen eine Datei an mehreren Stellen im Dateisystem gebraucht wird, oder auch für "umgezogene" Dateien und Verzeichnisse.
Infos
[1] Roy T. Fielding u. a.: RFC 2616, "Hypertext Transfer Protocol – HTTP/1.1".
[2] Tim Berners-Lee u. a.: RFC 1945, "Hypertext Transfer Protocol – HTTP/1.0".
[3] Apache-Web-Seite: http://httpd.apache.org/
[4] Dokumentation zu httpd.conf: http://httpd.apache.org/docs-2.0/mod/directives.html
[5] Apache-Konfigurationsdatei zu diesem Artikel: http://www.seligma.com/linux-user/apache/
[6] PHP-Web-Seite: http://www.php.net/
[7] PHP-Download: http://www.php.net/%7Ederick/php-4.2.0RC4/



