Title: Den Apache mit Novell NetWare verwenden
In den folgenden Abschnitten wird erklärt, wie der Apache 2.0 unter Novell NetWare 6.0 und späteren Versionen installiert, konfiguriert und ausgeführt wird. Wenn Sie Fehler finden oder in anderer Form etwas beitragen möchten, besuchen Sie bitte unsere Seite Bug Reports.
Die Bug Reports und die dev-httpd Mailing-Liste sind nicht dafür vorgesehen, Fragen zur Konfiguration oder Ausführung des Apache zu beantworten. Bevor Sie einen Fehlerbericht abschicken, ziehen Sie zuerst dieses Dokument und die Häufig gestellten Fragen (FAQ) sowie andere relevante Teile der Dokumentation zu Rate. Wenn Sie dann immer noch Fragen haben oder Ihr Problem nicht gelöst wurde, wenden Sie sich an die Newsgroup novell.devsup.webserver, wo es viele Apache-Benutzer gibt, die gerne bereit sind, neue und knifflige Fragen zu Apache für NetWare zu beantworten.
Es wird davon ausgegangen, dass Sie eine ausführbare Apache-Distribution installieren. Möchten Sie den Apache selbst kompilieren (eventuell um sich an der Entwicklung zu beteiligen oder um Fehler aufzuspüren), dann schlagen Sie unter Kompilieren des Apache für NetWare nach.
Der Apache 2.0 wurde für die Ausführung unter NetWare 6.0 mit dem Service Pack 3 (oder spätere Service Packs) entworfen. Führen Sie NetWare mit einem älteren Service Pack aus, dann müssen Sie die aktuellsten NetWare-Bibliotheken für C (LibC) installieren.
NetWare Service Packs stehen hier zur Verfügung.
Apache 2.0 für NetWare kann auch in einer NetWare 5.1-Umgebung ausgeführt werden, wenn das aktuellste Service Pack oder die aktuellste Version der NetWare-Bibliotheken für C (LibC) installiert wurde. WARNUNG: Apache 2.0 für NetWare ist für diese Umgebung nicht vorgesehen oder getestet.
Informationen zur aktuellsten Version des Apache finden Sie auf der Website des Apache-Webservers unter der Adresse http://httpd.apache.org/download.cgi. Dort finden Sie die aktuelle Version sowie eine Liste die letzten Alpha- oder Betaversionen und Einzelheiten zu den Web-Spiegelservern und Anonymous FTP-Sites. Ausführbare Versionen der aktuellsten Versionen des Apache 2.0 für NetWare können Sie hier herunterladen.
Zur Zeit gibt es kein Apache-Installationsprogramm für NetWare. Wenn Sie den Quellcode des Apache 2.0 für NetWare kompilieren, müssen Sie die Dateien manuell auf den Server kopieren.
Führen Sie die folgenden Schritte durch, um Apache für NetWare mit
dem ausführbaren Downlaod zu installieren (in der Beschreibung wird
davon ausgegangen, dass die Installation im Verzeichnis
sys:/apache2 erfolgt):
- Entpacken Sie die ausführbare Download-Datei in das Hauptverzeichnis
des Volume
SYS:(die Installation kann in jedem Volume erfolgen). - Setzen Sie in der
httpd.conf-Datei die DirektivenServerRoot undServerName sowie alle Dateipfade entsprechend der Einstellungen Ihres Servers. - Fügen Sie dem Suchpfad den Pfad
SYS:/APACHE2hinzu:SEARCH ADD SYS:\APACHE2
Führen Sie die folgenden Schritte durch, wenn Sie Apache für NetWare
manuell mit Ihrem eigenen Quellcode installieren möchten (in der Beschreibung wird
davon ausgegangen, dass die Installation im Verzeichnis
sys:/apache2 erfolgt):
- Richten Sie in einem NetWare-Volume ein Verzeichnis mit dem
Namen
Apache2ein. - Kopieren Sie die Dateien
APACHE2.NLMundAPRLIB.NLMin das VerzeichnisSYS:/APACHE2. - Legen Sie im Verzeichnis
SYS:/APACHE2ein UnterverzeichnisBINan. - Kopieren Sie die Dateien
HTDIGEST.NLM,HTPASSWD.NLM,HTDBM.NLM,LOGRES.NLMundROTLOGS.NLMin das UnterverzeichnisSYS:/APACHE2/BIN. - Legen Sie im Verzeichnis
SYS:/APACHE2ein UnterverzeichnisCONFan. - Kopieren Sie die Datei
HTTPD-STD.CONFin das VerzeichnisSYS:/APACHE2/CONFund benennen Sie sie inHTTPD.CONFum. - Kopieren Sie die Dateien
MIME.TYPES,CHARSET.CONVundMAGICin das VerzeichnisSYS:/APACHE2/CONF. - Kopieren Sie alle Dateien und Unterverzeichnisse aus
\HTTPD-2.0\DOCS\ICONSin das VerzeichnisSYS:/APACHE2/ICONS. - Kopieren Sie alle Dateien und Unterverzeichnisse aus
\HTTPD-2.0\DOCS\MANUALin das VerzeichnisSYS:/APACHE2/MANUAL. - Kopieren Sie alle Dateien und Unterverzeichnisse aus
\HTTPD-2.0\DOCS\ERRORin das VerzeichnisSYS:/APACHE2/ERROR. - Kopieren Sie alle Dateien und Unterverzeichnisse aus
\HTTPD-2.0\DOCS\DOCROOTin das VerzeichnisSYS:/APACHE2/HTDOCS. - Richten Sie auf dem Server das Verzeichnis
SYS:/APACHE2/LOGSein. - Richten Sie auf dem Server das Verzeichnis
SYS:/APACHE2/CGI-BINein. - Richten Sie das Verzeichnis
SYS:/APACHE2/MODULESein und kopieren Sie alle NLM-Module in das Verzeichnismodules. - Suchen Sie in der
HTTPD.CONF-Datei alle@@Value@@-Einträge und ersetzen Sie sie durch die entsprechenden Einstellungen. - Fügen Sie dem Suchpfad den Pfad
SYS:/APACHE2hinzu:SEARCH ADD SYS:\APACHE2
Der Apache kann nicht nur im standardmäßigen Volume
SYS sondern auch in anderen Volumes installiert werden.
Wird während des Einrichtungsprozesses der Makefile-Befehlszeile das
Schlüsselwort install hinzugefügt, wird automatisch eine
vollständiges Distributionspaket im Unterverzeichnis DIST
erzeugt. Installieren Sie den Apache einfach, indem Sie die
von den Makfiles erzeugte Distribution in das Stammverzeichnis des
NetWare-Volume kopieren (siehe unten: Den Apache
für NetWare kompilieren ).
Um den Apache zu starten, geben Sie in der Konsole
apache ein. Der Apache wird dann in den Adressbereich des
Betriebssystems geladen. Ziehen Sie es vor, den Apache in einen
geschützten Adressbereich zu laden, dann können Sie den Adressbereich mit
der load-Anweisung wie folgt angeben:
Dadurch wird der Apache in den Adressbereich
apache2 geladen. Die Ausführung mehrerer gleichzeitiger
Instanzen unter NetWare ist durch Laden jeder Instanz in einen eigenen
geschützten Adressbereich möglich.
Nach dem Start beobachtet der Apache Port 80 (es sei denn, Sie haben
den Port in den Konfigurationsdateien den mit der Direktive
error_log-Datei
aus dem Verzeichnis logs.
Wenn die Basisinstallation funktioniert, sollten Sie sie mit den Dateien
aus dem conf-Verzeichnis konfigurieren.
Mit den folgenden Befehlen kann der im Adressraum des Servers ausgeführte Apache über die Konsole entladen werden:
Oder:
Wird der Apache in einem geschützten Adressraum ausgeführt,
dann geben Sie diesen Adressbereich mit dem
unload-Befehl an:
Bei der Arbeit mit dem Apache ist es wichtig zu wissen, wie er die Konfigurationsdateien findet. Über die Befehlszeile können Sie auf zwei Arten eine Konfigurationsdatei angeben:
- Der Schalter
-fgibt einen Pfad zu einer bestimmten Konfigurationsdatei an.
In diesem Fall sollte die Direktive
Geben Sie mit -f keinen Namen einer
Konfigurationsdatei an, benutzt der Apache den Dateinamen, der in den
Server kompiliert wurde. Er lautet normalerweise conf/httpd.conf.
Beim Aufruf des Apache mit dem Schalter -V
wird dieser Wert unter der Bezeichnung
SERVER_CONFIG_FILE angezeigt.
Der Apache ermittelt dann seine
- Eine
ServerRoot -Direktive über den Befehlszeilenschalter-C. - Den Befehlszeilenschalter
-d. - Das aktuelle Arbeitsverzeichnis.
- Die in den Server kompilierte
ServerRoot.
In den Server kompiliert wird normalerweise die ServerRoot
sys:/apache2. Der Befehl apache2 -V zeigt
diesen Wert mit der Bezeichnung HTTPD_ROOT an.
Apache 2.0 für NetWare beinhaltet eine Reihe von Befehlszeilen-Direktiven,
mit denen eine gerade ausgeführte Instanz des Webservers modifiziert oder
Informationen angezeigt werden können. Diese Direktiven stehen nur
während der Ausführung des Apache zur Verfügung. Jeder dieser
Direktiven muss das Schlüsselwort APACHE2
vorangestellt werden.
- RESTART
- Weist den Apache an, alle gerade ausgeführten
-Threads zu beenden, wenn sie in den Bereitschaftszustand wechseln, die Konfigurationsdatei erneut zu lesen und jedenworker-Thread unter Berücksichtigung der neuen Konfiguration zu starten.worker - VERSION
- Zeigt Versionsinformationen zur gerade ausgeführten Apache-Instanz an.
- MODULES
- Zeigt eine Liste der gerade geladenen eingebauten und der externen Module an.
- DIRECTIVES
- Zeigt eine Liste der verfügbaren Direktiven an.
- SETTINGS
- Schaltet die Anzeige des Thread-Status in der Konsole ein oder aus. Ist sie eingeschaltet, wird der Status jedes ausgeführten Threads auf dem Konsolenbildschirm angezeigt.
- SHUTDOWN
- Beendet die ausgeführte Instanz des Apache-Webservers.
- HELP
- Zeigt eine Beschreibung Laufzeitdirektiven an.
Standardmäßig werden diese Direktiven für die Apache-Instanz
angewendet, die im Adressraum des Betriebssystems ausgeführt wird.
Damit eine Direktive für eine bestimmte Instanz, die in einem geschützten
Adressraum ausgeführt wird, Anwendung findet, muss der Parameter
-p zusammen mit dem Namen des Adressraums
angegeben werden. Für weitere Informationen geben Sie in der Befehlszeile
apache2 Help ein.
Der Apache wird über die normalerweise im Verzeichnis
conf gespeicherten Konfigurationsdateien konfiguriert.
Dies sind die gleichen Dateien wie für die Konfiguration der Unix-Version,
für Apache für NetWare gibt es jedoch einige unterschiedliche Direktiven.
In der Apache-Dokumentation werden alle verfügbaren
Direktiven aufgeführt.
Die Hauptunterschiede bei Apache für NetWare sind:
-
Da Apache für NetWare Multithreading verwendet, wird nicht für jede Anfrage ein eigener Prozess gestartet, wie dies bei einigen Unix-Implementierungen der Fall ist. Statt dessen werden nur Threads ausgeführt: Ein Elternprozess und mehrere Kindprozesse oder
-Threads, die die Anfragen behandeln.workerDaher unterscheiden sich die Direktiven für die Prozessverwaltung:
MaxRequestsPerChild - wie die Unix-Direktive steuert sie, wie viele Anfragen ein-Thread bedient, bevor er beendet wird. Die empfohlene StandardvorgabeworkerMaxRequestsPerChild 0führt dazu, dass der Thread endlos Anfragen bedient. Es wird empfohlen, diese Vorgabe für NetWare beizubehalten, es sei denn, es gibt einen speziellen Grund, einen anderen Wert zu wählen.StartThreads - Diese Direktive teilt dem Server mit, wie viele Threads er zu Beginn starten soll. Die empfohlene Vorgabe lautetStartThreads 50.MinSpareThreads - Diese Direktive weist den Server an, zusätzliche-Threads zu starten, wenn die Anzahl der bereit stehenden Threads unter diesen Wert fällt. Der empfohlene Standardwert istworkerMinSpareThreads 10.MaxSpareThreads - Diese Direktive weist den Server an,worker-Threads zu beenden, wenn die Anzahl der zur Ausführung bereit stehenden Threads diesen Wert überschreitet. Die empfohlene Standardvorgabe liegt beiMaxSpareThreads 100.MaxThreads - Diese Direktive begrenzt die Gesamtzahl derworker-Threads auf einen Maximalwert. Die empfohlene Vorgabe liegt beiThreadsPerChild 250.ThreadStackSize - Diese Direktive teilt dem Server mit, welche Stack-Größe für einzelneworker-Threads zu benutzen ist. Der empfohlene Standardwert liegt beiThreadStackSize 65536. -
Bei Direktiven, die Dateinamen als Argumente übernehmen, müssen NetWare-Dateinamen an Stelle der Unix-Dateinamen benutzt werden. Da der Apache aber intern Namen im Unix-Stil benutzt, müssen einfache Schrägstriche an Stelle von Backslashs verwendet werden. Es wird empfohlen, allen Hauptverzeichnispfaden einen Volume-Namen voranzustellen. Wird dies nicht getan, geht der Apache vom Volume
SYS:aus, was vielleicht nicht korrekt ist. -
Der Apache für Windows kann Module während der Laufzeit laden, ohne das der Server erneut kompiliert werden muss. Wurde der Apache normal kompiliert, werden eine Reihe optionaler Module im Verzeichnis
\Apache2\modulesinstalliert. Um diese oder andere Module zu aktivieren, muss die neue DirektiveLoadModule benutzt werden. Um beispielsweise das Statusmodul zu aktivieren, geben Sie folgende Anweisung:LoadModule status_module modules/status.nlm Informationen zum Erzeugen ladbarer Module stehen zur Verfügung.
CGIMapExtension - Diese Direktive ordnet einem Skriptinterpreter eine CGI-Dateinamenserweiterung zu.
SecureListen - Diese Direktive aktiviert die SSL-Verschlüsselung für einen bestimmten Port.
NWSSLTrustedCerts - Diese Direktive nennt vertrauenswürdige Zertifikate, mit denen sichere Verbindungen über Proxies hergestellt werden können.
Zum Kompilieren des Apache wird MetroWerks CodeWarrior 6.x oder
eine spätere Version benötigt. Wurde der Apache aufgebaut, kann er
im Hauptverzeichnis eines beliebigen NetWare-Volume installiert werden.
Die Vorgabe ist sys:/Apache2.
Bevor der Server ausgeführt wird, muss das Verzeichnis
conf gefüllt werden. Kopieren Sie die Datei
HTTPD-STD.CONF aus den conf-Verzeichnis
der Distribution und benennen Sie es in HTTPD.CONF um.
Suchen Sie in der HTTPD.CONF-Datei nach allen
@@Value@@-Einträgen und ersetzen Sie sie durch die
entsprechenden Einstellungen. Kopieren Sie auch die Dateien
conf/magic und conf/mime.types der
Distribution in das conf-Verzeichnis. Alternativ kann auch
eine komplette Distribution aufgebaut werden, wenn das Schlüsselwort
install beim Aufruf der Makefiles angegeben wird.
Die folgenden Entwicklungswerkzeuge werden für den Aufbau von Apache 2.0 für NetWare benötigt:
- Metrowerks CodeWarrior 6.0 oder eine spätere Version mit dem NetWare PDK 3.0 oder einer späteren Version.
- NetWare-Bibliotheken für C (LibC)
- LDAP-Bibliotheken für C
- Quellcode ZLIB-Kompressionsbibliothek
- AWK-Programm (awk, gawk oder ein ähnliches Programm). AWK kann
unter der Adresse http://developer.novell.com/ndk/apache.htm
heruntergeladen werden.
Das Programm muss über den Windows-Pfad zu finden sein und
awk.exeheißen. - Um den Aufbau mit den Makefiles durchzuführen, benötigen Sie die GNU Make-Version 3.78.1 (GMake), die Sie unter der Adresse http://developer.novell.com/ndk/apache.htm herunterladen können.
- Setzen Sie die Umgebungsvariable
NOVELLLIBCauf das Verzeichnis der NetWare-Bibliotheken für das C-SDK:Set NOVELLLIBC=c:\novell\ndk\libc - Setzen Sie die Umgebungsvariable
METROWERKSauf das Verzeichnis, in dem der Metrowerks CodeWarrior-Compiler installiert ist:Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior Ist er im standardmäßigen VerzeichnisC:\Program Files\Metrowerks\CodeWarriorinstalliert, dann ist kein Setzen erforderlich. - Setzen Sie die Umgebungsvariable
LDAPSDKauf das Verzeichnis mit den LDAP-Bibliotheken für C:Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc - Setzen Sie die Umgebungsvariable
ZLIBSDKauf das Verzeichnis, in dem Sie den Quellcode für die ZLib-Bibliothek installiert haben:Set ZLIBSDK=D:\NOVELL\zlib - Setzen Sie die Umgebungsvariable
AP_WORKauf den vollständigen Pfad des\httpd-2.0-Verzeichnisses. - Setzen Sie die Umgebungsvariable
APR_WORKauf den vollständigen Pfad des Verzeichnisses\httpd-2.0\srclib\apr. - Sorgen Sie dafür, dass die Pfade zu den Programmen AWK und dem
GNU Make-Programm (
gmake.exe) Bestandteil der UmgebungsvariablenPATHIhres Systems sind. - Laden Sie den Quellcode herunter und entpacken Sie ihn in ein entsprechendes Verzeichnis Ihres Rechners.
- Wechseln Sie in das Verzeichnis
\httpd-2.0\srclib\apr-util\uriund erstellen Sie die DateiGENURI.nlm, indem Siegmake -f nwgnumakefileaufrufen. - Kopieren Sie die Datei
GENURI.nlmin dasSYS:-Volume eines NetWare-Servers und führen Sie folgenden Befehl aus:SYS:\genuri > sys:\uri_delims.h - Kopieren Sie die Datei
uri_delims.hin das Verzeichnis\httpd-2.0\srclib\apr-util\urides Rechners, mit dem Sie die Einrichtung vornehmen. - Wechseln Sie in das Verzeichnis
\httpd-2.0\srclib\aprund erzeugen Sie mit dem Befehlgmake -f nwgnumakefiledas APR. - Wechseln Sie in das Verzeichnis
\httpd-2.0\srclib\pcreund erzeugen Sie mit dem Befehlgmake -f nwgnumakefiledie DateiDFTABLES.nlm. - Wechseln Sie in das Verzeichnis
\httpd-2.0\serverund erzeugen Sie mit dem Befehlgmake -f nwgnumakefiledie DateiGENCHARS.nlm. - Kopieren Sie die Dateien
GENCHARS.nlmundDFTABLES.nlmaus ihren Verzeichnissen in dasSYS:-Volume eines NetWare-Servers und führen Sie sie mit folgenden Befehlen aus:SYS:\genchars > sys:\test_char.h
SYS:\dftables > sys:\chartables.c
- Kopieren Sie die Dateien
test_char.hundchartables.cin das Verzeichnis\httpd-2.0\os\netwaredes Rechners, mit dem Sie die Einrichtung durchführen. - Wechseln Sie in das Verzeichnis
\httpd-2.0und erzeugen Sie den Apache mit dem Befehlgmake -f nwgnumakefile". Mit einem zusätzlichen Installationsparameter können Sie ein Distributionsverzeichnis einrichten:gmake -f nwgnumakefile install
gmake -f nwgnumakefileErzeugt Release-Versionen aller ausführbaren Dateien und kopiert sie in ein
\release-Verzeichnis.gmake -f nwgnumakefile DEBUG=1Erzeugt Debug-Versionen aller ausführbaren Dateien und kopiert sie in ein
\debug-Verzeichnis.gmake -f nwgnumakefile installErzeugt eine komplette Apache-Distribution mit ausführbaren Dateien, Dokumentationen und zusätzlichen Support-Dateien in einem
\dist\Apache2-Verzeichnis.gmake -f nwgnumakefile installdevBewirkt das Gleiche wie der letzte Befehl, legt aber darüber hinaus die Verzeichnisse
\libund\includeim Zielverzeichnis an und kopiert Header- und Importdateien.gmake -f nwgnumakefile cleanBereinigt die
\releaseoder\debugEinrichtungsbereiche von allen Objekt- und ausführbaren Dateien, wennDEBUGdefiniert wurde.gmake -f nwgnumakefile clobber_allBewirkt das Gleiche wie der letzte Befehl und löscht zusätzlich das Distributionsverzeichnis, falls eines vorhanden ist.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
