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 [22/09/2014 15:44]
Hypathie [Sécuriser son site web]
doc:reseau:apache2:tp01 [22/09/2014 17:28]
Hypathie [Installer le module php]
Ligne 12: Ligne 12:
 **Nota : Ce wiki est écrit par une débutante ** **Nota : Ce wiki est écrit par une débutante **
  
-Contributeurs,​ merci de compléter [[atelier:​chantier:​apache2#​securiser-son-site|la partie sur la sécurité]] ! FIXME +Contributeurs,​ merci de compléter [[atelier:​chantier:​apache2#​securiser-son-site-web|la partie sur la sécurité]] ! FIXME 
 ===== Introduction ===== ===== Introduction =====
 Ce qui est mis en œuvre ici concerne une utilisation d'un serveur apache sur un réseau local qui ne pointe pas un nom de domaine acquis mais fictif.\\ ​ Ce qui est mis en œuvre ici concerne une utilisation d'un serveur apache sur un réseau local qui ne pointe pas un nom de domaine acquis mais fictif.\\ ​
Ligne 259: Ligne 259:
 La mise en place d'un Virtualhost est réussie ! La mise en place d'un Virtualhost est réussie !
 </​code>​ </​code>​
 +
 +===== Installer le module php=====
 +===Installer libapache2-mod-php5 ===
 +Ce paquet casse le MPM worker(([[http://​httpd.apache.org/​docs/​2.2/​mod/​worker.html]])) et engendre l'​installation du MPM prefork(([[http://​httpd.apache.org/​docs/​2.2/​mod/​prefork.html]])).\\ ​
 +
 +<code root>​apt-get install libapache2-mod-php5</​code>​
 +
 +
 +Une fois l'​installation effectuée on peut vérifier que php5 est apparu dans /​etc/​apache2/​mod-available. ​
 +
 +<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
 +-rw-r--r-- 1 root root  59 août  21 10:49 /​etc/​apache2/​mods-available/​php5.load</​code>​
 +
 +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>​lrwxrwxrwx 1 root root 27 sept. 20 11:40\
 + /​etc/​apache2/​mods-enabled/​php5.conf -> ../​mods-available/​php5.conf
 +lrwxrwxrwx 1 root root 27 sept. 20 11:40\
 + /​etc/​apache2/​mods-enabled/​php5.load -> ../​mods-available/​php5.load</​code>​
 +
 +-> Puisque les liens sont là, le module est activé.
 +
 +===Activer/​désactiver un module ===
 +
 +  * ''​a2enmod''​ : (apache2 enable module) : active un module apache2
 +  * ''​a2dismod''​ : (apache2 disable module) : désactive un module apache2
 +
 +Si on active ou désactive un module ne pas oublier après l'​opération de réactiver apache : ''​service apache2 restart''​
 +
 +===Créer la page de test ===
 +
 +<​code>​mv /​var/​www/​index.html /​var/​www/​index.php</​code>​
 +<code root>vim /​var/​www/​index.php</​code>​
 +<​code>​
 +<​html>​
 + <​body>​
 +  <​h1>​It works!</​h1>​
 +  <​p>​This is the default web page for this server.</​p>​
 +  <?php
 +echo "La date du jour est " . date("​d/​m/​Y"​) . "​!\n";​
 +  ?>
 + </​body>​
 +</​html>​
 +</​code>​
 +
 +  * Recharger apache : 
 + 
 +<code root>​service apache2 restart</​code>​
 +
 +  * Tester en tapant dans le navigateur :
 +''​http://​ip-du-serveur/''​
 +
 +<​code>​It works!
 +
 +This is the default web page for this server.
 +La date du jour est 20/09/2014! </​code>​
 +
 +Puisque tout fonctionne, pour utiliser php dans les autres sites, il n'y a qu'à modifier le nom de leur page d'​index.html en index.php et entrer du code php bien sûr.
 +
 +  * Par exemple pour "​monsite.com"​ :
 +
 +<code root>mv /​home/​web/​monsite.com/​public_html/​index.html /​home/​web/​monsite.com/​public_html/​index.php</​code>​
 +
 +<code root>vim /​home/​web/​monsite.com/​public_html/​index.php</​code>​
 +<​code><​html>​
 + <​body>​
 + <​h1>​Bienvenue sur monsite.com</​h1>​
 +  <​p>​Site en cours de réalisation !</p>
 +<?php
 +echo "La date du jour est " . date("​d/​m/​Y"​) . "​!\n";​
 +  ?>
 + </​body>​
 +</​html></​code>​
 +
 +  * Recharger apache : 
 + 
 +<code root>​service apache2 reload</​code>​
 +
 +  * Tester en tapant dans le navigateur :
 +''​http://​ip-du-serveur/​monsite.com''​
 +
 +et cliquer sur ''​public_html/''​ :
 +
 +<​code>​Bienvenue sur monsite.com
 +
 +Site en cours de réalisation !
 +La date du jour est 20/09/2014! </​code>​
 +
 +Tous les outils sont en place pour apprendre les langages html et php ! 8-)
 +
  
 =====Sécuriser son site web===== =====Sécuriser son site web=====
Ligne 296: Ligne 387:
   * Ensuite on va modifier les directives du site "/​etc/​apache2/​sites-available/​monsite.com"​ :   * Ensuite on va modifier les directives du site "/​etc/​apache2/​sites-available/​monsite.com"​ :
  
-Pour ce faire, on le désactive d'​abord : +On édite "/​etc/​apache2/​sites-available/​monsite.com" ​:
-<code root>​a2dissite ​monsite.com</​code>​ +
- +
-Et on recharge ​''​service apache2 reload''​.\\ ​+
  
-Puis on édite "/​etc/​apache2/​sites-available/​monsite.com"​. 
 <code root>vim /​etc/​apache2/​sites-available/​monsite.com</​code>​ <code root>vim /​etc/​apache2/​sites-available/​monsite.com</​code>​
  
Ligne 334: Ligne 421:
  
 ====Création d'un nouvelle utilisateur du système Linux==== ====Création d'un nouvelle utilisateur du système Linux====
-On développera son site dans le répertoire de cet utilisateur. Il est plus facile ​de surveiller un système bien rangé ​!+On développera son site dans le répertoire de cet utilisateur. Il est déconseillé ​de développer son site dans /var/www, surtout si la partition est plus petite que /​home/ ​Cela évitera aussi de mettre en place le module [[http://​httpd.apache.org/​docs/​current/​fr/​mod/​mod_userdir.html|userdir]] déconseillé par la documentation d'​apache.
  
   * Par exemple du nom de "​web"​   * Par exemple du nom de "​web"​
Ligne 389: Ligne 476:
 ===Pour "/​etc/​apache2/​sites-available/​default" ​ === ===Pour "/​etc/​apache2/​sites-available/​default" ​ ===
 Cela est nécessaire pour restreindre l'​accès du site qui est développé dans le répertoire de l'​utilisateur /​home/​web/​monsite.com qu'on a créé. Cela est nécessaire pour restreindre l'​accès du site qui est développé dans le répertoire de l'​utilisateur /​home/​web/​monsite.com qu'on a créé.
- 
-  * On désactive "​default"​ : ''​a2dissite default''​ 
  
   * On modifie "/​etc/​apache2/​sites-available/​default"​ comme ceci :   * On modifie "/​etc/​apache2/​sites-available/​default"​ comme ceci :
Ligne 481: Ligne 566:
 <code root>rm -r monsite.com</​code>​ <code root>rm -r monsite.com</​code>​
  
-  * On crée un lien symbolique "​monsite.com"​ dans /var/www/ :+  * On crée un lien symbolique "​monsite.com"​ dans /var/www/ vers /​home/​web/​monsite.com/ :
 <code root>ln -s /​home/​web/​monsite.com/​ /​var/​www/​monsite.com</​code>​ <code root>ln -s /​home/​web/​monsite.com/​ /​var/​www/​monsite.com</​code>​
  
Ligne 487: Ligne 572:
  
 ===Modifier le groupe de /var/www === ===Modifier le groupe de /var/www ===
-On attribue les fichiers de /var/www au groupe www-data et non à l'​utilisateur root. 
  
 <code root>​chown -R root:​www-data /​var/​www/​*</​code>​ <code root>​chown -R root:​www-data /​var/​www/​*</​code>​
Ligne 495: Ligne 579:
 A priori le fichier /​var/​www/​index.html,​ au même titre que n'​importe quelle page web accessible depuis un navigateur web, devrait avoir les droits suivants : A priori le fichier /​var/​www/​index.html,​ au même titre que n'​importe quelle page web accessible depuis un navigateur web, devrait avoir les droits suivants :
  
-  -rw-r----- 1 root www-data ​142  3 déc 17:03 index.html+  -rw-r----- 1 root www-data ​4096 sept22 11:47 index.html
  
 On utilise les droits suivants : On utilise les droits suivants :
-  * droits en lecture (r) écriture (w) sur les fichiers réguliers,​ +  * droits en lecture ​<​nowiki>​(r)</​nowiki> ​écriture (w) sur les fichiers réguliers,​ 
-  * droits en lecture (r) écriture (w) exécution (x) sur les répertoires.+  * droits en lecture ​<​nowiki>​(r)</​nowiki> ​écriture (w) exécution (x) sur les répertoires.
 </​note>​ </​note>​
  
-<code root>cd /​var/</​code>​+  * **Pour le répertoire /var/www** , il faut donc :\\ ''​drwxr-xr-x ​ 2 root root  4096 sept. 22 11:47 www''​ 
 +<code root>chmod 755 /var/www</​code>​
  
-**Pour le répertoire /var/www** , il faut donc :\\ ''​drwxr-xr-x ​ 2 root root  4096 sept. 22 11:47 www''​ +  ​* **Pour /​var/​www/​index.html**,​ il faut donc :\\ ''​-rw-r----- 1 root www-data ​4096 sept22 11:47 index.html''​
-<code root>​chmod 755 www</​code>​ +
- +
-**Pour /​var/​www/​index.html**,​ il faut donc :\\ ''​-rw-r----- 1 root www-data ​142  3 déc 17:03 index.html''​+
 <code root>​chmod 640 /​var/​www/​index.html</​code>​ <code root>​chmod 640 /​var/​www/​index.html</​code>​
  
-**Pour /​home/​web/​monsite.com**,​ il faut donc :\\ ''​drwxr-xr-x 3 root www-data 4096 sept. 22 11:44 monsite.com'':​+  * **Pour /​home/​web/​monsite.com**,​ il faut donc :\\ ''​drwxr-xr-x 3 root www-data 4096 sept. 22 11:44 monsite.com'':​
 <code root>​chmod 755 /​home/​web/​monsite.com/</​code>​ <code root>​chmod 755 /​home/​web/​monsite.com/</​code>​
  
-**Pour /​home/​web/​monsite.com/​public_html**,​ il faut donc :​\\''​drwxr-xr-x 2 root www-data 4096 sept. 22 11:44 public_html'':​+  * **Pour /​home/​web/​monsite.com/​public_html**,​ il faut donc :\\ ''​drwxr-xr-x 2 root www-data 4096 sept. 22 11:44 public_html'':​
 <code root>​chmod 755 /​home/​web/​monsite.com/​public_html/</​code>​ <code root>​chmod 755 /​home/​web/​monsite.com/​public_html/</​code>​
  
-**Pour /​home/​web/​monsite.com/​public_html/​inde**,​ il faut donc :\\ ''​-rw-r----- 1 root www-data ​111 sept. 22 11:44 index.html''​+  * **Pour /​home/​web/​monsite.com/​public_html/​inde**,​ il faut donc :\\ ''​-rw-r----- 1 root www-data ​4096 sept. 22 11:44 index.html''​
 <code root>​chown root:​www-data /​home/​web/​monsite.com/​public_html/​index.html\ <code root>​chown root:​www-data /​home/​web/​monsite.com/​public_html/​index.html\
  &&​ chmod 640 /​home/​web/​monsite.com/​public_html/​index.html</​code>​  &&​ chmod 640 /​home/​web/​monsite.com/​public_html/​index.html</​code>​
  
-**Pour le lien symbolique /​var/​www/​monsite.com** : on ne peut modifier ces droits mais ce n'est pas grave. Ce qui compte c'est le fichier vers lequel pointe un lien symbolique.+  * **Pour le lien symbolique /​var/​www/​monsite.com** : on ne peut pas modifier ces droits mais ce n'est pas grave. Ce qui compte c'est le fichier vers lequel pointe un lien symbolique.
  
 ===On vérifie depuis son navigateur=== ===On vérifie depuis son navigateur===
 +
 +  * On ré-active le site "​default"​
 +
 +<code root>​a2ensite default</​code>​
  
   * On ré-active le site "​monsite.com"​   * On ré-active le site "​monsite.com"​
Ligne 528: Ligne 614:
 <code root>​a2ensite monsite.com</​code>​ <code root>​a2ensite monsite.com</​code>​
  
-<code root>​service ​apache2 ​reload</​code>​ +  * On recharge ​apache2 :
-''​http://​ip-serveur/​monsite.com/''​\\ ​+
  
-8-) **Le login du compte apache (nom de l'​utilisateur du système Linux) est demandé ainsi que son mot de passe.** 
- 
-===== Installer le module php===== 
-===Installer libapache2-mod-php5 === 
-Ce paquet casse le MPM worker(([[http://​httpd.apache.org/​docs/​2.2/​mod/​worker.html]])) et engendre l'​installation du MPM prefork(([[http://​httpd.apache.org/​docs/​2.2/​mod/​prefork.html]])).\\ ​ 
- 
-<code root>​apt-get install libapache2-mod-php5</​code>​ 
- 
- 
-Une fois l'​installation effectuée on peut vérifier que php5 est apparu dans /​etc/​apache2/​mod-available. ​ 
- 
-<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 
--rw-r--r-- 1 root root  59 août  21 10:49 /​etc/​apache2/​mods-available/​php5.load</​code>​ 
- 
-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>​lrwxrwxrwx 1 root root 27 sept. 20 11:40 /​etc/​apache2/​mods-enabled/​php5.conf -> ../​mods-available/​php5.conf 
-lrwxrwxrwx 1 root root 27 sept. 20 11:40 /​etc/​apache2/​mods-enabled/​php5.load -> ../​mods-available/​php5.load</​code>​ 
- 
--> Puisque les liens sont là, le module est activé. 
- 
-===Activer/​désactiver un module === 
- 
-  * ''​a2enmod''​ : (apache2 enable module) : active un module apache2 
-  * ''​a2dismod''​ : (apache2 disable module) : désactive un module apache2 
- 
-Si on active ou désactive un module ne pas oublier après l'​opération de réactiver apache : ''​service apache2 restart''​ 
- 
-===Créer la page de test === 
- 
-<​code>​mv /​var/​www/​index.html /​var/​www/​index.php</​code>​ 
-<code root>vim /​var/​www/​index.php</​code>​ 
-<​code>​ 
-<​html>​ 
- <​body>​ 
-  <​h1>​It works!</​h1>​ 
-  <​p>​This is the default web page for this server.</​p>​ 
-  <?php 
-echo "La date du jour est " . date("​d/​m/​Y"​) . "​!\n";​ 
-  ?> 
- </​body>​ 
-</​html>​ 
-</​code>​ 
- 
-  * Recharger apache :  
-  
-<code root>​service apache2 restart</​code>​ 
- 
-  * Tester en tapant dans le navigateur : 
-''​http://​ip-du-serveur/''​ 
- 
-<​code>​It works! 
- 
-This is the default web page for this server. 
-La date du jour est 20/09/2014! </​code>​ 
- 
-Puisque tout fonctionne, pour utiliser php dans les autres sites, il n'y a qu'à modifier le nom de leur page d'​index.html en index.php et entrer du code php bien sûr. 
- 
-  * Par exemple pour "​monsite.com"​ : 
- 
-<code root>mv /​home/​web/​monsite.com/​public_html/​index.html /​home/​web/​monsite.com/​public_html/​index.php</​code>​ 
- 
-<code root>vim /​home/​web/​monsite.com/​public_html/​index.php</​code>​ 
-<​code><​html>​ 
- <​body>​ 
- <​h1>​Bienvenue sur monsite.com</​h1>​ 
-  <​p>​Site en cours de réalisation !</p> 
-<?php 
-echo "La date du jour est " . date("​d/​m/​Y"​) . "​!\n";​ 
-  ?> 
- </​body>​ 
-</​html></​code>​ 
- 
-  * Recharger apache :  
-  
 <code root>​service apache2 reload</​code>​ <code root>​service apache2 reload</​code>​
  
-  * Tester en tapant dans le navigateur : +Enfin depuis son navigateur : ''​http://​ip-serveur/​monsite.com/''​\\ 
-''​http://​ip-du-serveur/​monsite.com''​+
  
-et cliquer sur ''​public_html/''​ : +8-) **Le login du compte apache (nom de l'utilisateur ​du système Linux) ​est demandé ainsi que son mot de passe et on peut accéder à ses pages d'​index ​!**
- +
-<​code>​Bienvenue sur monsite.com +
- +
-Site en cours de réalisation ! +
-La date du jour est 20/09/2014! </​code>​ +
- +
-Tous les outils sont en place pour apprendre les langages html et php 8-)+
  
  
doc/reseau/apache2/tp01.txt · Dernière modification: 01/11/2019 08:43 par smolski

Pied de page des forums

Propulsé par FluxBB