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

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(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

780 Hits
Wertung: 55 Punkte (2 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/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

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...