sommaire
Apache
Les liens utiles:
Apache.org
http://httpd.apache.org/docs-2.0/
http://httpd.apache.org/docs/
Apache France
http://linux-kheops.com/doc/cours/config.php?ptd=jgourdin/index.html
http://www.linux-kheops.com/doc/apache/manual-eisti/

Installation:

les packages utiles sont:

Attention on à faire a Apache 2.0 (sur la 7.3 on n'etait encore à la 1.3)

sur le CD2 de la RH8.0:

httpd-2.0.40-8.i386.rpm : le serveur Web
httpd-manual-2.0.40-8.i386.rpm (optionnel)

mod_perl-1.99_05-3.i386.rpm
mod_python-3.0.0-10.i386.rpm
mod_ssl-2.0.40-8.i386.rpm

sur le CD3 de la RH8.0:

httpd-devel-2.0.40-8.i386.rpm : permet de compiler des modules additionnels

Configuration:

le fichier de configuration: /etc/httpd/conf/httpd.conf

**Ce fichier possede des container :
<Directory ...> </Directory ...>
<Files ...> </Files ...>
<IfModule ...> </IfModule ...>


**La page d'accueil se trouve dans /var/www/html/index.html ou index.shtml

comme cela est indique à la ligne :

DocumentRoot "/var/www/html"


**Le repertoire racine est donne par  :
<Directory />
</Directory >

qui est en fait:

 <Directory /var/www/html>

C'est la que sont stocker les fichiers de la page par defaut du serveur et c'est donc ici que l'on peut mettre un nouveau chemin pour les fichiers de son propre serveur web.

Attention à donner les bons droits sur le systeme de fichier sur le nouveau repertoire sinon on se voit refuser l'acces
donc on mettra des droits r-x pour other sur les repertoires menant aux fichiers et un r-- pour les fichiers


** On peut aussi faire des Alias sur des repertoires avec :

Alias /icons/ "/var/www/icons"
mais on peut tres bien dire

Alias /icons/ "/home/fred/icons" et donc pour Apache le /icons pointe vers /home/fred/icons

**Les lignes de ce type :

 Order allow,deny
 Allow from all

permet  d'autoriser tout monde

**Ces lignes permettent d'indiquer plusieurs pages par defaut:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.php index.php3 index.shtml index.cgi index.pl index.htm Default.htm default.htm
</IfModule>


Le serveur recherchera parmis ces fichiers pour trouver la page d'accueil à afficher.

**Controle d'acces:

AccessFileName .htaccess    (1)

indique que c'est ce fichier qui contient les information de controle d'acces

<Files ~ "^\.ht">
    Order allow,deny            (2)
    Deny from all
</Files>


Ces lignes empeche le fichier commençant par .ht (comme le .htaccess) d'etre vu pour des raisons de sécurité
(1) et (2) doivent etre couplés


Les Virtual Host:

Cela permet au serveur Apache de repondre à plus d'un nom de domain
Comme le DNS n'est pas encore en place je modifie le fichier /etc/hosts de la maniere suivante:

127.0.0.1               localhost.localdomain localhost
192.168.0.2             linuxfred      
192.168.0.5             www.fred.com
192.168.0.7             www.yoman.com

Je relance le service network pour prendre en compte les modifications

J'ajoute des adresses ip sur mon unique carte reseau avec
ifconfig eth0 add 192.168.0.5
ifconfig eth0:1 add 192.168.0.7

Un ping sur www.fred.com donne la bonne ip

Maintenant il ne reste plus qu'à configurer les Virtual Host dans le fichier httpd.conf

On peut faire par exemple:

#NameVirtualHost *

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
<VirtualHost www.fred.com>
    ServerAdmin webmaster@fred.com
    DocumentRoot /home/fred/www/fred.com/
    ServerName www.fred.com
    ErrorLog logs/fred.com-error_log
    CustomLog logs/fred.com-access_log common
</VirtualHost>

<VirtualHost www.yoman.com>
    ServerAdmin webmaster@yoman.com
    DocumentRoot /home/fred/www/yoman.com/
    ServerName www.yoman.com
    ErrorLog logs/yoman.com-error_log
    CustomLog logs/yoman.com-access_log common
</VirtualHost>


voila qui est fini.


Authentification:

On peut creer un ou plusieurs fichiers contenant une liste de personnes avec un mot de passe associé pour protéger l'accés à une partie ou tout un site web

Cela se fait de la maniere suivante:

htpasswd -c /chemin_du_fichier/nom_du_fichier nom_utilisateur

Le nom_du_fichier peut par exemple commencer par .ht ce qui permettra de ne pas pouvoir y acceder .

On peut tres bien ajouter d'autres utilisateur avec :

htpasswd  /chemin_du_fichier/nom_du_fichier nom_utilisateur2   ...

Utilisation du fichier de mot de passe:

un fichier .htaccess peut etre mis pour chaque repertoire contenant des pages html de votre site web
Le fichier .htaccess minimale:

AuthType Basic
AuthName "Acces à IMG_Link"
AuthUserFile /var/www/html/fred.com/.htpass
Require valid-user


AuthType : le type d'authentification : Basic ou Digest
AuthName : permet de personnaliser la boite de dialogue demandant le pass
AuthUserFile: le fichier qui contient la liste des utilisateurs /mot de passe
Require: peut prendre 3 valeurs: valid user (permet d'englober tous les utilisateur du fichier de mots de passe), group ou user
    user: permet de preciser qui a droit d'access parmis les utilisateur du fichier de mots de passe
    group: idem avec un groupe composé d'utilisateur du fichier de mots de passe, il faut donc preciser le fichier avec :
	AuthGroupFile /var/www/html/fred.com/group par exemple
le fichier group doit ressembler à :

nom_du_group : les_membres_du_groupes_separés_par-des_espaces

Beaucoup plus d'informations sont disponible grace aux 2° et 3° liens de la liste

Demarage et test:

pour demarrer le serveur apache:

service httpd start


avec un navigateur: http://localhost amene sur la page d'accueil de votre serveur

http://www.fred.com ou http://192.168.0.5 donne acces a la bonne page
idem pour l'autre ip

ps: chaque modification du fichier de configuration oblige à redemarrer le service avec :

service httpd restart