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 20/07/2018, 17:52]
krodelabestiole update doc virtualhosts
apache2 [Le 02/11/2018, 00:39]
krodelabestiole [Permissions] syntaxe plus simple (je crois)
Ligne 27: Ligne 27:
 ===== Lancement ===== ===== Lancement =====
  
-Apache 2 se lance par défaut dès son installation,​ et se relance automatiquement à chaque démarrage.+Apache 2 se lance par défaut dès son installation,​ et se relance automatiquement à chaque démarrage. C'est l'​idéal pour un serveur qui doit continuellement fournir du contenu en ligne, mais pour un serveur de test (on dit de //​développement//​) on peut éventuellement désirer un comportement différent.
  
 ==== Empêcher Apache de démarrer automatiquement ​ ==== ==== Empêcher Apache de démarrer automatiquement ​ ====
Ligne 143: Ligne 143:
  
 ^ directive ^ description ^ ^ directive ^ description ^
-| <​file><​VirtualHost *:​80></​file>​ | On déclare l'​hôte virtuel, il doit répondre ​à toutes les adresses IP qui s'​adressent à lui (*) sur le port 80. On peut ici éventuellement spécifier une adresse IP unique à laquelle répondra Apache pour un hôte virtuel donné (dans le cas ou le serveur possède plusieurs adresses IP), ou choisir ​d'​écouter ​un port exotique. |+| <​file><​VirtualHost *:​80></​file>​ | On déclare l'​hôte virtuel. Il doit répondre ​aux requêtes ​qui s'​adressent à toutes les adresses IP (''​*''​du serveur ​sur le port 80. On peut ici éventuellement spécifier une adresse IP unique à laquelle répondra Apache pour un hôte virtuel donné (dans le cas ou le serveur possède plusieurs adresses IP), ou choisir ​de répondre au port 443 (pour [[#HTTPS]]) ou à un port exotique ​(à condition de [[#​configuration_des_ports_d_ecoute|l'​écouter]]). |
 | <​file>​ServerAdmin webmaster@localhost</​file>​ | C'est le courriel de l'​administrateur système. Cette directive n'est ni très utile, ni indispensable. | | <​file>​ServerAdmin webmaster@localhost</​file>​ | C'est le courriel de l'​administrateur système. Cette directive n'est ni très utile, ni indispensable. |
 | <​file>​DocumentRoot /​var/​www/​html</​file>​ | C'est le chemin absolu vers l'​emplacement local (sur l'​espace disque du serveur) qui sera la racine de l'​hôte. Apache recherche en premier un fichier ''​index.html''​ ou ''​index.php''​ à afficher par défaut à l'​emplacement spécifié. On constate que c'est donc bien cet hôte virtuel qui affiche le message //It Works!// contenu dans le fichier ''/​var/​www/​html/​index.html''​. | | <​file>​DocumentRoot /​var/​www/​html</​file>​ | C'est le chemin absolu vers l'​emplacement local (sur l'​espace disque du serveur) qui sera la racine de l'​hôte. Apache recherche en premier un fichier ''​index.html''​ ou ''​index.php''​ à afficher par défaut à l'​emplacement spécifié. On constate que c'est donc bien cet hôte virtuel qui affiche le message //It Works!// contenu dans le fichier ''/​var/​www/​html/​index.html''​. |
Ligne 157: Ligne 157:
 ==== Création d'​hôtes virtuels ==== ==== Création d'​hôtes virtuels ====
  
-<​note>​Pour en savoir plus sur les hôtes virtuels d'​Apache,​ référez-vous à la [[http://​httpd.apache.org/​docs/​current/​mod/​core.html#​virtualhost|documentation officielle]] et à ses [[https://​httpd.apache.org/​docs/​current/​fr/​vhosts/​examples.html|exemples]].</​note>​+<​note>​Pour en savoir plus sur les hôtes virtuels d'​Apache,​ référez-vous à la [[http://​httpd.apache.org/​docs/​current/​mod/​core.html#​virtualhost|documentation officielle]] et à ses [[https://​httpd.apache.org/​docs/​current/​fr/​vhosts/​examples.html|exemples]]. 
 + 
 +Vous trouverez également des exemples de création d'​hôtes virtuels sous forme de tutoriels sur [[:​tutoriel:​lamp_repertoires_de_travail|cette page de la documentation.]]</​note>​
  
 Apache recommande de créer un fichier de configuration dans lequel est défini un hôte virtuel pour chaque site ou application web dans le répertoire ''/​etc/​apache2/​sites-available/''​. Apache recommande de créer un fichier de configuration dans lequel est défini un hôte virtuel pour chaque site ou application web dans le répertoire ''/​etc/​apache2/​sites-available/''​.
Ligne 197: Ligne 199:
 <​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 par un nom de domaine même sans avoir de nom de domaine enregistré chez un registrar. 
-Il suffit de résoudre l'IP du serveur pour un domaine fictif ​pour le 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 :
 <file - hosts>​127.0.0.1 example</​file>​ <file - hosts>​127.0.0.1 example</​file>​
-Avec la directive ''​ServerName example'',​ l'​hôte virtuel sera accessible depuis ce client à l'​adresse [[http://​example/​]].+où ''​127.0.0.1''​ est l'​adresse IP du serveur (locale dans ce cas) et ''​example''​ est le nom de domaine choisi.\\ 
 +(Voir la [[:​hosts|documentation concernant le fichier hosts]]) 
 + 
 +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>​
Ligne 436: Ligne 442:
 On change ensuite les [[:​permissions]] du contenu de manière à ce que l'​utilisateur puisse le lire et le modifier, mais qu'​Apache (dans le groupe //​www-data//​) ne puisse que le lire. On change ensuite les [[:​permissions]] du contenu de manière à ce que l'​utilisateur puisse le lire et le modifier, mais qu'​Apache (dans le groupe //​www-data//​) ne puisse que le lire.
  
-On attribue donc les [[:​droits]] ​750 (rwx r-x ---) pour les répertoires,​ et 640 (rw- r-- ---) pour les fichiers : +On attribue donc les [[:​droits]] ​''​rwx r-x ---''​ (750) pour les répertoires,​ et ''​rw- r-- ---''​ (640) pour les fichiers : 
-<​code>​sudo find /​var/​www/​example ​-type d -exec chmod 750 {} \; +<​code>​chmod --rwx,​u+rwX,​g+rX ​/​var/​www/​example</​code>​ 
-sudo find /​var/​www/​example ​-type f -exec chmod 640 {} \;</​code>​+(pour rappel ''​x''​ concerne les répertoires et les fichiers tandis que ''​X''​ ne concerne que les répertoires - et autorise à les ouvrir)
  
-Si Apache doit pouvoir modifier du contenu (pour un répertoire d'​upload par exemple), on ne modifie que la permission concernant le groupe (le second numéro), donc 770 (rwx rwx ---) pour les répertoires et 660 (rw- rw- ---) pour les fichiers : +Si Apache doit pouvoir modifier du contenu (pour un répertoire d'​upload par exemple), on ne modifie que la permission concernant le groupe (le second numéro), donc ''​rwx rwx ---''​ (770) pour les répertoires et ''​rw- rw- ---''​ (660) pour les fichiers : 
-<​code>​sudo find /​var/​www/​example/​upload ​-type d -exec chmod 770 {} \; +<​code>​chmod -R g+w /​var/​www/​example/​upload</​code>​
-sudo find /​var/​www/​example/​upload ​-type f -exec chmod 660 {} \;</​code>​+
  
 ==== Fail2ban ==== ==== Fail2ban ====
  • apache2.txt
  • Dernière modification: Le 17/04/2024, 12:19
  • par krodelabestiole