Table des matières

Voir cette page sous forme de diaporama.

Présentation Apache

PS - V 1.3 — ps 2022/04/15 00:30

Le protocole HTTP - Rappels

http : Hyper Text Transfer Protocol : Protocole de transfert des fichiers HTML.

C'est le protocole utilisé pour le WWW. Il utilise une connexion fiable TCP sur le port 80 ou 443 pour la version sécurisée HTTPS..

Le protocole HTTP - Commandes -1

Le protocole HTTP - Commandes - 2

Le protocole HTTP - Codes de retour

Les serveurs Web - Etat des lieux

En décembre 2015, les parts de marché étaient les suivantes (source Netcraft) pour 760 M de serveurs Web:

Serveur Pourcentage
Apache 37 %
Microsoft IIS 27 %
Nginx 17 %
Google Web Server 2 %

Apache - Présentation

Il offre toutes les fonctionnalités que l'on peut attendre d'un serveur Web :

Apache - Les plate-formes

Apache s'installe sur les plate-formes suivantes :

Apache - Historique

Apache - Les concurrents

Apache - Les modules

la commande apt list 'libapache2-mod*'|wc -l donne 78 noms de paquets !

Il permettent :

Apache - Installation

Sur Debian : aptitude install apache2

Apache - Les modules usuels

On installe habituellement les modules suivants :

Apache - Lancement/démarrage

systemctl <start|stop|restart|reload|status> apache2

ou bien

apache2ctl start|stop|restart|reload|status

Apache - La configuration

Organisation des répertoires

Configuration des accès

Apache - La configuration Debian/Ubuntu

La configuration Debian/Ubuntu - Les sites

Apache - Les sites virtuels

Apache permet de mettre en oeuvre des sites virtuels permettant d'héberger plusieurs sites sur un même serveur web y compris avec une seule adresse IP

NameVirtualHost www.domaine1.fr

<VirtualHost *:80>
  ServerAdmin webmestre@domaine1.fr
  DocumentRoot /var/www/domaine1.fr/
  ServerName www.domaine1.fr
  ErrorLog /var/log/apache2/domaine1.fr/error.log
  TransferLog /var/log/apache2/domaine1.fr/access.log
</VirtualHost>

Apache - Le contrôle d'accès

Il permet de restreindre l'accès au site à des machines ou à des blocs d'adresse grâce aux directives allow et deny. On pourra utiliser la directiveall, des adresses, des noms de machine ou de domaine et des blocs d'adresse.

<Directory /var/www/mydomain>
Order deny,Allow
Deny from all
Allow from 192.168.0.0
Allow from mondomaine.fr
</Directory>

Apache - Authentification

Apache permet d'authentifier les utilisateurs avec plusieurs méthodes :

Apache - Authentification - 2

On insère le bloc suivant dans le bloc <directory> … </directory> à protéger :

AuthUserFile /chemin/fichiermdp # fichier de mot de passe
AuthName Zone reservee     # 
AuthType Basic
require valid-user # tout utilisateur reference est autorise

Pour créer ce fichier, on utilise en ligne de commande, l'outil htpasswd -c /chemin/fichiermdp user

Apache - La délégation d'administration

Apache permet de déléguer l'administration aux utilisateurs grâce à la directive Allow Override qui autorise la redéfinition de directives locales à un répertoire dans un fichier .htaccess situé dans ce dernier :

Apache - La sécurité

La sécurité d'un serveur Apache implique de ne laisser à Apache que les droit minimaux pour effectuer sa tâche.

Apache - Les logs

Pour Debian/Ubuntu, il sont situés dans /var/log/apache2

77.206.107.114 - - [12/Nov/2013:21:48:27 +0100] "GET /doku/lib/exe/indexer.php?id=diiage_premiere_annee&1384289306 HTTP/1.1" 200 486 "http://82.225.173.248/doku
/doku.php?id=diiage_premiere_annee" "Mozilla/5.0 (X11; Linux i686; rv:25.0) Gecko/20100101 Firefox/25.0 Iceweasel/25.0"
77.206.107.114 - - [12/Nov/2013:21:48:39 +0100] "POST /doku/doku.php HTTP/1.1" 200 12922 "http://82.225.173.248/doku/doku.php?id=diiage_premiere_annee" "Mozilla
/5.0 (X11; Linux i686; rv:25.0) Gecko/20100101 Firefox/25.0 Iceweasel/25.0"
[Mon Nov 11 06:08:41 2013] [error] [client 178.74.49.41] Invalid method in request \x80w\x01\x03\x01
[Mon Nov 11 06:08:41 2013] [error] [client 178.74.49.41] File does not exist: /var/www/HNAP1, referer: http://82.225.173.248/
[Mon Nov 11 07:17:19 2013] [error] [client 211.137.235.145] File does not exist: /var/www/manager
http://82.225.173.248/
[Tue Nov 12 08:45:41 2013] [error] [client 10.5.0.46] File does not exist: /var/www/favicon.ico

Apache - Statistiques

De nombreux outils existent pour analyser les logs apache et produire des pages de statistiques :

Apache - Outils

Les autres outils :

Apache - les liens