Karrigell Documentation

Version 2.3.3 15 01 07

English

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. Par défaut il s'agit du sous-répertoire webapps du répertoire serveur. Dans le reste de cette documentation ce répertoire sera appelé le Répertoire Racine
cgi
La liste des répertoires pour les scripts cgi
Valeur par défaut : webapps/cgi-bin dans le répertoire serveur
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]
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