Utilisation d'Apache avec Novell NetWare
Ce document explique comment installer, configurer et exécuter Apache 2.0 sous Novell NetWare 6.0 et supérieur. Si vous trouvez des bugs ou souhaitez contribuer d'une autre manière, veuillez utiliser notre bug reporting page.
La page de rapport de bugs et la liste de diffusion dev-httpd ne sont pas fournies pour répondre aux questions sur la configuration ou l'exécution d'Apache. Avant de soumettre un rapport de bug ou une demande, consultez d'abord ce document, la page Frequently Asked Questions et les autres sujets de documentation pertinents. Si vous avez encore une question ou un problème, postez-le sur le groupe de discussion novell.devsup.webserver , où de nombreux utilisateurs d'Apache sont plus que disposés à répondre à des questions nouvelles et obscures sur l'utilisation d'Apache sur NetWare.
La majeure partie de ce document suppose que vous installez Apache à partir d'une distribution binaire. Si vous souhaitez compiler Apache vous-même (éventuellement pour aider au développement ou pour détecter des bugs), consultez la section sur Compiling Apache for NetWare ci-dessous.
Requirements
Apache 2.0 est conçu pour fonctionner sur NetWare 6.0 service pack 3 et supérieur. Si vous exécutez un service pack inférieur à SP3, vous devez installer la dernière version de NetWare Libraries for C (LibC) .
Les service packs NetWare sont disponibles here .
Apache 2.0 pour NetWare peut également être exécuté dans un environnement NetWare 5.1 à condition que le dernier service pack ou la dernière version du NetWare Libraries for C (LibC) ait été installé. AVERTISSEMENT : Apache 2.0 pour NetWare n'a pas été ciblé ni testé dans cet environnement.
Téléchargement d'Apache pour NetWare
Des informations sur la dernière version d'Apache sont disponibles sur le serveur Web Apache à l'adresse http://www.apache.org/ . Cela répertoriera la version actuelle, toutes les versions alpha ou bêta-test plus récentes, ainsi que les détails des sites Web miroir et FTP anonymes. Les versions binaires des dernières versions d'Apache 2.0 pour NetWare peuvent être téléchargées à partir du here .
Installation d'Apache pour NetWare
Il n'existe actuellement aucun programme d'installation Apache pour NetWare. Si vous construisez Apache 2.0 pour NetWare à partir des sources, vous devrez copier les fichiers manuellement sur le serveur.
Suivez ces étapes pour installer Apache sur NetWare à partir du téléchargement binaire (en supposant que vous installerez sur
sys:/apache2 ) :
- Décompressez le fichier de téléchargement binaire à la racine du volume
SYS:(peut être installé sur n'importe quel volume)
- Modifiez les paramètres du fichier
httpd.conf,
ServerRootet
ServerName, ainsi que toutes les valeurs de chemin de fichier pour refléter les paramètres corrects de votre serveur.
- Ajoutez
SYS:/APACHE2au chemin de recherche, par exemple :
SEARCH ADD SYS:\APACHE2
Suivez ces étapes pour installer Apache sur NetWare manuellement à partir de votre propre source de build (en supposant que vous installerez sur
sys:/apache2 ) :
- Créez un répertoire appelé
Apache2sur un volume NetWare
- Copier
APACHE2.NLM,
APRLIB.NLMvers
SYS:/APACHE2
- Créez un répertoire sous
SYS:/APACHE2appelé
BIN
- Copier
HTDIGEST.NLM,
HTPASSWD.NLM,
HTDBM.NLM,
LOGRES.NLM,
ROTLOGS.NLMvers
SYS:/APACHE2/BIN
- Créez un répertoire sous
SYS:/APACHE2appelé
CONF
- Copiez le fichier
HTTPD-STD.CONFdans le répertoire
SYS:/APACHE2/CONFet renommez-le en
HTTPD.CONF
- Copiez les fichiers
MIME.TYPES,
CHARSET.CONVet
MAGICdans le répertoire
SYS:/APACHE2/CONF
- Copiez tous les fichiers et sous-répertoires du
\HTTPD-2.0\DOCS\ICONSvers le
SYS:/APACHE2/ICONS
- Copiez tous les fichiers et sous-répertoires du
\HTTPD-2.0\DOCS\MANUALvers le
SYS:/APACHE2/MANUAL
- Copiez tous les fichiers et sous-répertoires du
\HTTPD-2.0\DOCS\ERRORvers le
SYS:/APACHE2/ERROR
- Copiez tous les fichiers et sous-répertoires du
\HTTPD-2.0\DOCS\DOCROOTvers le
SYS:/APACHE2/HTDOCS
- Créez le répertoire
SYS:/APACHE2/LOGSsur le serveur
- Créez le répertoire
SYS:/APACHE2/CGI-BINsur le serveur
- Créez le répertoire
SYS:/APACHE2/MODULESet copiez tous les modules nlm dans le répertoire
modules
- Modifiez le fichier
HTTPD.CONFen recherchant tous les marqueurs
@@Value@@et en les remplaçant par le paramètre approprié
- Ajoutez
SYS:/APACHE2au chemin de recherche, par exemple :
SEARCH ADD SYS:\APACHE2
Apache peut être installé sur d'autres volumes que le volume
SYS par défaut.
Pendant le processus de construction, l'ajout du mot-clé "install" à la ligne de commande makefile produira automatiquement un package de distribution complet sous le sous-répertoire
DIST . Installez Apache en copiant simplement la distribution produite par les makfiles à la racine d'un volume NetWare (voir : Compiling Apache for NetWare ci-dessous).
Exécution d'Apache pour NetWare
Pour démarrer Apache, tapez simplement
apache sur la console. Cela chargera Apache dans l'espace d'adressage du système d'exploitation. Si vous préférez charger Apache dans un espace d'adressage protected , vous pouvez spécifier l'espace d'adressage avec l'instruction de chargement comme suit :
load address space = apache2 apache2
Cela chargera Apache dans un espace d'adressage appelé apache2. L'exécution simultanée de plusieurs instances d'Apache sur NetWare est possible en chargeant chaque instance dans son propre espace d'adressage protected .
Après avoir démarré Apache, il écoutera le port 80 (sauf si vous avez modifié la directive
Listen dans les fichiers de configuration). Pour vous connecter au serveur et accéder à la page par défaut, lancez un navigateur et saisissez le nom ou l'adresse du serveur. Cela devrait répondre avec une page de bienvenue et un lien vers le manuel Apache. Si rien ne se passe ou si vous obtenez une erreur, recherchez le fichier
error_log dans le répertoire
logs .
Une fois votre installation de base fonctionnelle, vous devez la configurer correctement en éditant les fichiers dans le répertoire
conf .
Pour décharger Apache exécuté dans l'espace d'adressage du système d'exploitation, tapez simplement ce qui suit sur la console :
unload apache2
or
apache2 shutdown
Si Apache s'exécute dans un espace d'adressage protected , spécifiez l'espace d'adressage dans l'instruction unload :
unload address space = apache2 apache2
Lorsque vous travaillez avec Apache, il est important de savoir comment il trouvera les fichiers de configuration. Vous pouvez spécifier un fichier de configuration sur la ligne de commande de deux manières :
-
-fspécifie un chemin vers un fichier de configuration particulier
apache2 -f "vol:/my server/conf/my.conf"
apache -f test/test.conf
Dans ces cas, le
ServerRoot approprié doit être défini dans le fichier de configuration.
Si vous ne spécifiez pas de nom de fichier de configuration avec
-f , Apache utilisera le nom de fichier compilé sur le serveur, généralement
conf/httpd.conf . L'appel d'Apache avec le commutateur
-V affichera cette valeur intitulée
SERVER_CONFIG_FILE . Apache déterminera ensuite son
ServerRoot en essayant ce qui suit, dans cet ordre :
- Une directive
ServerRootvia un switch
-C.
- Le commutateur
-dsur la ligne de commande.
- Répertoire de travail actuel
- La racine du serveur compilée dans le serveur.
La racine du serveur compilée dans le serveur est généralement
sys:/apache2 . l'appel d'Apache avec le commutateur
-V affichera cette valeur intitulée
HTTPD_ROOT .
Apache 2.0 pour NetWare inclut un ensemble de directives de ligne de commande qui peuvent être utilisées pour modifier ou afficher des informations sur l'instance en cours d'exécution du serveur Web. Ces directives ne sont disponibles que lorsque Apache est en cours d'exécution. Chacune de ces directives doit être précédée du mot clé
APACHE2 .
- RESTART
- Demande à Apache de mettre fin à tous les threads de travail en cours d'exécution lorsqu'ils deviennent inactifs, de relire le fichier de configuration et de redémarrer chaque thread de travail en fonction de la nouvelle configuration.
- VERSION
- Affiche les informations de version sur l'instance d'Apache en cours d'exécution.
- MODULES
- Affiche une liste des modules chargés, intégrés et externes.
- DIRECTIVES
- Affiche une liste de toutes les directives disponibles.
- SETTINGS
- Active ou désactive l'affichage de l'état du thread sur la console. Lorsqu'il est activé, l'état de chaque thread en cours d'exécution est affiché sur l'écran de la console Apache.
- SHUTDOWN
- Termine l'instance en cours d'exécution du serveur Web Apache.
- HELP
- Décrit chacune des directives d'exécution.
Par défaut, ces directives sont émises sur l'instance d'Apache exécutée dans l'espace d'adressage du système d'exploitation. Pour émettre une directive sur une instance spécifique exécutée dans un espace d'adressage protected , incluez le paramètre -p ainsi que le nom de l'espace d'adressage. Pour plus d'informations, tapez "apache2 Help" sur la ligne de commande.
Configuration d'Apache pour NetWare
Apache se configure en lisant les fichiers de configuration généralement stockés dans le répertoire
conf . Ce sont les mêmes fichiers que ceux utilisés pour configurer la version Unix, mais il existe quelques directives différentes pour Apache sur NetWare. Consultez le Apache module documentation pour toutes les directives disponibles.
Les principales différences entre Apache pour NetWare sont :
-
Apache pour NetWare étant multithread, il n'utilise pas de processus distinct pour chaque requête, comme le fait Apache sur certaines implémentations Unix. Au lieu de cela, seuls les threads sont en cours d'exécution : un thread parent et plusieurs threads enfants ou de travail qui gèrent les requêtes.
Les directives de gestion "process" sont donc différentes :
MaxConnectionsPerChild- Comme la directive Unix, cela contrôle le nombre de connexions qu'un thread de travail servira avant de quitter. La valeur par défaut recommandée,
MaxConnectionsPerChild 0, oblige le thread à continuer de traiter la demande indéfiniment. Il est recommandé sous NetWare, sauf raison spécifique, que cette directive reste toujours définie sur
0.
StartThreads- Cette directive indique au serveur combien de threads il doit démarrer initialement. La valeur par défaut recommandée est
StartThreads 50.
MinSpareThreads- Cette directive demande au serveur de générer des threads de travail supplémentaires si le nombre de threads inactifs tombe en dessous de cette valeur. La valeur par défaut recommandée est
MinSpareThreads 10.
MaxSpareThreads- Cette directive demande au serveur de commencer à terminer les threads de travail si le nombre de threads inactifs dépasse cette valeur. La valeur par défaut recommandée est
MaxSpareThreads 100.
MaxThreads- Cette directive limite le nombre total de threads de travail à une valeur maximale. La valeur par défaut recommandée est
ThreadsPerChild 250.
ThreadStackSize- Cette directive indique au serveur quelle taille de pile utiliser pour chaque thread de travail. La valeur par défaut recommandée est
ThreadStackSize 65536.
-
Les directives qui acceptent les noms de fichiers comme arguments doivent utiliser des noms de fichiers NetWare au lieu de noms Unix. Cependant, comme Apache utilise des noms de style Unix en interne, des barres obliques doivent être utilisées plutôt que des barres obliques inverses. Il est recommandé que tous les chemins de fichiers rootés commencent par un nom de volume. En cas d'omission, Apache assumera le volume
SYS:, ce qui peut ne pas être correct.
-
Apache pour NetWare a la capacité de charger des modules au moment de l'exécution, sans recompiler le serveur. Si Apache est compilé normalement, il installera un certain nombre de modules optionnels dans le répertoire
\Apache2\modules. Pour activer ces modules, ou d'autres, la directive
LoadModuledoit être utilisée. Par exemple, pour activer le module d'état, utilisez ce qui suit :
LoadModule status_module modules/status.nlm
Des informations sur le creating loadable modules sont également disponibles.
-
CGIMapExtension- Cette directive mappe une extension de fichier CGI à un interpréteur de script.
-
SecureListen- Active le cryptage SSL pour un port spécifié.
-
NWSSLTrustedCerts- Ajoute des certificats de confiance utilisés pour créer des connexions sécurisées aux serveurs proxy.
-
NWSSLUpgradeable- Autoriser la mise à niveau d'une connexion créée sur l'adresse/le port spécifié vers une connexion SSL.
Compilation d'Apache pour NetWare
La compilation d'Apache nécessite MetroWerks CodeWarrior 6.x ou version ultérieure. Une fois Apache construit, il peut être installé à la racine de n'importe quel volume NetWare. La valeur par défaut est le répertoire
sys:/Apache2 .
Avant d'exécuter le serveur vous devez remplir le répertoire
conf . Copiez le fichier
HTTPD-STD.CONF du répertoire de distribution
conf et renommez-le en
HTTPD.CONF . Modifiez le fichier
HTTPD.CONF en recherchant tous les marqueurs
@@Value@@ et en les remplaçant par le paramètre approprié. Copiez également les fichiers
conf/magic et
conf/mime.types . Alternativement, une distribution complète peut être construite en incluant le mot-clé
install lors de l'appel des makefiles.
Les outils de développement suivants sont requis pour créer Apache 2.0 pour NetWare :
- Metrowerks CodeWarrior 6.0 ou supérieur avec le NetWare PDK 3.0 ou supérieur.
- NetWare Libraries pour C (LibC)
- LDAP Libraries pour C
- Code source de compression ZLIB Library
- Utilitaire AWK (awk, gawk ou similaire). AWK peut être téléchargé à partir de http://developer.novell.com/ndk/apache.htm . L'utilitaire doit être trouvé dans votre chemin Windows et doit être nommé
awk.exe.
- Pour construire à l'aide des makefiles, vous aurez besoin de GNU make version 3.78.1 (GMake) disponible sur http://developer.novell.com/ndk/apache.htm .
- Définissez la variable d'environnement
NOVELLLIBCsur l'emplacement du SDK NetWare Libraries pour C, par exemple :
Set NOVELLLIBC=c:\novell\ndk\libc
- Définissez la variable d'environnement
METROWERKSsur l'emplacement où vous avez installé le compilateur Metrowerks CodeWarrior, par exemple :Si vous avez installé l'emplacement par défaut
Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior
C:\Program Files\Metrowerks\CodeWarrior, vous n'avez pas besoin de définir cela.
- Définissez la variable d'environnement
LDAPSDKsur l'emplacement où vous avez installé le LDAP Libraries pour C, par exemple :
Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc
- Définissez la variable d'environnement
ZLIBSDKsur l'emplacement où vous avez installé le code source de la bibliothèque ZLib, par exemple :
Set ZLIBSDK=D:\NOVELL\zlib
- Définissez la variable d'environnement
PCRESDKsur l'emplacement où vous avez installé le code source de la bibliothèque PCRE, par exemple :
Set PCRESDK=D:\NOVELL\pcre
- Définissez la variable d'environnement
AP_WORKsur le chemin complet du répertoire de code source
httpd.
Set AP_WORK=D:\httpd-2.0.x
- Définissez la variable d'environnement
APR_WORKsur le chemin complet du répertoire de code source
apr. Généralement
\httpd\srclib\apr, mais le projet APR peut se trouver en dehors de la structure de répertoires httpd.
Set APR_WORK=D:\apr-1.x.x
- Définissez la variable d'environnement
APU_WORKsur le chemin complet du répertoire de code source
apr-util. Généralement
\httpd\srclib\apr-utilmais le projet APR-UTIL peut être en dehors de la structure de répertoires httpd.
Set APU_WORK=D:\apr-util-1.x.x
- Assurez-vous que le chemin d'accès à l'utilitaire AWK et à l'utilitaire GNU make (
gmake.exe) a été inclus dans la variable d'environnement
PATHdu système.
- Téléchargez le code source et décompressez-le dans un répertoire approprié sur votre poste de travail.
- Accédez au répertoire
\httpd-2.0et créez les utilitaires de pré-construction en exécutant "
gmake -f nwgnumakefile prebuild" . Cette cible créera le répertoire
\httpd-2.0\nwprebuildet copiera à cet emplacement chacun des utilitaires nécessaires pour effectuer les étapes de construction suivantes.
- Copiez les fichiers
\httpd-2.0\nwprebuild\GENCHARS.nlmet
\httpd-2.0\nwprebuild\DFTABLES.nlmsur le volume
SYS:d'un serveur NetWare et exécutez-les à l'aide des commandes suivantes :
SYS:\genchars > sys:\test_char.h SYS:\dftables sys:\chartables.c
- Copiez les fichiers
test_char.het
chartables.cdans le répertoire
\httpd-2.0\os\netwaresur la machine de build.
- Changez le répertoire en
\httpd-2.0et construisez Apache en exécutant "
gmake -f nwgnumakefile" . Vous pouvez créer un répertoire de distribution en ajoutant un paramètre d'installation à la commande, par exemple :
gmake -f nwgnumakefile install
-
gmake -f nwgnumakefile
Construit les versions finales de tous les binaires et les copie dans un répertoire de destination
\release.
-
gmake -f nwgnumakefile DEBUG=1
Construit des versions de débogage de tous les binaires et les copie dans un répertoire de destination
\debug.
-
gmake -f nwgnumakefile install
Crée une distribution Apache complète avec des binaires, des documents et des fichiers de support supplémentaires dans un répertoire
\dist\Apache2.
-
gmake -f nwgnumakefile prebuild
Construit tous les utilitaires de pré-construction et les copie dans le répertoire
\nwprebuild.
-
gmake -f nwgnumakefile installdev
Identique à l'installation mais crée également un répertoire
\libet
\includedans le répertoire de destination et copie les en-têtes et les fichiers d'importation.
-
gmake -f nwgnumakefile clean
Nettoie tous les fichiers objets et binaires des zones de construction
\release.oou
\debug.oselon que
DEBUGa été défini ou non.
-
gmake -f nwgnumakefile clobber_all
Identique à clean et supprime également le répertoire de distribution s'il existe.
- Pour construire tous les modules expérimentaux, définissez la variable d'environnement
EXPERIMENTAL:
Set EXPERIMENTAL=1
- Pour construire Apache en utilisant des sockets de style BSD standard plutôt que Winsock, définissez la variable d'environnement
USE_STDSOCKETS:
Set USE_STDSOCKETS=1
Par défaut, Apache pour NetWare utilise le module intégré
mod_nw_ssl pour fournir des services SSL. Ce module permet simplement aux services SSL natifs implémentés dans NetWare OS de gérer tout le cryptage pour un port donné. Alternativement, mod_ssl peut également être utilisé de la même manière que sur d'autres plateformes.
Avant que mod_ssl puisse être construit pour la plate-forme NetWare, OpenSSL libraries doit être fourni. Cela peut être fait en suivant les étapes suivantes :
- Téléchargez le code source de la version récente d'OpenSSL 0.9.8 à partir de la page OpenSSL Source (les anciennes versions 0.9.7 doivent être corrigées et ne sont donc pas recommandées).
- Editez le fichier
NetWare/set_env.batet modifiez les chemins d'accès aux outils et utilitaires afin qu'ils correspondent à votre environnement de build.
- Depuis la racine du répertoire source OpenSSL, exécutez les scripts suivants :Pour des raisons de performances, vous devez activer la construction avec du code ASM. Téléchargez NASM à partir du SF site . Configurez ensuite OpenSSL pour utiliser le code ASM :
Netware\set_env netware-libc Netware\build netware-libcAttention : n'utilisez pas CodeWarrior Assembler - il produit du code cassé !
Netware\build netware-libc nw-nasm enable-mdc2 enable-md5
- Avant de construire Apache, définissez la variable d'environnement
OSSLSDKsur le chemin complet de la racine du répertoire de code source openssl et définissez WITH_MOD_SSL sur 1.
Set OSSLSDK=d:\openssl-0.9.8x Set WITH_MOD_SSL=1
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/platform/netware.html