Il est né ?
Vous êtes ici : www.xgarreau.org >> zazouminiwebserver : ZazouMiniWebServer: Fichier de configuration

Fichier de configuration

Depuis la version 0.7.2, ZMWS accepte un fichier de configuration, ce dernier doit s'appeler _config.zmwsc et être placé dans le répertoire de l'exécutable.

Tout d'abord, pour faire un commentaire, on utilise #. Sur une ligne, tout ce qui se toruve après # est ignoré.

Chaque ligne de configuration commence par un contexte de configuration (Handler pour les handlers, Mime pour les types mime, Main pour la configuration globale ou VirtualHost pour la configuration des Hôtes Virtuels). Hormis pour le contexte VirtualHost, le contexte est séparé de la variable par ':' et le nom de la variable de configuration est séparé de la valeur par '='. Dans le cas des hôtes virtuels, le contexte est suivi de ':', du nom de l'hôte virtuel (le principal nom de la machine sur internet Fully Qualified Domain Name ou FQDN), de ':', du nom de variable, de '=' et de la valeur. Rassurez vous, tout ça devient plus clair ci-dessous.

Il est rare d'avoir besoin de ce fichier de configuration à moins de vouloir éviter la console, sauf pour quelques fonctionnalités exceptionnelles. Tous les virtual hosts par exemples peuvent être reconnus par ZazouMiniWebServer automatiquement, à condition de les placer où celà est prévu, visitez la page consacrée à ce sujet pour en savoir plus.

Enfin, toutes ces valeurs n'ont pas à être dans le fichier, ne sont nécessaires que les options dont la valeur par défaut ne vous convient pas.

Ajouter un Handler

Depuis la version 0.7.5, ZazouMiniWebServer accepte des "Handlers". Celà permet de dire que des fichiers doivent être parcourus par un programme sur le serveur avant d'être envoyé au client. Consultez la section Handlers du site pour en savoir plus.
La valeur de la variable doit être un chemin relatif (par rapport au répertoire de ZazouMiniWebServer.exe) ou absolu vers l'exécutable à utiliser.
Ci dessous, la ligne pour faire interpréter par ZazouTcl les fichiers .tcl (C'est un exemple, on peut aussi utiliser ActiveTcl, entre autres) :

Handler:tcl=ZazouTcl/bin/tclsh.exe

Ajouter un Type MIME

Si un Type MIME incorrect est envoyé pour un de vos fichiers, vous pouvez informer ZazouMiniWebServer du type correct à associer à une extension. Par exemple pour dire à ZazouMiniWebServer d'associer l'extension .ps au type application/postscript, on écrit :

MimeType:ps=application/postscript

Changer le Type MIME par défaut

A partir de ZazouMiniWebServer v0.8.1

Pour changer le Type MIME utlisé quand une extension est inconnue, il faut écrire quelque chose comme ça (dans cet exemple, application/octet-stream sera le nouveau type par défaut, ce qui correspond à la configuration normale de ZazouMiniWebServer):

MimeType:ZMWSMIMEDEFAULT=application/octet-stream

Options globales

Les options ci-dessous sont présentées avec leurs valeurs par défaut.

Cacher la console : Si cette valeur vaut true, la console est cachée, sinon, elle reste visible.

Main:hide=false

Permettre l'arrêt du serveur : Si cette valeur vaut true, le serveur se termine lors de la visite de l'adresse /_stopServer.zmwsc, que ce fichier existe ou non.

Main:stop=false

Arrêt instantanné : Si cette valeur vaut true, le serveur termine immédiatement les connexions lorsqu'il est arrêté, sans attendre leur fermeture "normale". Cette option n'est utile qu'utilisée conjointement à la directive Main:stop=true ou l'option -stop.

Main:dropclients=false

Etre muet : Si cette valeur vaut true, le serveur n'affiche pas dans la console les connexions et requêtes traitées.
Par défaut le serveur n'est pas muet, mais plutôt bavard :). Le rendre muet augmente les performances, l'affichage sur la console étant un goulot d'étranglement potentiel, chaque thread devant attendre son tour pour y afficher son message.

Main:quiet=false

Fermer le navigateur : Si stop et cette valeur valent true. ZazouMiniWebServer tente de fermer la page courante du navigateur lors de l'arrêt du serveur.

Main:closebrowser=false

Lancer le navigateur : Si cette valeur vaut true, ZazouMiniWebServer ouvre le navigateur par défaut du client sur la page d'accueil du site principal embarqué.

Main:browse=false

Créer des logs : Si cette valeur vaut true, ZazouMiniWebServer ne crée pas de logs. Cette option est notamment utile pour embarquer le site sur CD ou clé usb.

Main:nolog=false

Résolution de noms : Si cette valeur vaut true, ZazouMiniWebServer ne recherche pas le nom de machine des clients qui se connectent. Celà peut être fait à posteriori par l'outil d'analyse de logs et peut accélérer le fonctionnement du serveur.

Main:norv=false

Indexage de répertoires : Si cette valeur vaut true, ZazouMiniWebServer n'autorise pas l'indexage de répertoires, sauf ceux contenant un fichier spécial spécifiant le contraire, un fichier vide nommé "_canIndex.zmwsc". Visitez la page sur l'indexage de répertoire pour avoir plus d'informations à ce sujet.

Main:noindex=false

Pages de démarrage : Spécifie dans l'ordre de préférence, quels fichiers présenter au visiteur lors de l'accès à un répertoire (DirectoryIndex). Par défaut, on recherche index.*
A partir de ZazouMiniWebServer v0.8.9

Main:startpage=index.php;index.html;default.html

Adresses IP clientes autorisées : Spécifie les ip autorisées à se connecter au serveur. On peut saisir plusieurs IP séparées par un point virgule. On peut également utiliser des "parties" d'IP pour désigner un réseau, auquel cas, il doit y avoir un point final (192.168.1. pour toutes les adresses IP commençant par 192.168.1. Il ne faut surtout pas oublier le point final, saisir 192.168.1 rendra le serveur inaccessible). Par défaut, tout le monde peut visiter le serveur
A partir de ZazouMiniWebServer v0.8.11-devel

Main:allowfrom=127.;192.168.1.;213.186.46.111

Adresse IP d'écoute : l'IP sur laquelle ZazouMiniWebServer écoute les requêtes (toutes celles de la machine par défaut).
A partir de ZazouMiniWebServer v0.8.5

Main:bind=127.0.0.1

Port d'écoute : le port sur lequel ZazouMiniWebServer écoute les requêtes (80 par défaut pour tout serveur web). Si ce dernier n'est pas libre, ZazouMiniWebServer essaie d'écouter sur le premier port disponible entre 8080 et 8089.

Main:port=80

Essayer d'autres ports : Par défaut, ZazouMiniWebServer essaie de lancer le serveur sur un port entre 8080 et 8089 si le port principal 80 ou le port demandé via l'option port (ou -p en ligne de commande) n'est pas libre. Mettre l'option unique-port à true permet d'annuler ce comportement auquel cas, si le port n'est pas libre, le programme se termine. Dans ce cas, si l'option browse est utilisée, ZazouMiniWebServer lance le browser sur le port occupé puisqu'il est vraisemblablement utilisé par une autre instance du serveur ...

Main:unique-port=false

Charset utilisé par défaut pour tous les fichiers texte.

Main:defcharset=iso-8859-1

Nombre de connexions clientes : Le nombre maximal de clients simultanés sur le serveur.

Main:mc=1000

PHP : Chemin relatif ou absolu vers php.exe (php4) ou php-cgi.exe (php5).

Main:phppath=php5

Site principal : Chemin relatif ou absolu vers les fichiers du site principal.

Main:webdir=_web.zmwsc

Logs : Chemin relatif ou absolu vers le répertoire où seront stockés les logs.

Main:logsdir=logs

Hôtes Virtuels

Ci dessous est présentée la configuration par défaut d'un hôte virtuel pour le nom de domaine mycompany.com, accessible via deux alias www.mycompany.com et www2.mycompany.com.

Site mycompany.com : Chemin relatif ou absolu vers les fichiers du site principal.

VirtualHost:mycompany.com:webdir=_web.zmwsc/_vhosts.zmwsc/mycompany.com

Logs : Chemin relatif ou absolu vers le répertoire où seront stockés les logs. Les fichiers de logs d'un hôte virtuel sont appelés access_log_nom_hote, ici ce serait access_log_mycompany.com

VirtualHost:mycompany.com:logsdir=logs

Indexage de répertoires : Si cette valeur vaut true, ZazouMiniWebServer n'autorise pas l'indexage de répertoires pour cet hôte virtuel, sauf ceux contenant un fichier spécial spécifiant le contraire, un fichier vide nommé "_canIndex.zmwsc". Visitez la page sur l'indexage de répertoire pour avoir plus d'informations à ce sujet.

VirtualHost:mycompany.com:noindex=false

Résolution de noms : Si cette valeur vaut true, ZazouMiniWebServer ne recherche pas le nom de machine des clients qui se connectent à cet hôte virtuel. Celà peut être fait à posteriori par l'outil d'analyse de logs et peut accélérer le fonctionnement du serveur.

VirtualHost:mycompany.com:norv=false

Charset utilisé par défaut pour tous les fichiers texte de cet hôte virtuel. Si cette valeur n'est pas spécifiée, l'hôte virtuel utilise le paramètre global.

VirtualHost:mycompany.com:defcharset=iso-8859-1

Limite de traffic / Blocage de site : Par défaut, le traffic n'est pas limité mais on peut fixer des limites par hôte virtuel si on le désire. Pour que cette fonctionnalité soit opérationnelle, ZazouMiniWebServer doit être autorisé à créer des logs puisque les informations de traffic sont stockées dans des fichiers.
maxKBytes est le nombre de kilooctets qui peuvent être envoyés par ce site toutes les maxKBytesDTime secondes
maxKBytesDTime est donc un nombre de secondes
1 jour équivaut à 86400 secondes
1 semaine équivaut à 604800 secondes
1 mois (30 jours) équivaut à 2592000 secondes
Mettre maxKBytes à 0 et maxKBytesDTime à une valeur non nulle bloque ce site
Mettre maxKBytes et maxKBytesDTime à 0 annule la gestion de traffic pour ce site (c'est le comportement par défaut)

VirtualHost:mycompany.com:maxKBytes=0
VirtualHost:mycompany.com:maxKBytesDTime=0

Adresses IP clientes autorisées : S'utilise comme Main:allowfrom mais avec un rayon d'action limité au virtual host. On peut l'utiliser pour diminuer les autorisations, les augmenter ou les supprimer en spécifiant all comme paramètre, comme c'est le cas ci-dessous.

VirtualHost:mycompany.com:allowfrom=all

Gestion des alias : Parce qu'une machine peut être accessible pour le même site par plusieurs noms, on peut définir ainsi des alias :

VirtualHost:mycompany.com:alias=www.mycompany.com

VirtualHost:mycompany.com:alias=www2.mycompany.com

_config.zmwsc

Ci-dessous, le fichier par défaut, avec les commentaires en anglais.


a+

Auteur : Xavier GARREAU
Modifié le 10.08.2005

Rechercher :

Google
 
Web www.xgarreau.org