PS - V 1.3 — ps 2022/04/15 00:30
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..
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 % |
Il offre toutes les fonctionnalités que l'on peut attendre d'un serveur Web :
Apache s'installe sur les plate-formes suivantes :
la commande apt list 'libapache2-mod*'|wc -l
donne 78 noms de paquets !
Il permettent :
Sur Debian : aptitude install apache2
On installe habituellement les modules suivants :
systemctl <start|stop|restart|reload|status> apache2
ou bien
apache2ctl start|stop|restart|reload|status
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>
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 permet d'authentifier les utilisateurs avec plusieurs méthodes :
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 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 :
La sécurité d'un serveur Apache implique de ne laisser à Apache que les droit minimaux pour effectuer sa tâche.
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
De nombreux outils existent pour analyser les logs apache et produire des pages de statistiques :
Les autres outils :