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)httpd.conf
et définissez les
directives SYS:/APACHE2
au chemin de recherche, par
une commande du style : 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 : 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
:
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 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 :
ou
Si Apache s'exécute dans un espace d'adressage protégé, spécifiez cet espace d'adressage dans l'instruction d'arrêt :
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 particulierDans ces cas, la directive
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/httpd.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
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 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 50
.
MinSpareThreads 10
.
MaxSpareThreads 100
.
ThreadsPerChild 250
.
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
Des informations à propos de la création de modules chargeables sont aussi disponibles.
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 : METROWERKS
avec le chemin de votre compilateur
Metrowerks CodeWarrior ; par exemple : 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 :
ZLIBSDK
avec le chemin du code source de la bibliothèque Zlib ; par
exemple : PCRESDK
avec le chemin d'installation du code source de la bibliothèque
PCRE ; par exemple :
AP_WORK
avec le chemin du code source de httpd
.
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.
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. 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 :
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
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
:
USE_STDSOCKETS
:
Pour fournir les services SSL, Apache pour Netware utilise par
défaut le module intégré
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.OSSLSDK
avec le chemin absolu de
la racine du répertoire du code source d'openssl, et
définissez WITH_MOD_SSL à 1.