HTTPD

(NCSA 1.4)


Revenir à la page principale


Le Web est le service le plus utilisé (avec le mail) actuellement sur le NET et il s'avère nécessaire de bien le configurer. Le démon décrit est le httpd 1.4 du NCSA. Lors d'une connexion d'un client, il est créé un fils de httpd, de nom httpd-Group défini dans la configuration du fichier httpd.conf, et cela dans le cas d'un lancement du serveur en mode standalone (le serveur est "lancé" à la main et non par inetd).






Lancement & options de httpd

httpd se lance soit en ligne de commande, en standalone (on le placera plutôt dans /etc/rc.d/rc.local), soit par inetd (/etc/inetd.conf est alors configuré pour, ainsi que le fichier /etc/services).

httpd peut être lancé avec des options :

-d répertoire Spécifie le répertoire absolu où se trouve l'exécutable httpd,
remplace l'option ServerRoot de httpd.conf
-f fichier Lire fichier au lieu du fichier de configuration httpd.conf
-v Version du httpd



Arborescence des fichiers

L'arborescence des fichiers du serveur se pésente de la forme suivante, étant la configuration par défaut :

        httpd/ __ 
                |-- cgi-bin/                    les binaires (CGI)
                |-- cgi-src/                    les sources
                |-- conf/ |-- access.conf       
                          |-- httpd.conf        
                          |-- srm.conf
                          |-- mime.types 
                |-- icons/                      icônes pour FTP
                |-- htdocs/                     entrée des documents HTML
                |-- logs/ |-- error_log
                          |-- agent_log
                          |-- access_log
                          |-- referer_log
                          |-- httpd.pid



Configuration de HTTPD




Lancement de httpd par inetd

Lorsque le lancement de httpd n'est pas en standalone, il est possible de le lancer par inetd. Il suffit de rajouter dans /etc/services et /etc/inetd.conf le démon httpd :

/etc/services:

www 80/tcp http


/etc/inetd.conf:

www stream tcp nowait nobody /usr/local/etc/httpd/httpd httpd


Bien sûr, on n'oubliera pas de préciser dans httpd.conf que l'option ServerType se positionne à inetd.

httpd se redémarre en lui envoyant le signal SIGHUP : kill -HUP `head -1 httpd.pid`.



Exemples


httpd.conf

# Type de lancement

ServerType standalone

# Le port

Port 80

# User/Group

User nobody
Group nogroup

ServerAdmin webmaster@alegria.fr

ServerRoot /usr/local/etc/httpd

# Les traces

ErrorLog logs/error_log

TransferLog logs/access_log

AgentLog logs/agent_log

RefererLog logs/referer_log

PidFile logs/httpd.pid

ServerName www.alegria.fr


srm.conf

DocumentRoot /usr/local/etc/httpd/htdocs

# repertoire pour un appel avec ~user. 

UserDir .www

DirectoryIndex index.html

FancyIndexing on

# Icones

AddIconByType (TXT,/icons/text.xbm) text/*
AddIconByType (IMG,/icons/image.xbm) image/*
AddIconByType (SND,/icons/sound.xbm) audio/*
AddIcon /icons/movie.xbm .mpg .qt
AddIcon /icons/binary.xbm .bin

AddIcon /icons/back.xbm ..
AddIcon /icons/menu.xbm ^^DIRECTORY^^
AddIcon /icons/blank.xbm ^^BLANKICON^^

DefaultIcon /icons/unknown.xbm

ReadmeName README
HeaderName HEADER

IndexIgnore */.??* *~ *# */HEADER* */README*

AccessFileName .htaccess

DefaultType text/plain

# Alias

Alias /icons/ /usr/local/etc/httpd/icons/

ScriptAlias /cgi-bin/ /usr/local/etc/httpd/cgi-bin/

# Les erreurs

# 302 - REDIRECT 
# 400 - BAD_REQUEST 
# 401 - AUTH_REQUIRED 
# 403 - FORBIDDEN 
# 404 - NOT_FOUND 
# 500 - SERVER_ERROR 
# 501 - NOT_IMPLEMENTED 

ErrorDocument 302 /cgi-bin/redirect.cgi
ErrorDocument 500 /errors/server.html
ErrorDocument 403 /errors/forbidden.html


access.conf

<Directory /usr/local/etc/httpd/cgi-bin>
Options Indexes FollowSymLinks
</Directory>

<Directory /usr/local/etc/httpd/htdocs>

Options Indexes FollowSymLinks IncludesNoExec

AllowOverride All

<Limit GET>
order allow,deny
allow from all
</Limit>

# Un repertoire d'acces restreints

</Directory>
<Directory /usr/local/etc/httpd/htdocs/Private>
Options All

AllowOverride all
# Libelle de la boite de dialogue
AuthName Saisie
AuthType Basic
# Fichier des utilisateurs
AuthUserFile /usr/local/etc/httpd/passe/.htpasswd
# Pas de groupe
AuthGroupFile /usr/local/etc/httpd/passe/NULL

<Limit GET>
        order allow,deny
        allow from .alegria.fr
        require user olivier
        require user niko
<Limit>

<Directory>


Pour toute information erronée ou demande de compléments, n'hésite pas à me contacter à l'adresse suivante :

Olivier Duval - od@alegria.fr