Schulze-EDV-Service Home - AIX Support - Neuigkeiten

Apache Konfiguration  Apache Fehlermeldungen - Apache Links - PHP - Mozilla -  htdig - wget -  HTTP-Return-Codes - Portnummern

IBM HTTP-Server IHS

Im Gegensatz zum Apache der Linux Toolbox handelt es sich beim IBM HTTP Server um ein von IBM offizielll unterstützes Produkt, mit einigen Verbesserungen. Er läuft im Kernelmodus, d.h. ist sehr schnell http://www-306.ibm.com/software/webservers/httpservers/

Wie auch die Toolbox läßt sich der IHS (nach vorhergehender Registrierung) kostenlos runterladen.

Installationsanleitung für den IHS 1.3.xx.x.

Toolbox Apache Webserver V.1.3.x

Die Apache Version der IBM Liux Toolbox ist eine Basis Installation und hat im Gegensatz zum IHS keinen offiziellen Support von IBM

Apache Webserver V.2.0.x

Die aktuelle Apache Webserver Version ist 2.0.50. Sie schließt wieder viele Sicherheitslücken der vorhergehenden Versionen und sollte unbedingt verwendet werden, wenn auf den Server vom Internet zugegriffen wird. Der Vorteil der Arbeit mit den Quellcodes ist, daß man die aktuellste Version des HTTP-Servers bekommt. Wer sich die Prozedur mit C-Compiler etc. nicht zutraut bzw. Apache 2.0 nicht in der allerneuesten Version braucht, kann sich auf die Suche nach vorkompilierten Paketen für RS6000 Server machen. Anlaufstellen sind dann Bull und Apache.org. Mehr als zwei Stellen hinter dem Komma sollte die kompilierte Version nicht hinter der letzten Source zurückstehen. Die aktuelleste Version bei Bull ist nach wie vor die 2.0.40.

Nachdem das Apache tar Paket entpackt ist, läßt man ./buildconf laufen, bevor man ./configure aufruft. Für buildconf muß ein aktuelles libtool installiert sein. Danach führt man make und make install aus. Wenn nichts anderes angegeben wird, installiert sich der Webserver in /usr/local/apache2. Alle Konfigurationseinstellungen sind unter /usr/local/apache2/conf/httpd.conf vorzunehmen.

Ansonsten läßt sich der Code mit der 2.95 Version der Gnu-Compiler aus der Linux-Toolbox unter AIX 5L problemlos als 32-Bit Applikation zusammenbauen. Je nach Prozessorgeschwindigkeit kann das compilieren jedoch etwas länger dauern, insbesondere beim überprüfen der db usability scheint configure zu hängen. Zeitdauer für das configure von 2.0.50 auf einer 43P150 mit 375MHz etwas weniger als 3 Stunden, in einer 7040-671 mit 1,1GHz ca. 1 Stunde.

Problem beim make: .sqrt, .lrint

-> Math. Library (oder besser gleich bos.adt komplett installieren), gcc Option -lm verwenden.

Gnu C/C++ Compiler Info

<Top>

Konfiguration Apache Webserver

Authentifizierung - Permanente Umleitung -

Authentifizierung

Um den Zugriff auf html Seiten zu regeln können verschiedene Benutzer und/oder Benutzergruppen definiert werden. Das Standardverfahren sieht wie folgt aus.

Grundlegende Bestandteile sind die folgenden Programme/Dateien

Als erste muß eine Paßwort Datei erzeugt werden. Dies geschieht mit htpasswd.

# htpasswd -c /usr/local/apache2/bin/user username1

New password: $neuespasswort

Re-type new password: $neuespasswort

Adding password for user username1

Dieser Befehl erzeugt eine Paßwort Datei user im Verzeichnis /usr/local/apache2/bin und kreiert einen ersten Benutzer username1. Die folgenden Benutzer werden mit einer ähnlichen Befehlszeile angelegt, lediglich die -c Option wird weggelassen, damit die Paßwort Datei ergänzt und nicht neu überschrieben wird.

Es besteht außerdem die Möglichkeit, eine ganze Gruppe für einen Zugriff zu definieren. Dies geschieht über ein AuthGroupFile, dazu kommen wir später.

Nachdem der/die Benutzer in der Paßwort Datei definiert sind, muß Apache über das Vorhandensein dieser Einschränkung informiert werden. Dazu wird in der Server Konfiguration in httpd.conf der folgende Eintrag hinzugefügt:

AllowOverride AuthConfig

Ferner muß ein Verweis auf die .htaccess Datei in der httpd.conf eingetragen werden:

AccessFileName .htaccess

Beide entsprechenden Stellen sind in der httpd.conf bereits kommentiert vorhanden, so daß man sich über die richtige Stelle nicht den Kopf zerbrechen muß.

Als drittes legt man im jeweiligen Dokumentenverzeichnis eine .htaccess Datei an, mit folgendem Inhalt:

AuthType Basic

AuthName "Restricted Files" (Dieser beliebig änderbare Text taucht in der Abfrage-Maske im Browser auf).

AuthUserFile /usr/local/apache2/bin/user

require valid-user

Nach einem refresh des httpd Dämonen, sollte die Abfrage von Benutzer und Paßwort funktionieren.

Abweichungen/Ergänzungen zum Standardverfahren

Externe Informationen

Apache 2.0 Dokumentation zum Thema Authentifizierung.

<Top>

Permanente Weiterleitung

Um eine permanente Umleitung (z.B. auf ein neues Verzeichnis) einzurichten verwendet man den redirect Befehl. Dazu muß das Apache Modul mod_alias installiert sein. Die Weiterleitung wird nun in der .htaccess oder in der httpd.conf Datei eingetragen:

Redirect 301 /alt/texte http://www.mysite.de/neu

Wichtig ist, daß das Ziel als vollständig qualifizierte Adresse eingetragen wird, während für den Ausgangspunkt der Name des Verzeichnisses / der Datei reicht.

<Top>

Apache Fehlermeldungen

Cannot remove module mod_xxx.c not found in module list

Diese Fehlermeldung tritt auf, wenn der Apache für shared modules kompiliert ist. Genutzte Module werden dann aus der httpd.conf mittels LoadModule geladen. Danach wird i.d.R. ein ClearModuleList durchgeführt und die Modulliste wird auf spezielle Anweisung oder mit AddModule Anweisung wiederhergestellt. Wenn ein Modul mit LoadModul geladen wird, es aber gleichzeitig keine entsprechende AddModule Anweisung gibt, dann wird die Fehlermeldung: "Cannot remove module mod_xxx.c not found in module list" zurückgegeben. D.h. jede LoadModul Anweisung braucht ein AddModul Gegenstück. Aber eine separate AddModul Anweisung (ohne LoadModul Anweisung, z.B. für einkompilierte Module) funktioniert.

<Top>

Apache Links

<Top>

Mozilla

Je nach AIX Version liefert IBM verschiedene Netscape Browser auf den Bonus CDs mit. Problem dabei: die Browser sind recht alt, der aktuellste Browser (Juli 2004) ist immer noch Netscape 7.03. Wer einen aktuelleren Browser benutzen möchte, wird bei Mozilla fündig. Dort gibt es auch vorkompilierte Versionen 1.7 für AIX 4.3 und 5.1.

tar.gz format for AIX 4.3.3 (15.0 MB)

tar.gz format for AIX 5.1.0 (16.0 MB) Gtk2

Wer Mozilla selber kompilieren möchte, sollte sich die Info bei Mozilla Org ansehen:

http://www.mozilla.org/unix/aix.html

Zum kompilieren benötigt man den IBM Visual Age C Compiler, der in einer 60-Tage Try and Buy Version getestet werden.

http://www-306.ibm.com/software/awdtools/vacpp/support/

Auf der genannten Seite gibt es auch Updates für diesen Compiler.

<Top>

htDig

HtDig indiziert ganze Websites und stellt aus dem Index eine Suche zur Verfügung. Um eine lokale Site zu indizieren, muß ein lokaler Webserver installiert sein, da htDig keine reinen directories durchsucht.

HtDig wird nicht als vorkompiliertes Packet angeboten, sondern lediglich im Quellcode. Es kann von der htDig homepage http://www.htdig.org/ heruntergeladen und anschließend mit den Gnu C und C++ Compilern aus der Linux-Toolbox installiert werden.

<Top>

wget

wget ist ein Programm, mit dem man komplette sites herunterladen kann. Die gebräuchlichsten Optionen sind dabei die Angabe, ob wget den Verzeichnissen rekursiv (-r) folgen soll und wie tief (-l#, wobei #=0 für Unendlich steht und der default auf 5).

# wget -r -l4 www.webseite.de

Wenn über einen Proxy zugegriffen wird, muß ggf. die Variable http_proxy=<Proxyserver> exportiert werden.

Wenn wget per robot.txt der Zugriff verwehrt wird, kann ein User Agent übergeben werden.

# wget --user-agent=Mozilla -r http://www.webseite.de/

<Top>

HTTP Return Codes

Fehlercode Bedeutung
100 Continue
101 Switching Protocols
200 OK
201 Created
202 Accepted
203 Non-Authoritative Information
204 No Content
205 Reset Content
206 Partial Content
300 Multiple Choices
301 Permanently Redirected
302 Moved Temporarily
303 See Other
304 Not Modified
305 Use Proxy
400 Bad Request
401 Unauthorized
402 Payment Required
403 Forbidden
404 Not Found
405 Method Not Allowed
406 Not Acceptable
407 Proxy Authentication Required
408 Request Time-Out
409 Conflict
410 Gone
411 Length Required
412 Precondition Failed
413 Request Entity Too Large
414 Request-URL Too Large
415 Unsupported Media Type
500 Server Error
501 Not Implemented
502 Bad Gateway
503 Out of Resources / Service Unavailable
504 Gateway Time-Out
505 HTTP Version not supported

<Top>

Portnummern

http://www.iana.org/assignments/port-numbers

<Top>