Gestion d'un site Web - Université de Genève, CUI ©

Groupe VP-GL=>Cours en-ligne=>Gestion d'un site Web=>Plan du cours=>Configuration du serveur

Configuration du serveur (fichier httpd.conf)

Ce fichier paramétrise le comportement du serveur

# ServerType est soit inetd, soit standalone.

ServerType standalone

# Si le serveur est en mode "standalone, la commande qui suit permet d'indiquer sur quel port le serveur sera à l'écoute. Pour les ports inférieurs à 1023, il faut que le serveur httpd soir exécuté avec les privilèges "root".

Port 80 

# HostnameLookups permet d'indiquer si le serveur archive ses statistiques avec les noms de machines clientes ou seulement leur adresse IP, p.ex. www.apache.org (on) ou 204.62.129.132 (off)

HostnameLookups on 

# Il est parfois utile que le serveur s'exécute avec les privilèges d'un utilisateur particulier, principalement pour les aspects de privilèges d'accès aux fichiers et pour l'environnement d'exécution des scripts CGI:

User bertrand 
Group eao 

# Ce qui suit permet d'indiquer l'adresse de courrier électronique de la personne responsable du système. Cette adresse apparaîtra dans les messages d'erreurs, quand le serveur n'arrive par exemple pas à exécuter correctement un script CGI.

ServerAdmin Bertrand.Ibrahim@cui.unige.ch 

# Ce qui suit indique où se trouvent les fichiers de configuration et de statistiques du serveur

ServerRoot /user/ub2/eao/www/apache/

# Fichier dans lequel est sauvegardé le numéro de processus principal du serveur, pour permettre à des programmes externes de plus facilement le localiser (chemin relatif au répertoire ServerRoot):

PidFile logs/httpd.pid  

#Fichier servant à stocker des informations sur le fonctionnement du serveur

ScoreBoardFile logs/apache_status  

# Nom du serveur, à mentionner dans des messages d'erreur. Il faut que ce nom existe dans le DNS:

ServerName cuisung.unige.ch 

# CacheNegotiatedDocs: par défaut, Apache envoie "Pragma: no-cache" avec chaque document pour lequel il y a eu négociation de contenu, afin que les serveurs proxy par lesquels le document transite ne sauvent pas le document dans leur cache. Cette commande désactive l'envoi du pragma et permet ainsi aux serveurs proxy de conserver une copie du document. (le # en début de ligne indique que la ligne a été mise en commentaire et que la commande n'est donc pas active)

#CacheNegotiatedDocs 

# Timeout: Nombre de secondes avant d'abandonner l'envoi d'une réponse ou la réception d'une requête

Timeout 1200 

# KeepAlive: détermine si des connexions persistantes sont autorisées (plus d'une requête par connexion).

KeepAlive On 

# MaxKeepAliveRequests: Nombre maximum de requêtes lors de connexions persistantes. 0 permet un nombre illimité.  Il est recommandé de garder une valeur assez élevée.

MaxKeepAliveRequests 50 

# KeepAliveTimeout: Nombre de secondes à attendre la prochaine requête avant de fermer la connexion (en cas de connexion persistante).

KeepAliveTimeout 15 

# Ce qui suit sert à la régulation du nombre de processus utilisés par le serveur en fonction de la charge d'utilisation. Le serveur essaye généralement de garder un certain nombre de processus libres, prêts à répondre à de nouvelles demandes. Le serveur vérifie périodiquement combien de processus sont inactifs et crée de nouveaux processus ou détruit des processus existants (mais inactifs):

MinSpareServers 5 
MaxSpareServers 10 

# Nombre de processus à créer d'amblée au démarrage du serveur

StartServers 5 

# Ce qui suit permet de fixer une limite supérieure au nombre de processus existants simultanément. Une fois cette limite atteinte, le serveur refusera de nouvelles demandes de connexions jusqu'à ce qu'un processus soit à nouveau libre (inactif). Cela permet d'éviter un emballement du serveur qui pourrait aboutir à un blocage de la machine par épuisement des ressources disponibles.

MaxClients 30 

# MaxRequestsPerChild: nombre maximum de requêtes que chaque processus va traîter avant de se terminer. Ceci permet d'éviter des problèmes de "fuites" mémoire.

MaxRequestsPerChild 30  

# La commande suivante permet de faire fonctionner le serveur Apache comme serveur proxy

#ProxyRequests On  

# Les commandes suivantes servent à configurer le cache si on fonctionne en serveur proxy

#CacheRoot /usr/local/etc/httpd/proxy
#CacheSize 5
#CacheGcInterval 4
#CacheMaxExpire 24
#CacheLastModifiedFactor 0.1
#CacheDefaultExpire 1
#NoCache a_domain.com another_domain.edu joes.garage_sale.com

# Listen: permet de faire fonctionner le serveur sur un port ou une adresse supplémentaire, en plus du port et de l'adresse de base. Cela permet de créer plusieurs serveurs virtuels (voir commande VirtualHost ). La première commande crée un serveur virtuel sur le port 3000 de la même adresse IP que le serveur de base. La deuxième commande crée un serveur virtuel sur le port 80 d'un deuxième interface réseau de la machine, dont l'adresse IP est 12.34.56.78.

#Listen 3000
#Listen 12.34.56.78:80

# VirtualHost: permet au logiciel de répondre à des requêtes destinées à plus d'une adresse de serveur, si la machine serveur est configurée pour accepter des paquets IP pour plusieurs adresses. On peut avoir autant de blocs <VirtualHost ...> ... </VirtualHost> que l'on veut de serveurs virtuels différents

#<VirtualHost host.some_domain.com>
#ServerAdmin webmaster@host.some_domain.com
#DocumentRoot /www/docs/host.some_domain.com
#ServerName host.some_domain.com
#ErrorLog logs/host.some_domain.com-error_log
#TransferLog logs/host.some_domain.com-access_log
#</VirtualHost>

# IdentityCheck permet de demander l'archivage des noms d'utilisateurs qui sont parfois envoyés par les logiciels clients (butineurs, etc.)

IdentityCheck on  

# ErrorLog: emplacement du fichier où sont archivés les erreurs rencontrées. Si le chemin d'accès ne commence pas par /, il est considéré comme relatif au répertoire indiqué dans la commande "ServerRoot".

# TransferLog: emplacement du fichier où sont archivées les détails des requêtes reçues. Si le chemin d'accès ne commence pas par /, il est considéré comme relatif au répertoire indiqué dans la commande "ServerRoot".

ErrorLog logs/error_log.980526
TransferLog logs/access_log.980526


Bertrand Ibrahim

Dernière modification: 22.02.00

Site Hosting: Bronco