Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
apache2 [Le 14/05/2020, 22:03]
wil_sly [Mise en place de HTTPS avec Certbot]
apache2 [Le 04/01/2022, 17:41]
78.196.241.242 [Fail2ban] n'est pas une sécurité
Ligne 1: Ligne 1:
-{{tag>​réseau serveur internet Xenial Bionic}} +{{tag>​réseau serveur internet Xenial Bionic ​Focal}} 
- +{{ :​logo:​apache-logo.png?​80nolink| Logo du logiciel Apache 2}}
----- +
-{{ apache_logo.png?​80nolink| Logo du logiciel Apache 2}}+
  
 ====== Serveur HTTP Apache 2 ====== ====== Serveur HTTP Apache 2 ======
  
-Un [[https://​fr.wikipedia.org/​wiki/​Serveur_HTTP|serveur HTTP]] permet à un site web de communiquer avec un navigateur en utilisant le protocole [[https://​fr.wikipedia.org/​wiki/​Hypertext_Transfer_Protocol|HTTP(S)]] et ses extensions ([[https://​fr.wikipedia.org/​wiki/​WebDAV|WebDAV]],​ etc.). **Apache** est probablement le serveur HTTP le plus populaire. C'est donc lui qui met à disposition la plupart des sites internet ​du [[https://​fr.wikipedia.org/​wiki/​World_Wide_Web|WWW]].\\+Un [[https://​fr.wikipedia.org/​wiki/​Serveur_HTTP|serveur HTTP]] permet à un site web de communiquer avec un navigateur en utilisant le protocole [[https://​fr.wikipedia.org/​wiki/​Hypertext_Transfer_Protocol|HTTP(S)]] et ses extensions ([[https://​fr.wikipedia.org/​wiki/​WebDAV|WebDAV]],​ etc.). **Apache** est probablement le serveur HTTP le plus populaire. C'est donc lui qui met à disposition la plupart des sites Web du [[https://​fr.wikipedia.org/​wiki/​World_Wide_Web|WWW]].\\
 Il est produit par la //Apache Software Foundation//​. C'est un logiciel libre fourni sous la [[wpfr>​Licence_Apache|licence spécifique Apache]]. Il est produit par la //Apache Software Foundation//​. C'est un logiciel libre fourni sous la [[wpfr>​Licence_Apache|licence spécifique Apache]].
  
Ligne 17: Ligne 15:
 ===== Installation ===== ===== Installation =====
  
-Pour installer Apache seul, [[:​tutoriel:​comment_installer_un_paquet|installez simplement le paquet]] **[[apt>apache2|apache2]]**.+Pour installer Apache seul, [[:​tutoriel:​comment_installer_un_paquet|installez simplement le paquet]] **[[apt>​apache2]]**.
  
 Pour installer Apache avec PHP et MySQL ou MariaDB, reportez vous à l'​[[:​lamp#​installation|installation de LAMP]]. Pour installer Apache avec PHP et MySQL ou MariaDB, reportez vous à l'​[[:​lamp#​installation|installation de LAMP]].
Ligne 199: Ligne 197:
 <​code>​sudo systemctl reload apache2</​code>​ <​code>​sudo systemctl reload apache2</​code>​
  
-<note tip>On peut définir un hôte virtuel ​par un nom de domaine même sans avoir de nom de domaine enregistré chez un registrar.+<note tip> 
 +On peut définir un hôte virtuel sans avoir de nom de domaine enregistré chez un registrar
 + 
 +On peut soit utiliser un sous-domaine de ''​localhost'',​ comme ''​example.localhost'',​ qui pointera directement sur la machine locale (et qui ne sera donc valable que sur la machine qui fait tourner Apache), soit créer un nouveau nom de domaine "​fictif"​.
  
 Il faut dans ce cas résoudre l'IP du serveur pour un domaine fictif côté client. Cela se fait en [[:​tutoriel:​comment_modifier_un_fichier|éditant le fichier]] ''/​etc/​hosts''​ côté client avec les [[:​sudo|droits d'​administration]] pour y ajouter la ligne : Il faut dans ce cas résoudre l'IP du serveur pour un domaine fictif côté client. Cela se fait en [[:​tutoriel:​comment_modifier_un_fichier|éditant le fichier]] ''/​etc/​hosts''​ côté client avec les [[:​sudo|droits d'​administration]] pour y ajouter la ligne :
Ligne 208: Ligne 209:
 Avec la directive ''​ServerName example''​ dans le //​VirtualHost//,​ l'​hôte virtuel sera accessible depuis ce client à l'​adresse [[http://​example/​]]. Avec la directive ''​ServerName example''​ dans le //​VirtualHost//,​ l'​hôte virtuel sera accessible depuis ce client à l'​adresse [[http://​example/​]].
  
-Cela peut être très pratique en phase de développement sur une machine ou un réseau local, par exemple.</​note>​+Cela peut être très pratique en phase de développement sur une machine ou un réseau local, par exemple. 
 +</​note>​
  
 ===== HTTPS ===== ===== HTTPS =====
Ligne 216: Ligne 218:
 Il n'est ni nécessaire,​ ni faisable de mettre en place HTTPS avec un certificat valide sur un serveur de développement local. Il n'est ni nécessaire,​ ni faisable de mettre en place HTTPS avec un certificat valide sur un serveur de développement local.
  
-Pour rendre disponible les sites de manière sécurisée via HTTPS avec des certificats valides, la solution la plus simple est d'​utiliser l'​outil **[[https://​certbot.eff.org/​|Cerbot]]** de [[https://​letsencrypt.org/​|Let'​s Encrypt]].+Pour rendre disponible les sites de manière sécurisée via HTTPS avec des certificats valides, la solution la plus simple est d'​utiliser l'​outil **[[https://​certbot.eff.org/​|Certbot]]** de [[https://​letsencrypt.org/​|Let'​s Encrypt]].
 <​note>​Vous trouverez une documentation plus détaillée à ce sujet sur [[:​tutoriel:​securiser_apache2_avec_ssl|cette page de la documentation]],​ mais nous verrons ici une méthode spécifique à Apache.</​note>​ <​note>​Vous trouverez une documentation plus détaillée à ce sujet sur [[:​tutoriel:​securiser_apache2_avec_ssl|cette page de la documentation]],​ mais nous verrons ici une méthode spécifique à Apache.</​note>​
  
Ligne 236: Ligne 238:
 === Installation de Certbot === === Installation de Certbot ===
  
-Pour installer Certbot, [[:​ppa#​ajout_d_un_ppa_a_vos_sources_logicielles|ajoutez le PPA]] officiel **ppa:​certbot/​certbot**,​ puis installez le paquet [[apt>​python3-certbot-apache]] ​:+Pour installer Certbot :
 <​code>​sudo apt install python3-certbot-apache</​code>​ <​code>​sudo apt install python3-certbot-apache</​code>​
  
Ligne 252: Ligne 254:
 === Renouvellement automatique === === Renouvellement automatique ===
  
-Pour information c'est la commande ''​certbot renew''​ qui permet de renouveler les certificats très simplement, mais Certbot créé automatiquement une [[:​cron|tâche cron]] à cet effet dans ''/​etc/​cron.d/​certbot''​.+Pour information c'est la commande ''​certbot renew''​ qui permet de renouveler les certificats très simplement, mais Certbot créé automatiquement une [[:​cron|tâche cron]] à cet effet dans ''/​etc/​cron.d/​certbot''​. Il est également créé un « //timer// » systemd qui fait la même chose (/​lib/​systemd/​system/​certbot.timer et certbot.service).
  
 Le script est lancé automatiquement toutes les 12 heures, mais les certificats ne seront renouvelés que si nécessaire. En principe il n'y a donc rien à faire. Le script est lancé automatiquement toutes les 12 heures, mais les certificats ne seront renouvelés que si nécessaire. En principe il n'y a donc rien à faire.
Ligne 329: Ligne 331:
 <​note>​On peut écrire ces règles de réécriture dans une section //​[[#​hotes_virtuels|<​VirtualHost>​]]//​ ou  //​[[#​hotes_virtuels|<​Directory>​]]//​ (le comportement n'est pas le même), ou dans un fichier //​[[#​.htaccess]]//​.</​note>​ <​note>​On peut écrire ces règles de réécriture dans une section //​[[#​hotes_virtuels|<​VirtualHost>​]]//​ ou  //​[[#​hotes_virtuels|<​Directory>​]]//​ (le comportement n'est pas le même), ou dans un fichier //​[[#​.htaccess]]//​.</​note>​
  
 +<note important>​N'​oubliez pas de modifier le virtualhost en conséquence sinon les règles de réécriture .htaccess ne fonctionneront pas correctement. Voici un exemple de configuration qui marche :
 +<​code>​
 +    <​Directory /​var/​www/​html>​
 +            AllowOverride All
 +    </​Directory>​
 +</​code>​
 +</​note>​
 ==== mod_proxy==== ==== mod_proxy====
  
Ligne 452: Ligne 461:
 ==== Fail2ban ==== ==== Fail2ban ====
  
-Pour contrer ​les attaques par force brute sur un système d'​authentification d'une application web, il est vivement ​recommandé d'​utiliser l'​application [[:​Fail2ban]].+Pour limiter ​les attaques par force brute sur un système d'​authentification d'une application web, il est parfois ​recommandé d'​utiliser l'​application [[:​Fail2ban]].
  
 ===== Problèmes courants ===== ===== Problèmes courants =====
  • apache2.txt
  • Dernière modification: Le 17/04/2024, 12:19
  • par krodelabestiole