informatique:logiciels:apache
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatique:logiciels:apache [2015/04/07 23:21] – [De l'utilisation d'apache2ctl] pteu | informatique:logiciels:apache [2020/11/02 17:57] (current) – pteu | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | {{tag> | ||
| ====== Apache ====== | ====== Apache ====== | ||
| - | [[http:// | + | [[http:// |
| - | Les fichiers de configuration diffèrent selon la distribution Linux utilisée : sous Redhat le fichier de conf principal est **/ | + | Les fichiers de configuration diffèrent selon la distribution Linux utilisée : sous Redhat-like le fichier de conf principal est **/ |
| - | Les fichiers des logs sont situés dans le répertoire **/ | + | =====Configuration===== |
| - | Pour connaitre | + | Dans les versions les plus récentes d' |
| + | |||
| + | De même pour les modules, avec les dossiers **mods-available/ | ||
| - | =====Configuration===== | ||
| Exemple de directives de configuration commentées : | Exemple de directives de configuration commentées : | ||
| Line 76: | Line 76: | ||
| </ | </ | ||
| - | Les droits d' | + | <WRAP center round important 60%> |
| + | Depuis la version 2.4 d' | ||
| + | </ | ||
| + | |||
| + | <del>Les droits d' | ||
| > | > | ||
| Line 165: | Line 169: | ||
| - | ===== mod ssl ===== | + | =====Proxy / mod_proxy===== |
| + | |||
| + | Ce module permet d' | ||
| + | * proxy : fonctionnalités de base du serveur mandataire | ||
| + | * proxy_http : permet de gérer le protocole HTTP | ||
| + | * proxy_connect : permet de gérer les connexion SSL chiffrées avec la méthode CONNECT (simple redirection dans ce cas) | ||
| + | * cache et disk_cache : ajoute la fonctionnalité de cache | ||
| + | * headers : permet de manipuler les en-têtes | ||
| + | |||
| + | Activer ceux qu'il faut en fonction des besoins ; dans mon cas : | ||
| + | <code bash> | ||
| + | a2enmod proxy proxy_http proxy_connect headers | ||
| + | </ | ||
| + | |||
| + | Exemple de configuration commentée : | ||
| + | <code bash> | ||
| + | # ref : https:// | ||
| + | < | ||
| + | |||
| + | # active la fonctionnalité de mandataire direct | ||
| + | # ne concerne pas les directives ProxyPass (reverse proxy, voir plus bas) | ||
| + | ProxyRequests On | ||
| + | |||
| + | <Proxy *> | ||
| + | | ||
| + | # on refuse tout par défaut | ||
| + | | ||
| + | # restriction sur un domaine/nom d' | ||
| + | # attention cela provoque une double requete DNS + inverse de la part du serveur | ||
| + | # | ||
| + | # restriction au localhost (127/8, ::1, IP du serveur local) | ||
| + | | ||
| + | # restriction des IPs clientes au seul LAN | ||
| + | | ||
| + | # NB : | ||
| + | # - si des directives doivent être toutes validées (aucune négative et au moins une positive), | ||
| + | # on encadre par < | ||
| + | # - si au moins l'une doit être positive, on encadre par < | ||
| + | # - si aucune ne doit retourner de résultat positif on utilise < | ||
| + | </ | ||
| + | |||
| + | # ajout automatique du suffixe aux noms d' | ||
| + | ProxyDomain " | ||
| + | # connexion sans mandataire | ||
| + | NoProxy | ||
| + | # définit le proxy suivant pour toutes (*) les requêtes | ||
| + | # | ||
| + | # ProxyRemote ftp ftp:// | ||
| + | # ProxyRemoteMatch est identique à ceci près que le premier paramètre est une regexpr | ||
| + | |||
| + | # Créer un " | ||
| + | # ex : http:// | ||
| + | < | ||
| + | | ||
| + | </ | ||
| + | # syntaxe alternative, | ||
| + | #ProxyPass "/ | ||
| + | |||
| + | # Enable/ | ||
| + | # (" | ||
| + | # Set to one of: Off | On | Full | Block | ||
| + | ProxyVia Off | ||
| + | |||
| + | # définit le nombre max de proxys traversés / pour éviter les boucles infinies | ||
| + | ProxyMaxForwards 5 | ||
| + | # timeout réponse d'un site destination; | ||
| + | # | ||
| + | # préserve l' | ||
| + | # | ||
| + | |||
| + | # | ||
| + | # Filtrages destinations | ||
| + | # | ||
| + | # bloquer via nom d' | ||
| + | # attention les DNS sont résolus au démarrage d' | ||
| + | ProxyBlock " | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | # controle utilisation de la methode CONNECT sur certains ports seulement | ||
| + | # défaut : AllowCONNECT 443 563 | ||
| + | | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | =====HTTPS / mod_ssl===== | ||
| Pour activer le **mod SSL** qui permet le chiffrement des données : | Pour activer le **mod SSL** qui permet le chiffrement des données : | ||
| Line 172: | Line 261: | ||
| </ | </ | ||
| - | =====Réécriture===== | + | =====mod_rewrite===== |
| - | Le **mod_rewrite** permet de manipuler les requêtes entrantes. | + | Le **mod_rewrite** permet de manipuler les requêtes entrantes |
| - | Activation du module | + | Activation du module |
| <code bash> | <code bash> | ||
| a2enmod rewrite | a2enmod rewrite | ||
| </ | </ | ||
| - | Mise ne place d'une redirection temporaire | + | ====Syntaxe==== |
| + | |||
| + | source : https://httpd.apache.org/docs/current/ | ||
| + | |||
| + | Exemple de blocage de sites : | ||
| <code bash> | <code bash> | ||
| + | < | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | </ | ||
| + | On enchaine différentes conditions '' | ||
| + | |||
| + | Exemple de mise ne place d'une redirection (permanente=301 par défaut) : ajouter ces lignes dans le fichier de configuration du vhost (''/ | ||
| + | <code bash> | ||
| + | < | ||
| RewriteEngine On | RewriteEngine On | ||
| - | RewriteRule ^(.*)$ http:// | + | RewriteRule ^(.*)$ http:// |
| + | </ | ||
| </ | </ | ||
| **Syntaxe** : '' | **Syntaxe** : '' | ||
| - | dans l' | + | dans l' |
| + | <code bash> | ||
| + | [..] | ||
| + | RewriteRule ^(.*)$ http:// | ||
| + | </ | ||
| + | |||
| + | ====Variables utilisables==== | ||
| + | |||
| + | https:// | ||
| - | ==== Générer un certificat ==== | + | =====Générer un certificat===== |
| Sous Redhat : | Sous Redhat : | ||
| Line 325: | Line 439: | ||
| =====De l' | =====De l' | ||
| - | Utilisation de l' | + | Utilisation de l' |
| - | * '' | + | * '' |
| + | <code bash> | ||
| + | apachectl -V | ||
| + | Server version: Apache/ | ||
| + | Server built: | ||
| + | Server' | ||
| + | Server loaded: | ||
| + | Compiled using: APR 1.6.2, APR-UTIL 1.6.0 | ||
| + | Architecture: | ||
| + | Server MPM: | ||
| + | threaded: | ||
| + | forked: | ||
| + | Server compiled with.... | ||
| + | -D APR_HAS_SENDFILE | ||
| + | -D APR_HAS_MMAP | ||
| + | [..] | ||
| + | </ | ||
| + | * '' | ||
| <code bash> | <code bash> | ||
| apache2ctl -S | apache2ctl -S | ||
| Line 336: | Line 467: | ||
| Syntax OK | Syntax OK | ||
| </ | </ | ||
| + | * '' | ||
| + | |||
| ===== Divers ===== | ===== Divers ===== | ||
informatique/logiciels/apache.1428448874.txt.gz · Last modified: 2015/04/07 23:21 by pteu