Serveur HTTP Apache Version 2.4

Ce document explique l'installation, la configuration et le lancement d'Apache 2.0 sous Novell NetWare 6.0 et les versions ultérieures. Si vous trouvez une bogue, ou voulez tout simplement contribuer de quelque manière que ce soit, utilisez s'il vous plait notre page des rapports de bogues.
La page des rapports de bogues et la liste de diffusion dev-httpd ne doivent pas être utilisées pour poser des questions à propos de la configuration ou du lancement d'Apache. Avant de soumettre un rapport de bogue ou une question, consultez ce document, la FAQ ou tout autre sujet de la documentation en rapport avec votre problème. Si vous n'avez toujours pas résolu votre problème, postez votre question dans le newsgroup novell.devsup.webserver, où de nombreux utilisateurs d'Apache sont prêts à répondre à toutes les nouvelles et obscures questions à propos de l'utilisation d'Apache sous Netware.
Dans la majeure partie de ce document, vous êtes sensé avoir installé Apache à partir d'une distribution binaire. Si vous voulez compiler Apache vous-même (par exemple pour aider au développement, ou pour rechercher des bogues), reportez-vous à la section traitant de la Compilation d'Apache pour Netware ci-dessous.

 Prérequis
 Prérequis Téléchargement d'Apache pour NetWare
 Téléchargement d'Apache pour NetWare Installation d'Apache pour NetWare
 Installation d'Apache pour NetWare Exécuter Apache pour NetWare
 Exécuter Apache pour NetWare Configuration d'Apache pour NetWare
 Configuration d'Apache pour NetWare Compilation d'Apache pour NetWare
 Compilation d'Apache pour NetWareApache 2.0 nécessite NetWare 6.0 service pack 3 et supérieurs pour fonctionner. Si vous utilisez un service pack antérieur à SP3, vous devez installer les dernières Bibliothèques Netware pour C (LibC).
Vous trouverez les service packs Netware ici.
Apache 2.0 pour NetWare peut aussi fonctionner dans un environnement NetWare 5.1, à partir du moment où le dernier service pack ou la dernière version des Bibliothèques Netware pour C (LibC) ont été installés. ATTENTION : Apache 2.0 pour NetWare n'a pas été testé dans cet environnement car il n'a pas été conçu pour ce dernier.
Les informations à propos de la dernière version d'Apache sont disponibles sur le site web d'Apache à http://www.apache.org/. Vous y trouverez la version courante, des versions alpha ou bêta-test plus récentes, ainsi que des sites miroirs et des sites FTP anonymes. Les distributions binaires des dernières versions d'Apache 2.0 pour NetWare sont disponibles ici.
Il n'existe pas actuellement de programme d'installation d'Apache pour Netware. Si vous installez Apache 2.0 pour NetWare à partir des sources, vous devrez copier les fichiers sur le serveur manuellement.
Suivez ces instructions pour installer Apache sous Netware à
    partir de la distribution binaire (en supposant que vous effectuez
    l'installation dans sys:/apache2) :
SYS: (vous pouvez cependant l'installer dans
      tout volume)apache2.conf et définissez les
      directives ServerRoot et
      ServerName avec les valeurs
      correctes des chemins de fichiers qui correspondent à la
      configuration de votre serveur.SYS:/APACHE2 au chemin de recherche, par
      une commande du style : SEARCH ADD
      SYS:\APACHE2
Suivez ces instructions pour installer Apache pour Netware
    manuellement à partir de votre propre répertoire de sources (en
    supposant que vous effectuez l'installation dans
    sys:/apache2) :
Apache2
      dans un volume Netware.APACHE2.NLM, APRLIB.NLM dans
      SYS:/APACHE2.BIN dans
      SYS:/APACHE2.HTDIGEST.NLM, HTPASSWD.NLM,
      HTDBM.NLM, LOGRES.NLM,
      ROTLOGS.NLM dans SYS:/APACHE2/BIN.CONF dans
      SYS:/APACHE2.HTTPD-STD.CONF dans le
      répertoire SYS:/APACHE2/CONF et renommez-le en
      HTTPD.CONF.MIME.TYPES,
      CHARSET.CONV et MAGIC dans le répertoire
      SYS:/APACHE2/CONF.\HTTPD-2.0\DOCS\ICONS dans
      SYS:/APACHE2/ICONS.\HTTPD-2.0\DOCS\MANUAL dans
      SYS:/APACHE2/MANUAL.\HTTPD-2.0\DOCS\ERROR dans
      SYS:/APACHE2/ERROR.\HTTPD-2.0\DOCS\DOCROOT dans
      SYS:/APACHE2/HTDOCS.SYS:/APACHE2/LOGS sur le
      serveur.SYS:/APACHE2/CGI-BIN sur le
      serveur.SYS:/APACHE2/MODULES et
      copiez tous les modules nlm dans le répertoire
      modules.HTTPD.CONF, et recherchez
      toutes les marques @@Value@@ afin de les remplacer
      par les valeurs appropriées.SYS:/APACHE2 au chemin de recherche, par
      une commande du style : SEARCH ADD
      SYS:\APACHE2
Outre le volume par défaut SYS, Apache peut être
    installé dans tout autre volume.
Au cours du processus d'installation, l'ajout du mot-clé
    "install" à la ligne de commande du makefile va provoquer la
    construction d'une distribution complète sous forme d'un paquetage
    dans le sous-répertoire DIST. Vous pouvez simplement
    installer Apache en copiant la distribution créée précédemment à la
    racine d'un volume Netware (voir Compilation
    d'Apache pour NetWare ci-dessous).
Pour démarrer Apache, tapez simplement apache dans
    la console. Ceci aura pour effet de charger Apache dans l'espace
    d'adressage du système d'exploitation. Si vous préférez charger
    Apache dans un espace d'adressage protégé, vous pouvez spécifier cet
    espace d'adressage à l'aide de l'instruction de chargement suivante
    :
      load address space = apache2 apache2
    
Cette instruction va charger Apache dans un espace d'adressage appelé apache2. Il est possible d'exécuter plusieurs instances simultanées d'Apache sous Netware, en chargeant chacune d'entre elles dans son propre espace d'adressage protégé.
Une fois démarré, Apache écoute le port 80 (à moins que vous
    n'ayez modifié la directive Listen dans les fichiers de
    configuration). Pour vous connecter au serveur et afficher la page
    par défaut, lancez un navigateur et entrez le nom du serveur ou son
    adresse IP. Vous devriez voir une page de bienvenue, et un lien vers
    le manuel Apache. Si rien ne se produit, ou si vous obtenez un
    message d'erreur, consultez le fichier error_log dans
    le répertoire logs.
Lorsque votre installation de base fonctionne, vous devez la
    configurer correctement en éditant les fichiers du répertoire
    conf.
Pour arrêter une instance d'Apache s'exécutant dans l'espace d'adressage du système d'exploitation, entrez simplement dans la console :
      unload apache2
    
ou
      apache2 shutdown
    
Si Apache s'exécute dans un espace d'adressage protégé, spécifiez cet espace d'adressage dans l'instruction d'arrêt :
      unload address space = apache2 apache2
    
Lorsqu'on travaille avec Apache, il est important de savoir comment il trouve ses fichiers de configuration. Vous pouvez spécifier un fichier de configuration sur la ligne de commande de deux manières :
-f spécifie un chemin vers un fichier de
      configuration particulier
      apache2 -f "vol:/nom-serveur/conf/fich-conf.conf"
    
      apache -f test/test.conf
    
Dans ces cas, la directive ServerRoot doit être correctement définie
    dans le fichier de configuration.
Si vous ne spécifiez pas de nom de fichier de configuration avec
    l'option -f, Apache utilisera le nom de fichier codé en
    dur dans le serveur, en général conf/apache2.conf.
    L'invocation d'Apache avec l'option -V indiquera ce nom
    comme valeur de l'étiquette SERVER_CONFIG_FILE. Apache
    va ensuite déterminer son ServerRoot en effectuant les tests
    suivants, dans cet ordre 
ServerRoot via une option
      -C switch.-d.La racine du répertoire d'installation codée en dur dans le
      serveur est en général sys:/apache2. L'invocation
      d'Apache avec l'option -V indiquera ce chemin comme
      valeur de l'étiquette HTTPD_ROOT.
Apache 2.0 pour Netware comporte un jeu d'options de ligne de
    commande permettant d'afficher ou de modifier certaines
    caractéristiques de l'instance du serveur web en cours d'exécution.
    Ces options ne sont disponibles que lorsqu'Apache est en cours
    d'exécution. Chacune de ces options doit être précédée du mot-clé
    APACHE2.
Par défaut, ces options sont passées à l'instance d'apache s'exécutant dans l'espace d'adressage du système d'exploitation. Pour passer une option à une instance d'Apache spécifique s'exécutant dans un espace d'adressage protégé, ajouter le paramètre -p suivi du nom de l'espace d'adressage. Pour plus d'informations, tapez "apache2 Help" sur la ligne de commande.
Apache lit en général ses fichiers de configuration dans le
    répertoire conf. Ces fichiers sont les mêmes que ceux
    de la version Unix, mais quelques directives sont différentes sous
    Netware. Voir la Documentation Apache pour
    l'ensemble des directives disponibles.
Les principales différences propres à Apache pour NetWare sont :
Comme Apache pour Netware est une application multithread, elle n'utilise pas de processus séparé pour chaque requête, comme c'est le cas pour certaines implémentations sous Unix. Il n'y a que des threads en cours d'exécution : un thread parent, et plusieurs threads enfants ou worker qui traitent les requêtes.
En conséquence, les directives de gestion des "processus" sont différentes :
MaxConnectionsPerChild - comme sous
	Unix, cette directive contrôle le nombre maximum de connexions
	qu'un worker thread peut traiter avant de s'arrêter. Avec la
	valeur par défaut MaxConnectionsPerChild 0,
	le thread va pouvoir traiter un nombre illimité de requêtes.
	Cette valeur est recommandée sous Netware, à moins que vous
	n'ayez des raisons particulières de la modifier.
StartThreads -
	Cette directive indique au serveur le nombre de threads qu'il
	doit lancer au démarrage. Il est recommandé de conserver la
	valeur par défaut StartThreads 50.
MinSpareThreads -
	Cette directive indique au serveur le nombre de worker threads
	additionnels qu'il doit lancer si le nombre de threads inactifs
	tombe en dessous de cette valeur. Il est recommandé de conserver la
	valeur par défaut MinSpareThreads 10.
MaxSpareThreads -
	Cette directive indique au serveur qu'il doit commencer à
	arrêter des worker threads si le nombre de threads inactifs
	passe au dessus de cette valeur. Il est recommandé de conserver
	la valeur par défaut MaxSpareThreads 100.
MaxThreads -
	Cette directive impose un nombre maximum de worker threads. Il
	est recommandé de conserver la valeur par défaut
	ThreadsPerChild 250.
ThreadStackSize -
	Cette directive indique au serveur la taille de la pile à
	utiliser pour un worker thread individuel. Il est recommandé de
	conserver la valeur par défaut ThreadStackSize
	65536.
Les directives qui acceptent des noms de fichiers comme
	arguments ne doivent pas utiliser des noms de fichiers Unix,
	mais des noms de fichiers Netware. Cependant, comme Apache
	utilise des noms de style Unix en interne, on doit utiliser des
	slashes et non des antislashes. Il est recommandé de préfixer
	tous les chemins de fichiers racines par un nom de volume. Si ce
	dernier est omis, Apache supposera que le volume est
	SYS:, ce qui n'est pas forcément correct.
Apache pour Netware a la possibilité de charger des modules
	en cours d'exécution, sans avoir à recompiler le serveur. Si
	Apache est compilé avec les options par défaut, il va installer
	de nombreux modules optionnels dans le répertoire
	\Apache2\modules. Pour les activer, ou en activer
	d'autres, on doit utiliser la directive LoadModule. Par exemple, pour
	activer le module status, ajoutez la ligne suivante :
          LoadModule status_module modules/status.nlm
        
Des informations à propos de la création de modules chargeables sont aussi disponibles.
CGIMapExtension -
        Cette directive associe une extension de fichier CGI à un
	interpréteur de script.SecureListen -
        Cette directive active le chiffrement SSL pour un port
	spécifique.NWSSLTrustedCerts -
        Cette directive permet d'ajouter des certificats de confiance
	pouvant être utilisés pour créer des connexions sécurisées vers
	des serveurs mandataires.NWSSLUpgradeable -
        Cette directive permet de faire passer en SSL une connexion
	initialisée sur les adresse IP et Port spécifiés.La compilation d'Apache nécessite MetroWerks CodeWarrior 6.x ou
    supérieur. Une fois compilé, Apache peut être installé à la racine
    de tout volume Netware. Le répertoire d'installation par défaut est
    sys:/Apache2.
Avant de démarrer Apache, vous devez remplir le répertoire
    conf. Copiez le fichier HTTPD-STD.CONF
    depuis le répertoire conf de la distribution et
    renommez-le en HTTPD.CONF. Editez le fichier
    HTTPD.CONF en recherchant les repères
    @@Value@@, et remplacez ces derniers par la valeur
    appropriée. Copiez de même les fichiers conf/magic et
    conf/mime.types. Vous pouvez aussi construire une
    distribution complète en ajoutant le mot-clé install
    lors de l'invocation des makefiles.
Les outils de développement suivants sont nécessaires pour la compilation d'Apache pour Netware :
awk.exe.NOVELLLIBC avec le chemin des bibliothèques Netware
	pour C SDK ; par exemple : Set
	NOVELLLIBC=c:\novell\ndk\libc
METROWERKS avec le chemin de votre compilateur
	Metrowerks CodeWarrior ; par exemple : Set
	METROWERKS=C:\Program Files\Metrowerks\CodeWarrior
C:\Program Files\Metrowerks\CodeWarrior, vous
	n'avez pas besoin de définir cette variable.LDAPSDK
	avec le chemin des bibliothèques LDAP pour C ; par exemple :
	Set
	LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc
ZLIBSDK
	avec le chemin du code source de la bibliothèque Zlib ; par
	exemple : Set ZLIBSDK=D:\NOVELL\zlib
PCRESDK
	avec le chemin d'installation du code source de la bibliothèque
	PCRE ; par exemple :
	Set PCRESDK=D:\NOVELL\pcre
AP_WORK
	avec le chemin du code source de httpd.
	Set AP_WORK=D:\httpd-2.0.x
APR_WORK
	avec le chemin du code source d'apr ; en général
	\httpd\srclib\apr, mais le projet APR peut se
	trouver en dehors de la structure des répertoires de httpd.
	Set APR_WORK=D:\apr-1.x.x
APU_WORK
	avec le chemin du code source d'apr-util ; en
	général \httpd\srclib\apr-util, mais le projet
	APR-UTIL peut se trouver en dehors de la structure des
	répertoires de httpd. Set
	APU_WORK=D:\apr-util-1.x.x
gmake.exe) ont bien été inclus dans la variable
	d'environnement système PATH.\httpd-2.0
	et compilez les utilitaires précompilés à l'aide de la commande
	"gmake -f nwgnumakefile prebuild". Cette cible va
	créer le répertoire \httpd-2.0\nwprebuild, et y
	copier tous les utilitaires nécessaires au franchissement des
	étapes suivantes de la compilation.\httpd-2.0\nwprebuild\GENCHARS.nlm et
	\httpd-2.0\nwprebuild\DFTABLES.nlm vers 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
          
test_char.h et
	chartables.c vers le répertoire
	\httpd-2.0\os\netware de la machine où s'effectue
	la compilation.\httpd-2.0
	et compilez Apache à l'aide de la commande "gmake -f
	nwgnumakefile". Vous pouvez créer un répertoire pour la
	distribution en ajoutant le paramètre install à la commande ;
	par exemple :
        gmake -f nwgnumakefile install
gmake -f nwgnumakefileCompile les versions
	de distribution de tous les binaires et les copie dans un
	répertoire \release.
gmake -f nwgnumakefile DEBUG=1Compile les versions
	de débogage de tous les binaires et les copie dans un
	répertoire \debug.
gmake -f nwgnumakefile installCrée une
	distribution complète d'Apache avec les binaires, la
	documentation et les fichiers support dans un répertoire
	\dist\Apache2.
gmake -f nwgnumakefile prebuildCompile tous
	les utilitaires précompilés et les copie dans le répertoire
	\nwprebuild.
gmake -f nwgnumakefile installdevMême effet
	que l'option install, mais en plus, les répertoires
	\lib et \include sont créés dans le
	répertoire de destination, et les en-têtes et fichiers d'import
	y sont copiés.
gmake -f nwgnumakefile cleanSupprime tous
	les fichiers objets et les binaires de la zone de compilation
	\release.o, ou \debug.o si
	DEBUG a été défini.
gmake -f nwgnumakefile clobber_allMême effet que clean, mais en plus, le répertoire de la distribution est supprimé s'il existe.
EXPERIMENTAL :
        Set EXPERIMENTAL=1
USE_STDSOCKETS :
        Set USE_STDSOCKETS=1
Pour fournir les services SSL, Apache pour Netware utilise par
      défaut le module intégré mod_nw_ssl. Ce module ne
      fournit que les services SSL implémentés par le système
      d'exploitation Netware lui-même pour gérer tous les chiffrements
      pour un port donné. Cependant, on peut aussi utiliser mod_ssl de
      la même manière que sur les autres plate-formes.
Afin de pouvoir compiler mod_ssl pour la plate-forme Netware, les bibliothèques OpenSSL doivent être disponibles. Elles peuvent être installées de la manière suivante :
NetWare/set_env.bat, et
	  effectuez toutes modifications nécessaires des chemins des
	  outils et utilitaires en fonction de votre environnement de
	  développement.
              Netware\set_env netware-libc
              Netware\build netware-libc
          
              Netware\build netware-libc nw-nasm enable-mdc2 enable-md5
          
OSSLSDK avec le chemin absolu de
	  la racine du répertoire du code source d'openssl, et
	  définissez WITH_MOD_SSL à 1.
          
              Set OSSLSDK=d:\openssl-0.9.8x
              Set WITH_MOD_SSL=1