Serveur Apache HTTP 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.
Apache 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 nwgnumakefile
Compile les versions
de distribution de tous les binaires et les copie dans un
r�pertoire \release
.
gmake -f nwgnumakefile DEBUG=1
Compile les versions
de d�bogage de tous les binaires et les copie dans un
r�pertoire \debug
.
gmake -f nwgnumakefile install
Cr�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 prebuild
Compile tous
les utilitaires pr�compil�s et les copie dans le r�pertoire
\nwprebuild
.
gmake -f nwgnumakefile installdev
M�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 clean
Supprime 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_all
M�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