Home / LinuxUser / 2002 / 06 / Web-Server Apache 2

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(226 Punkte bei 13 Stimmen)
Speichern in der Cloud
(179 Punkte bei 5 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Re: War doch klar...
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Neuer Indianer

Web-Server Apache 2

01.06.2002 Das Herzstück eines typischen Internet-Servers bildet ein Programm, das WWW-Seiten anbietet. Weltweit am häufigsten genutztes Exemplar dieser Gattung ist der Apache-Web-Server, dessen Entwickler kürzlich die Version 2 zur allgemeinen Verwendung freigaben.

Die Begriffe "Internet" und "World Wide Web" verwendet man heute im alltäglichen Sprachgebrauch fast gleichbedeutend. Das mag nicht korrekt sein, doch gehört das WWW unbestritten zu den meistgenutzten Diensten im Netz. Und der hat zwei Seiten: Mit einem Web-Client wie Netscape, Mozilla oder Konqueror wählt der User eine Seite an, wobei der Computer Kontakt zu dem Web-Server aufnimmt, der die entsprechende Ressource anbietet. Erst wenn jener Daten zurück schickt, kann der Client auch etwas anzeigen. Dieser Artikel zeigt, wie Sie auf Ihrem Computer Apache in der jüngst als stabil erklärten Version 2 als Web-Server installieren und konfigurieren.

Hinter den Kulissen des Webs

Im einfachsten Fall schickt ein Web-Browser eine Anfrage an Apache, und das Server-Programm antwortet mit einer HTML-Seite. Meist enthält diese mehrere Verweise auf weitere Objekte wie zum Beispiel Grafiken oder Frames, die ebenfalls vom Server ausgeliefert werden (vgl. Abbildung 1).

Abbildung 1: Datenaustausch über das Web

Doch wie genau sieht die Interaktion mit den Browsern aus? Wer darf auf welche Teile des Servers zugreifen? Wo sind diese Angebote auf den lokalen Festplatten gespeichert?

Werden Web-Inhalte – wie bei den meisten aktuellen Web-Seiten – in unterschiedlich großem Umfang dynamisch generiert, kommen weitere Problemkomplexe hinzu: In diesem Fall lädt Apache von der Festplatte nämlich nur eine Vorlage für die HTML-Seite bzw. ein kleines Stück Software, mit dessen Hilfe die eigentliche HTML-Seite entsteht. Die HTML-Erzeugung erfolgt durch separate Programme, die Apache entweder als Module oder als eigenständige CGI-Prozesse aufruft. Diese externen Programme sollten Sie in gewissem Maße bereits während der Apache-Installation berücksichtigen.

Apache installieren

Die neue Apache-Version 2 hat bislang einen Nachteil: Sie ist selbst in aktuellen Distributionen wie SuSE 8.0 Professional noch nicht enthalten. Eine gute Gelegenheit also, Apache selbstständig zu konfigurieren und zu übersetzen. Dadurch gewinnen Sie nebenbei einiges an Performance und möglicherweise sogar ein wenig zusätzliche Funktionalität, die Distributoren oft deaktivieren.

Die Software selbst erhalten Sie von der zugehörigen Web-Seite [3]. Sofern PGP bei Ihnen installiert ist, sollten Sie die Integrität des Pakets damit überprüfen (vgl. Kasten 1).

Kasten 1: Code-Signaturen überprüfen

Daten, die auf ans Internet angeschlossenen Rechnern lagern, lassen sich genausowenig wie Daten, die über dieses öffentliche Netz wandern, hundertprozentig gegen Manipulation schützen. Wird ein Server gehackt, kann der Angreifer unter Umständen Veränderungen an Dateien, etwa Quelltext-Archiven, herbeiführen, die einem arglosen Downloader nicht sofort auffallen. Der Schaden – beispielsweise eine in den Code eingebaute Hintertür – fiele unter Umständen sehr spät auf und würde die Vertrauensbasis von Programmierern und Nutzern der jeweiligen Software irreparabel zerstören.

Verantwortungsvolle Programmierer (speziell, wenn sie so sensible Software wie einen Web-Server schreiben) sorgen deshalb dafür, dass die Nutzer eine Möglichkeit haben, zu überprüfen, ob das Archiv, das sie herunterladen, auch tatsächlich dem von den Herausgebern freigegebenen entspricht. Die einfachste Möglichkeit sind Prüfsummen. Hier kommt sehr oft eine MD5 checksum zum Einsatz: Mit dem (auf den meisten Linux-Systemen vorhandenen) Programm md5sum erzeugt der- oder diejenige, der/die eine Datei ins Netz stellt, einen für dieses File eindeutigen Digest und legt diese Zeichenkette mit auf den Server. Dasselbe tut der User, der die Datei heruntergeladen hat. Stimmen beide Prüfsummen überein, kann man zumindest davon ausgehen, dass beim Download keine Daten kaputtgegangen sind.

Da ein erfolgreicher Angreifer relativ einfach eine solche Check-Summe "seines" manipulierten Archivs auf dem Server ablegen kann, muss man zum tatsächlichen Sicherstellen der Integrität eines Software-Archivs härtere Geschütze auffahren: kryptographische Signaturen. So wie man PGP oder GnuPG zum Signieren ("Unterschreiben") einer E-Mail benutzt, kann man diese beiden Programme auch zum Signieren von Code-Archiven einsetzen. Im Unterschied zu E-Mails legt man die digitale Signatur dabei aber in einer extra ASCII-Datei ab.

Um ein Quelltextarchiv zu verifizieren, braucht der Downloader den oder die öffentlichen Schlüssel der Herausgeber, die das Apache-Team in einer Datei namens KEYS ablegt. Diese importiert man in seinen eigenen Schlüsselbund (mit PGP 2.6.x pgp -ka KEYS, bei GnuPG mit gpg --import KEYS).

Hat man nun signiertes Archiv (httpd-2.0.35.tar.gz) und Signaturdatei (httpd-2.0.35.tar.gz.asc) im gleichen Verzeichnis liegen, lässt sich die Integrität des Archivs mit pgp httpd-2.0.35.tar.gz.asc httpd-2.0.35.tar.gz bzw. gpg --verify httpd-2.0.35.tar.gz.asc httpd-2.0.35.tar.gz überprüfen. Damit GnuPG die teilweise alten PGP-2-Schlüssel der Apache-Entwickler verwenden kann, muss es allerdings speziell angepasst sein. Nähere Informationen dazu erhalten Sie u. a. unter http://www.gnupg.org/gph/en/pgp2x/x23.html. (Patricia Jung)

Den Quelltext entpacken Sie wie üblich und wechseln ins neuerzeugte Sourcen-Verzeichnis:

tar xzf httpd-2.0.35.tar.gz
cd httpd-2.0.35

Nun folgt der gewohnte Zyklus aus ./configure; make; make install. Allerdings empfehlen sich beim Aufruf des configure-Skripts, das Ihr System auf seine Eigenschaften und Fähigkeiten überprüft und die eigentliche Übersetzung vorbereitet, einige Anpassungen:

CFLAGS=-O2 LDFLAGS=-s ./configure --enable-rewrite=shared --enable-so --sysconfdir=/etc/httpd

Die Optionen vor ./configure setzen Umgebungsvariablen: CFLAGS und LDFLAGS geben Optionen für Compiler und Linker an. Dabei steht -O2 für eine Optimierung der Geschwindigkeit (zu Ungunsten der Programmgröße). -s weist den Linker an, Debugging-Informationen aus dem fertigen Programm herauszulöschen – wir gehen mal davon aus, dass Apache halbwegs ordentlich arbeitet.

Optionen, die mit --enable- beginnen, aktivieren einzelne Unterfunktionen. Beispielsweise schaltet --enable-rewrite das Modul mod_rewrite ein, mit dessen Hilfe Sie Besucher ganz unsichtbar innerhalb Ihrer Site umleiten können. --enable-so steht für die dynamisch nachladbaren Module, die wir später für Erweiterungen benötigen. Viele Linux-Anwender ergänzen noch die Option --sysconfdir=/etc/httpd: Konfigurationsdateien stehen dann im Verzeichnis /etc/httpd, während die Vorgabe von Apache /usr/local/apache2/conf heißt. Eine vollständige Liste aller Optionen für die Kompilierung erhalten Sie mit dem Befehl ./configure --help.

Mit dem Kommando make starten Sie anschließend die eigentliche Übersetzung, die ein paar Minuten beanspruchen kann.

Vor der Installation wechseln Sie mit su zum root-Account. make install schreibt die vorbereiteten Programm- und Datendateien (in der Voreinstellung) nach /usr/local/apache2. Die Bibliotheksdateien zu Apache landen dabei im Verzeichnis /usr/local/apache2/lib. Damit Ihr Linux diese auf Anhieb findet, ergänzen Sie das Verzeichnis – immer noch als root – am besten gleich in der Linker-Konfigurationsdatei /etc/ld.so.conf:

echo /usr/local/apache2/lib >>/etc/ld.so.conf
/sbin/ldconfig -v

Geben Sie die root-Rechte baldmöglichst (mit dem Kommando exit) wieder auf, um verhängnisvolle Fehler zu vermeiden.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

654 Hits
Wertung: 55 Punkte (2 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...
Skype für 64-Bit-Prozessor u. Suse 12.1
Klaus Sigerist, 05.02.2012 11:39, 3 Antworten
Hallo Gemeinde! Ich bin nur ein einfacher Nutzer und habe Probleme mit der Installation von Skyp...
8! Anfängerfrage :) Wie finde ich in Ubuntu die Datenträger (Bild, Text)
samuel leusam, 04.02.2012 15:53, 2 Antworten
Ich habe neu Ubuntu. Wenn ich die SD Karte im Laptop einstecke, erkennt er sie und gibt ihr den N...
OpenSuse 12.1-Service Kit 01/12
Christoph-J. Walter, 28.01.2012 08:52, 2 Antworten
Hallo Gemeinde, ich habe 12.1 neu installiert. Alles in Ordnung! Nun möchte ich das Service Kit (...
Ubuntu 11.10 konfigurieren
Michael Hinz, 27.01.2012 17:52, 1 Antworten
Ubuntu läuft bei mir. Allerdings nur, wenn die Daten-CD eingelegt ist. Unabhängig von Bios-Einste...