Apache
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