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 26/07/2018, 17:54]
krodelabestiole [Par défaut] reformulation IP *:80
apache2 [Le 09/04/2019, 10:55]
90.63.228.102 nn
Ligne 4: Ligne 4:
 {{ 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 serveur 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 serveur 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]].\\
Ligne 72: Ligne 72:
   * Il envoie une requête HTTP avec la méthode GET à l'IP du serveur sur le port 80 (ou HTTPS sur le port 443) pour lui demander de retourner un contenu particulier.   * Il envoie une requête HTTP avec la méthode GET à l'IP du serveur sur le port 80 (ou HTTPS sur le port 443) pour lui demander de retourner un contenu particulier.
   * Le serveur HTTP reçoit la requête, et en fonction de divers paramètres (URL appelée, configuration du serveur, etc.), va chercher un contenu dans un fichier ou lance un script qui va générer un contenu.   * Le serveur HTTP reçoit la requête, et en fonction de divers paramètres (URL appelée, configuration du serveur, etc.), va chercher un contenu dans un fichier ou lance un script qui va générer un contenu.
-  * Le serveur renvoie ce contenu à l'IP du navigateur ​sur le même port (80 ou 443).+  * Le serveur renvoie ce contenu à l'IP du navigateur ​depuis ​le même port (80 ou 443).
   * Le navigateur traite le contenu et le rend accessible à l'​internaute (en l'​affichant à l'​écran par ex.).   * Le navigateur traite le contenu et le rend accessible à l'​internaute (en l'​affichant à l'​écran par ex.).
  
Ligne 183: Ligne 183:
  
 ^ directive ^ description ^ ^ directive ^ description ^
-| <​file><​VirtualHost *:​80></​file>​ | On accepte les connections ​sur n'​importe quelle IP du serveur (''​*''​) sur le port 80. |+| <​file><​VirtualHost *:​80></​file>​ | On accepte les connexions ​sur n'​importe quelle IP du serveur (''​*''​) sur le port 80. |
 | <​file>​ServerName example.com</​file>​ | Cet hôte virtuel sera seulement appelé pour le nom de domaine //​example.com//​... | | <​file>​ServerName example.com</​file>​ | Cet hôte virtuel sera seulement appelé pour le nom de domaine //​example.com//​... |
 | <​file>​ServerAlias www.example.com</​file>​ | ...ainsi que pour le sous-domaine //<​nowiki>​www.example.com</​nowiki>//​. On peut spécifier ici d'​autres noms de domaine en les séparant par un espace. On peut aussi utiliser //​*.example.com//​ pour inclure tous les sous-domaines. | | <​file>​ServerAlias www.example.com</​file>​ | ...ainsi que pour le sous-domaine //<​nowiki>​www.example.com</​nowiki>//​. On peut spécifier ici d'​autres noms de domaine en les séparant par un espace. On peut aussi utiliser //​*.example.com//​ pour inclure tous les sous-domaines. |
Ligne 305: Ligne 305:
 Il s'agit généralement de remplacer le chemin, le nom de la page, et la chaîne de requête de l'​[[:​web#​url|URL]] par une chaîne de caractère en concordance avec la structure et le contenu du site. Il s'agit généralement de remplacer le chemin, le nom de la page, et la chaîne de requête de l'​[[:​web#​url|URL]] par une chaîne de caractère en concordance avec la structure et le contenu du site.
  
-De nombreux services ​on recour ​à cette pratique afin d'​augmenter leur référencement et de clarifier leur contenu.\\+De nombreux services ​ont recours ​à cette pratique afin d'​augmenter leur référencement et de clarifier leur contenu.\\
 Ces services utilisent parfois une terminologie exotique pour mentionner cette pratique : [[:​WordPress]] parle par ex. de //​permalinks//​.\\ Ces services utilisent parfois une terminologie exotique pour mentionner cette pratique : [[:​WordPress]] parle par ex. de //​permalinks//​.\\
 On peut aussi s'en servir pour déployer une [[https://​fr.wikipedia.org/​wiki/​Interface_de_programmation|API]] web propre.\\ On peut aussi s'en servir pour déployer une [[https://​fr.wikipedia.org/​wiki/​Interface_de_programmation|API]] web propre.\\
Ligne 340: Ligne 340:
  
 Pour activer ce module : Pour activer ce module :
-<​code>​sudo a2enmod proxy+<​code>​sudo a2enmod proxy proxy_http proxy_wstunnel
 sudo systemctl reload apache2</​code>​ sudo systemctl reload apache2</​code>​
  
Ligne 438: Ligne 438:
 Pour des raisons de sécurité il est recommandé de modifier le propriétaire des fichiers auxquels peut accéder Apache.\\ Pour des raisons de sécurité il est recommandé de modifier le propriétaire des fichiers auxquels peut accéder Apache.\\
 Le propriétaire devrait être l'​utilisateur qui va maintenir le contenu localement, mais le groupe propriétaire devrait rester //​www-data//​ : Le propriétaire devrait être l'​utilisateur qui va maintenir le contenu localement, mais le groupe propriétaire devrait rester //​www-data//​ :
-<​code>​sudo chown $USER:​www-data /​var/​www/​example ​-R</​code>​+<​code>​sudo chown -R $USER:​www-data /​var/​www/​example</​code>​
  
 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 -R a-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 ====
Ligne 513: Ligne 512:
    * [[tutoriel/​securiser_apache2_avec_ssl|Sécuriser Apache 2 avec SSL]]    * [[tutoriel/​securiser_apache2_avec_ssl|Sécuriser Apache 2 avec SSL]]
    * [[:​lamp|installer un serveur LAMP]]    * [[:​lamp|installer un serveur LAMP]]
 +   * [[:​tutoriel:​lamp_repertoires_de_travail|Serveur LAMP - Créer un/des répertoires de travail]]
    * [[:​docker_lamp|installer un serveur LAMP avec Docker]]    * [[:​docker_lamp|installer un serveur LAMP avec Docker]]
    * [[https://​www.it-connect.fr/​cours-tutoriels/​administration-systemes/​serveur-web/​apache/​|Plusieurs tutoriels sur la configuration d'​Apache sur IT-Connect]]    * [[https://​www.it-connect.fr/​cours-tutoriels/​administration-systemes/​serveur-web/​apache/​|Plusieurs tutoriels sur la configuration d'​Apache sur IT-Connect]]
  • apache2.txt
  • Dernière modification: Le 17/04/2024, 12:19
  • par krodelabestiole