logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

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
doc:reseau:apache2:tp01 [01/10/2015 11:47]
milou [Créer un site web avec apache2]
doc:reseau:apache2:tp01 [01/10/2015 13:19]
milou doc:programmation:shell:apache2 renommé en doc:reseau:apache2 (Erreur de redirection ...)
Ligne 6: Ligne 6:
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
   * Suivi : {{tag> à-tester}}   * Suivi : {{tag> à-tester}}
-    * Création par [[user>​Hypathie]] 20/​09/​2014 +    * Création par [[user>​Hypathie]] ​le 20/​09/​2014 
-    * Testé par Hypathie octobre 2014 sur Wheezy ​+    * Testé par [[user>Hypathie]] octobre 2014 sur Wheezy ​
   * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=98170#​p98170| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))    * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=98170#​p98170| Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
  
Ligne 38: Ligne 38:
 ===Installation d'​apache === ===Installation d'​apache ===
  
-<code root>​apt-get install apache2</​code>​+<code root>apt-get update && ​apt-get install apache2</​code>​
  
 Après l'​installation le serveur est fonctionnel. Si tout s'est bien passé, en tapant dans son navigateur ''​http://​192.168.x.xx/'',​ il doit s'​afficher ceci: Après l'​installation le serveur est fonctionnel. Si tout s'est bien passé, en tapant dans son navigateur ''​http://​192.168.x.xx/'',​ il doit s'​afficher ceci:
Ligne 57: Ligne 57:
 <code root>cd /​etc/​apache2/​ && ls</​code>​ <code root>cd /​etc/​apache2/​ && ls</​code>​
  
-<code>​apache2.conf ​ envvars ​ mods-available ​ ports.conf sites-enabled +<file config retour de la commande>​apache2.conf ​ envvars ​ mods-available ​ ports.conf sites-enabled 
-conf.d  ​     magic    mods-enabled ​   sites-available</​code>+conf.d  ​     magic    mods-enabled ​   sites-available</​file>
  
 Il est à noter que le fichier /​etc/​apache2/​apache2.conf est l'​équivalent du fichier httpd.conf des distributions Linux à base de RedHat.\\ ​ Il est à noter que le fichier /​etc/​apache2/​apache2.conf est l'​équivalent du fichier httpd.conf des distributions Linux à base de RedHat.\\ ​
Ligne 76: Ligne 76:
  
 <code root>cd /​etc/​apache2/​sites-available/​ && less default</​code>​ <code root>cd /​etc/​apache2/​sites-available/​ && less default</​code>​
-<code><​VirtualHost *:80>+<file config retour de la commande><​VirtualHost *:80>
         ServerAdmin webmaster@localhost         ServerAdmin webmaster@localhost
  
Ligne 97: Ligne 97:
                 Order allow,deny                 Order allow,deny
                 Allow from all                 Allow from all
-        </​Directory></​code>+        </​Directory></​file>
 On voit la ligne **''<​Directory /​var/​www/>''​**. C'est là le chemin du fichier qui contient le code html de la page d'​accueil.\\ ​ On voit la ligne **''<​Directory /​var/​www/>''​**. C'est là le chemin du fichier qui contient le code html de la page d'​accueil.\\ ​
  
 Vérifions cela. Vérifions cela.
 <code root>cd /var/www && ls</​code>​ <code root>cd /var/www && ls</​code>​
-<code>​index.html</​code>+<file config retour de la commande>​index.html</​file>
 <code root>​less index.html</​code>​ <code root>​less index.html</​code>​
  
-<code><​html><​body><​h1>​It works!</​h1>​+<file config retour de la commande><​html><​body><​h1>​It works!</​h1>​
 <​p>​This is the default web page for this server.</​p>​ <​p>​This is the default web page for this server.</​p>​
 <​p>​The web server software is running but no content has been added, yet.</​p>​ <​p>​The web server software is running but no content has been added, yet.</​p>​
-</​body></​html></​code>+</​body></​html></​file>
  
 Donc le site "​default"​ est configuré de sorte à mettre à disposition tout ce qui est dans /var/www. Mais ce n'est pas tout. Si la page d'​accueil s'​affiche sur le navigateur, c'est que le site de test de apache2 est activé. Cette activation dépend d'un lien symbolique entre un fichier du répertoire /​etc/​apache2/​sites-enabled/​ et un fichier du répertoire /​etc/​apache2/​sites-available/​default. ​ Donc le site "​default"​ est configuré de sorte à mettre à disposition tout ce qui est dans /var/www. Mais ce n'est pas tout. Si la page d'​accueil s'​affiche sur le navigateur, c'est que le site de test de apache2 est activé. Cette activation dépend d'un lien symbolique entre un fichier du répertoire /​etc/​apache2/​sites-enabled/​ et un fichier du répertoire /​etc/​apache2/​sites-available/​default. ​
Ligne 116: Ligne 116:
  
 <code root>cd /​etc/​apache2/​sites-enabled/​ && ls</​code>​ <code root>cd /​etc/​apache2/​sites-enabled/​ && ls</​code>​
-<code>​000-default</​code>+<file config retour de la commande>​000-default</​file>
 Ce fichier est un lien symbolique : il pointe vers /​etc/​apache2/​sites-available/​default. Ce fichier est un lien symbolique : il pointe vers /​etc/​apache2/​sites-available/​default.
  
 <code root>ls -l /​etc/​apache2/​sites-enabled/​000-default</​code>​ <code root>ls -l /​etc/​apache2/​sites-enabled/​000-default</​code>​
-<code>​lrwxrwxrwx 1 root root 26 sept. 19 06:06\ +<file config retour de la commande>​lrwxrwxrwx 1 root root 26 sept. 19 06:06\ 
- /​etc/​apache2/​sites-enabled/​000-default -> ../​sites-available/​default</​code>+ /​etc/​apache2/​sites-enabled/​000-default -> ../​sites-available/​default</​file>
  
 <​note>​ <​note>​
Ligne 135: Ligne 135:
 Cela peut se faire avec les commandes ''​ln -s''​ et ''​rm''​. Mais on utilise pour ce faire les utilitaires : Cela peut se faire avec les commandes ''​ln -s''​ et ''​rm''​. Mais on utilise pour ce faire les utilitaires :
   * ''​a2ensite''​ : (apache2 enable site) : active un site,   * ''​a2ensite''​ : (apache2 enable site) : active un site,
 +
   * ''​a2dissite''​ : (apache2 disable site) : désactive un site.   * ''​a2dissite''​ : (apache2 disable site) : désactive un site.
 </​note>​ </​note>​
Ligne 244: Ligne 245:
 Elles apparaissent quand on tape la commande : Elles apparaissent quand on tape la commande :
 <code root>​grep -v "​^#"​ /​etc/​locale.gen</​code>​ <code root>​grep -v "​^#"​ /​etc/​locale.gen</​code>​
-<code>​fr_FR.UTF-8 UTF-8</code>+<file config retour de la commande>​fr_FR.UTF-8 UTF-8</file>
  
   * Corriger le fichier /​etc/​apache2/​conf.d/​charset :   * Corriger le fichier /​etc/​apache2/​conf.d/​charset :
Ligne 268: Ligne 269:
   * Vider le cache du navigateur :    * Vider le cache du navigateur : 
 Par exemple, avec iceweasel :\\ Par exemple, avec iceweasel :\\
 +
 ''​Historique -> Supprimer l'​historique récent''​ ''​Historique -> Supprimer l'​historique récent''​
  
Ligne 286: Ligne 288:
  
 <code root>ls -l /​etc/​apache2/​mods-available/​php5*</​code>​ <code root>ls -l /​etc/​apache2/​mods-available/​php5*</​code>​
-<code>​-rw-r--r-- 1 root root 898 août  21 10:49 /​etc/​apache2/​mods-available/​php5.conf +<file config retour de la commande>​-rw-r--r-- 1 root root 898 août  21 10:49 /​etc/​apache2/​mods-available/​php5.conf 
--rw-r--r-- 1 root root  59 août  21 10:49 /​etc/​apache2/​mods-available/​php5.load</​code>+-rw-r--r-- 1 root root  59 août  21 10:49 /​etc/​apache2/​mods-available/​php5.load</​file>
  
 <note important>​Si après l'​installation le module php5 ne figure pas dans la liste des modules du fichier /​etc/​apache2/​mods-available/​ <note important>​Si après l'​installation le module php5 ne figure pas dans la liste des modules du fichier /​etc/​apache2/​mods-available/​
Ligne 306: Ligne 308:
 Dans /​etc/​apache2/​mod-enabled,​ ce sont des liens symboliques qui activent ce module: Dans /​etc/​apache2/​mod-enabled,​ ce sont des liens symboliques qui activent ce module:
 <code root>ls -l /​etc/​apache2/​mods-enabled/​php5*</​code>​ <code root>ls -l /​etc/​apache2/​mods-enabled/​php5*</​code>​
-<code>​lrwxrwxrwx 1 root root 27 sept. 20 11:40\+<file config retour de la commande>​lrwxrwxrwx 1 root root 27 sept. 20 11:40\
  /​etc/​apache2/​mods-enabled/​php5.conf -> ../​mods-available/​php5.conf  /​etc/​apache2/​mods-enabled/​php5.conf -> ../​mods-available/​php5.conf
 lrwxrwxrwx 1 root root 27 sept. 20 11:40\ lrwxrwxrwx 1 root root 27 sept. 20 11:40\
- /​etc/​apache2/​mods-enabled/​php5.load -> ../​mods-available/​php5.load</​code>+ /​etc/​apache2/​mods-enabled/​php5.load -> ../​mods-available/​php5.load</​file>
  
 Quand les liens sont là, comme ci-dessus, c'est que le module est activé. Quand les liens sont là, comme ci-dessus, c'est que le module est activé.
Ligne 318: Ligne 320:
  
   * ''​a2enmod''​ : (apache2 enable module) : active un module apache2   * ''​a2enmod''​ : (apache2 enable module) : active un module apache2
 +
   * ''​a2dismod''​ : (apache2 disable module) : désactive un module apache2   * ''​a2dismod''​ : (apache2 disable module) : désactive un module apache2
  
Ligne 422: Ligne 425:
  
 > ''​Options -Indexes''​ : Pour désactiver l'​option permettant le parcours d'un répertoire > ''​Options -Indexes''​ : Pour désactiver l'​option permettant le parcours d'un répertoire
 +
 > ''​Options -FollowSymLinks''​ : Pour désactiver l'​option permettant à apache de suivre des liens symboliques (qui pourraient permettre de quitter /var/www). > ''​Options -FollowSymLinks''​ : Pour désactiver l'​option permettant à apache de suivre des liens symboliques (qui pourraient permettre de quitter /var/www).
 +
 >  ''​Options -Includes''​ :  Pour désactiver l'​option permettant à apache de faire des inclusions côté serveur. >  ''​Options -Includes''​ :  Pour désactiver l'​option permettant à apache de faire des inclusions côté serveur.
 +
 > ''​Options -ExecCGI''​ : Pour désactiver l'​option permettant à apache l'​utilisation de scripts CGI. Désactiver cette option seulement si on n'​utilise pas de script CGI(([[http://​fr.wikipedia.org/​wiki/​Common_Gateway_Interface]])). > ''​Options -ExecCGI''​ : Pour désactiver l'​option permettant à apache l'​utilisation de scripts CGI. Désactiver cette option seulement si on n'​utilise pas de script CGI(([[http://​fr.wikipedia.org/​wiki/​Common_Gateway_Interface]])).
  
Ligne 469: Ligne 475:
  
 <code root>cd /usr/local/ && ls</​code>​ <code root>cd /usr/local/ && ls</​code>​
-<code>​bin ​ etc  games  include ​ lib  man  sbin  share  src</code>+<file config retour de la commande>​bin ​ etc  games  include ​ lib  man  sbin  share  src</file>
  
   * Il faut créer un dossier apache du nom de son choix :   * Il faut créer un dossier apache du nom de son choix :
Ligne 478: Ligne 484:
 La commande ''​htpasswd''​ va créer un fichier qui contiendra utilisateur apache /mot de passe. ​ La commande ''​htpasswd''​ va créer un fichier qui contiendra utilisateur apache /mot de passe. ​
 <code root>​htpasswd -c passwords web</​code>​ <code root>​htpasswd -c passwords web</​code>​
-<code>New password: ​+<file config séquence interactive>New password: ​
 Re-type new password: ​ Re-type new password: ​
-Adding password for user web</code>+Adding password for user web</file>
  
 -> ''​-c''​ pour la première fois qu'on crée un mot de passe. Si on l'​utilisait une deuxième fois pour le même fichier "​passwords",​ pour un deuxième utilisateur,​ on écrasera le contenu du fichier, et on perdrait le mot de passe du premier utilisateur. ​ Donc pour un éventuel deuxième utilisateur "​toto":​ ''​htpasswd passwords toto''​.\\ ​ -> ''​-c''​ pour la première fois qu'on crée un mot de passe. Si on l'​utilisait une deuxième fois pour le même fichier "​passwords",​ pour un deuxième utilisateur,​ on écrasera le contenu du fichier, et on perdrait le mot de passe du premier utilisateur. ​ Donc pour un éventuel deuxième utilisateur "​toto":​ ''​htpasswd passwords toto''​.\\ ​
Ligne 544: Ligne 550:
  
 <​note>​ <​note>​
-**Bien remarquer que pour pouvoir ajouter cette directive**\\  +**Bien remarquer que pour pouvoir ajouter cette directive**\\ 
--> on a mis ''​AllowOverride AuthConfig''​ à la place de ''​AllowOverride None''​ non seulement dans la directive "<​Directory /​var/​www/>"​.\\ ​mais aussi dans "<​Directory />"​.+  
 +-> on a mis ''​AllowOverride AuthConfig''​ à la place de ''​AllowOverride None''​ non seulement dans la directive "<​Directory /​var/​www/>"​.\\
  
-**Pour autoriser l'​accès à tous les utilisateurs** qui ont un mot de passe apache :\\  + mais aussi dans "<​Directory />"​. 
--> ''​Require user web''​\\ ​+ 
 +**Pour autoriser l'​accès à tous les utilisateurs** qui ont un mot de passe apache :\\ 
 +  
 +-> ''​Require user web''​\\ 
 + 
 -> ''​Require group groupe1''​\\ ​ -> ''​Require group groupe1''​\\ ​
  
-**On aurrait ​pu mettre** :\\  +**On aurait ​pu mettre** :\\ 
--> ''​Require valid-user''​\\ ​+ 
 +-> ''​Require valid-user''​\\ 
 Voir aussi la directive "​Satisfy"​ : [[http://​httpd.apache.org/​docs/​2.2/​howto/​auth.html]] Voir aussi la directive "​Satisfy"​ : [[http://​httpd.apache.org/​docs/​2.2/​howto/​auth.html]]
  
  
-**Pour sécuriser l'​accès au système de fichier** :\\ +**Pour sécuriser l'​accès au système de fichier** :\\ 
 + 
 ''​Require all denied''​ : interdire aux clients de parcourir l'​ensemble du système de fichiers. Ceci va interdire l'​accès par défaut à tous les fichiers du système de fichiers; Ensuite on autorise section par section. Voir [[http://​httpd.apache.org/​docs/​trunk/​fr/​misc/​security_tips.html]] et [[http://​httpd.apache.org/​docs/​2.2/​mod/​core.html#​require| require directive]]\\ ​ ''​Require all denied''​ : interdire aux clients de parcourir l'​ensemble du système de fichiers. Ceci va interdire l'​accès par défaut à tous les fichiers du système de fichiers; Ensuite on autorise section par section. Voir [[http://​httpd.apache.org/​docs/​trunk/​fr/​misc/​security_tips.html]] et [[http://​httpd.apache.org/​docs/​2.2/​mod/​core.html#​require| require directive]]\\ ​
-Pour l'​utiliser avec une zone restreinte, il faut alors l'​inclure dans <​Directory /> et créer la zone restreinte dans une directive séparée :\\ +Pour l'​utiliser avec une zone restreinte, il faut alors l'​inclure dans <​Directory /> et créer la zone restreinte dans une directive séparée :\\ 
 + 
 ''<​Directory /​var/​www/​restricted/>​ ... </​Directory>''​ ''<​Directory /​var/​www/​restricted/>​ ... </​Directory>''​
 </​note>​ </​note>​
Ligne 682: Ligne 697:
  
 **Ainsi paramétrer apache inscrit les événements anormaux dans l'un des fichiers du répertoire /​var/​log/​apache2/​error.log.** **Ainsi paramétrer apache inscrit les événements anormaux dans l'un des fichiers du répertoire /​var/​log/​apache2/​error.log.**
-On peut mettre l'un des neuf niveau d'​alerte,​ pour être alerter de la moindre information jusqu'​au alerte grave :\\  +On peut mettre l'un des neuf niveau d'​alerte,​ pour être alerter de la moindre information jusqu'​au alerte grave :\\ 
- ​-''​trace''​ : traçage des informations de différents niveaux (produit une grande quantité d'​informations);​\\  +  
- - ''​debug''​ : informations de débogage qui peut être utile pour repérer où un problème ;\\ + ​-''​trace''​ : traçage des informations de différents niveaux (produit une grande quantité d'​informations);​\\ 
 +  
 + - ''​debug''​ : informations de débogage qui peut être utile pour repérer où un problème ;\\ 
 + 
  - ''​info'': ​ message d'​information qui pourrait être bon à savoir;​\\ ​  - ''​info'': ​ message d'​information qui pourrait être bon à savoir;​\\ ​
 +
  - ''​notice''​ : signal un événement normal, mais à noter;​\\ ​  - ''​notice''​ : signal un événement normal, mais à noter;​\\ ​
- - ''​warn''​ : signal un événement anormal, mais pas très préoccupant;​\\  + 
- - ''​error''​ : signal que quelque chose a échoué;\\  + - ''​warn''​ : signal un événement anormal, mais pas très préoccupant;​\\ 
- - ''​crit''​ : problèmes importants qui doivent être pris en compte;​\\ ​  +  
- - ''​alert''​ : situation grave qui nécessite rapidement une action;​\\ ​ + - ''​error''​ : signal que quelque chose a échoué;\\ 
 + 
 + - ''​crit''​ : problèmes importants qui doivent être pris en compte;\\ 
 +   
 + - ''​alert''​ : situation grave qui nécessite rapidement une action;​\\ ​ 
 + 
  - ''​emerg''​ : urgence de la situation, le système est dans un état inutilisable.\\ ​  - ''​emerg''​ : urgence de la situation, le système est dans un état inutilisable.\\ ​
  
Ligne 824: Ligne 848:
 1) **Création de la clé privée** : par exemple ''​openssl genrsa 1024 > /​etc/​apache2/​ssl/​apache.key''​ 1) **Création de la clé privée** : par exemple ''​openssl genrsa 1024 > /​etc/​apache2/​ssl/​apache.key''​
  
-2) **À partir de cette clé privée, on crée un certificat CSR qui contient une clé publique** à faire signer : ''​openssl req -new -key /​etc/​apache2/​ssl/​apache.key > /​etc/​apache2/​ssl/​apache.csr''​+2) **À partir de cette clé privée, on crée un certificat CSR qui contient une clé publique** à faire signer :\\ 
 + 
 + ''​openssl req -new -key /​etc/​apache2/​ssl/​apache.key > /​etc/​apache2/​ssl/​apache.csr''​
  
 => C'est ce certificat qu'il faut faire signer par une autorité de certification (CA) => C'est ce certificat qu'il faut faire signer par une autorité de certification (CA)
 Ou qu'il faudra auto-signer. Ou qu'il faudra auto-signer.
  
-3) **On décide d'​auto-signer ce certificat donc on crée une clé privée qui serait celle du CA officielle** : ''​openssl genrsa -des3 1024 > ca.key''​\\ ​+3) **On décide d'​auto-signer ce certificat donc on crée une clé privée qui serait celle du CA officielle** :\\ 
 + 
 + ''​openssl genrsa -des3 1024 > ca.key''​\\ 
 -on peut ajouter -des3 qui introduit l'​usage d'une "​passphrase"​\\ ​ -on peut ajouter -des3 qui introduit l'​usage d'une "​passphrase"​\\ ​
 -c'est cette clé privée qui signera tous les certificats que l'on émettra ; cette "​passphrase"​ sera donc demandée à chaque utilisation de la clé. -c'est cette clé privée qui signera tous les certificats que l'on émettra ; cette "​passphrase"​ sera donc demandée à chaque utilisation de la clé.
  
-4) **Puis à partir de la clé privée, on crée un certificat x509 pour une durée de validité d'un an auto-signé**\\ ''​openssl req -new -x509 -days 365 -key ca.key > ca.crt''​\\ ​+4) **Puis à partir de la clé privée, on crée un certificat x509 pour une durée de validité d'un an auto-signé**\\ 
 + 
 + ''​openssl req -new -x509 -days 365 -key ca.key > ca.crt''​\\ 
 + 
 -On répondrait à nouveau aux questions, mais on changerait la réponse relative à "​Common Name". -On répondrait à nouveau aux questions, mais on changerait la réponse relative à "​Common Name".
  
-5) **Enfin il faudrait faire signer notre certificat de demande de signature par le certificat du CA (qui a été fait par nous-même) :**\\ +5) **Enfin il faudrait faire signer notre certificat de demande de signature par le certificat du CA (qui a été fait par nous-même) :**\\ 
 + 
 ''​openssl x509 -req -in /​etc/​apache2/​ssl/​apache.csr -out /​etc/​apache2/​ssl/​apache.crt -CA ca.crt -CAkey ca.key\ ''​openssl x509 -req -in /​etc/​apache2/​ssl/​apache.csr -out /​etc/​apache2/​ssl/​apache.crt -CA ca.crt -CAkey ca.key\
 -CAcreateserial -CAserial ca.srl''​\\ -CAcreateserial -CAserial ca.srl''​\\
doc/reseau/apache2/tp01.txt · Dernière modification: 01/11/2019 08:43 par smolski

Pied de page des forums

Propulsé par FluxBB