4. Options de configuration
Les options de configuration sont définies dans un fichier de configuration. Par défaut il s'agit du
fichier Karrigell.ini dans le répertoire du serveur. On peut définir un autre fichier dans la ligne
de commande
Une variable base est initialisée par Karrigell avant le chargement du fichier
de configuration, sa valeur est le répertoire serveur. Voir un exemple de son utilisation par
%(base)s/ dans le fichier par défaut Karrigell.ini
Le fichier de configuration est divisé en plusieurs sections
[Directories]
root
Donnez à l'option root le nom du répertoire depuis lequel vous voulez servir des
fichiers. A l'installation, cette option n'est pas initialisée et le répertoire est celui du
serveur.
Dans le reste de cette documentation ce répertoire sera appelé le Répertoire
Racine
protected
une liste de répertoires "protégés" : pour chaque script dans ces
répertoires, un script AuthentScript.py sera automatiquement exécuté en premier. Ce script
AuthentScript.py doit être écrit par l'administrateur et placé dans le répertoire à
protéger. Par défaut, seul le répertoire admin est protégé.
Utilisez ";" pour en ajouter d'autres
allow_directory_listing
Si une url correspond à un répertoire dans lequel on ne trouve aucun fichier
index, cette option détermine qui a l'autorisation de lire le contenu du répertoire :
- all = tous les utilisateurs
- none = aucun utilisateur
La valeur par défaut est "none"
hide_extensions
Une liste d'extension de fichiers qui seront cachés (renverront une erreur 403)
hide_paths
Une liste d'expressions régulières qui seront appliquées à des chemins d'url ;
si une correspondance est trouvée le serveur renverra une erreur 403
Vous pouvez utiliser ceci pour interdire l'accès à un ensemble de
répertoires. Par exemple si vous avez un système de gestion de versions qui
crée des répertoires appelés cvs vous pouvez interdire d'y
accéder par cette ligne :
hide_paths = .*/cvs/.*
loggingFile
Le nom du fichier de logs. S'il n'est pas défini, aucune trace n'est conservée
loggingParameters
Paramètres des gestionnaires de trace ; voir la documentation du module logging
dans la documentation standard de Python
Les paramètres suivants s'appliquent à un RotatingFileHandler:
mode="a", maxBytes=1000000, backupCount=10
[Applications]
Fait correspondre à des extensions de fichiers des types MIME ; autant que je sache ceci
fonctionne avec Netscape, mais Internet Explorer écrase ces correspondances avec ses propres
paramètres
[Alias]
On peut associer un alias à un chemin dans le système de fichier.
Par exemple, si vous créez cet alias :
scripts=
alors l'url htpp://localhost/scripts/index.htm cherchera le fichier
[Server]
port
L'option port permet de changer le port HTTP (80 par défaut)
reload_modules
Si cette option est à 1, les modules importés sont rechargés à chaque
import . Ceci évite d'avoir à relancer le serveur à chaque fois
qu'une modification est apportée à un script importé
debug
debug indique si vous voulez que le bouton "Debug" apparaisse sur
les pages d'erreur. Vous pouvez être amenés à le mettre à 0 pour des raisons
de sécurité. Vaut 1 par défaut (le bouton est affiché)
silent
Si on donne la valeur 1 à l'option silent , rien n'est imprimé sur la
fenêtre de console
gzip
Si l'option gzip a la valeur 1, et que le client supporte l'encodage
gzip (c'est le cas de la plupart des navigateurs), le serveur comprime les données
envoyées au client. ceci réduit l'occupation du réseau, mais ralentit un peu le
serveur
global
Dans l'option global , vous pouvez spécifier le chemin des modules qui
doivent être importées dans chaque script exécuté par Karrigell. Si vous avez une ligne
comme
global=%(base)s/monScript.py;%(base)s/monScript1.py
alors les modules monScript et monScript1
seront disponibles dans l'espace de noms de tous les scripts
ignore
Une liste d'urls à ignorer si elles ne sont pas trouvées (renvoie le code HTTP 204
au lieu de 404). Sert par défaut à ignorer l'url /favicon.ico ,
recherchée par la plupart des navigateurs
[Translation]
Specifie la langue utilisée dans l'application, indépendamment des options définies dans
le navigateur. Faites lang=default si vous ne voulez pas de traduction,
lang=en si vous voulez une traduction en anglais, etc
[VirtualHost nom]
Karrigell prend en charge la notion d'hôte virtuel, qui permet de servir
plusieurs hôtes de noms différents sur le même serveur
Pour spécifier un hôte virtuel vous devez ajouter une ligne comme celle-ci
dans le fichier de configuration :
[VirtualHost nom]
où nom est le nom de l'hôte (comme www.test.org )
Dans cette section, vous devez spécifier un répertoire depuis lequel les
requêtes à cet hôte seront servies :
root = /web/monrep
(1) vous pouvez aussi vous servir d'un autre serveur web intégré,
basé sur les modules SocketServer , BaseHTTPServer et
SimpleHTTPServer de la distribution standard Python : faites
python Karrigell_SocketServer.py
Si vous préférez un serveur multi-thread utilisez
python Karrigell_ThreadedSocketServer.py
|