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 11:55]
Hypathie [Développer son site web dans un /home/]
doc:reseau:apache2:tp01 [22/09/2014 15:29]
Hypathie [Sécuriser son site web]
Ligne 118: Ligne 118:
  
 <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 /​etc/​apache2/​sites-enabled/​000-default -> ../​sites-available/​default</​code>​+<​code>​lrwxrwxrwx 1 root root 26 sept. 19 06:06
 + /​etc/​apache2/​sites-enabled/​000-default -> ../​sites-available/​default</​code>​
  
 <​note>​ <​note>​
Ligne 259: Ligne 260:
 </​code>​ </​code>​
  
-====Sécuriser son site ====+=====Sécuriser son site web===== 
 + 
 +====Sécuriser Apache2 ​====
 Ce n'est là qu'un minimum et non une sécurisation optimale. Ce n'est là qu'un minimum et non une sécurisation optimale.
 FIXME FIXME
-===Éditer le fichier /​etc/​apache2/​conf.d/​security ​=== +====Diffuser le minimum d'​information sur apache ==== 
-  * Il s'agit de diffuser le minimum d'​information sur apache.+  * Éditer le fichier /​etc/​apache2/​conf.d/​security.
  
 <code root>vim /​etc/​apache2/​conf.d/​security</​code>​ <code root>vim /​etc/​apache2/​conf.d/​security</​code>​
Ligne 281: Ligne 284:
 <code root>​service apache2 restart</​code>​ <code root>​service apache2 restart</​code>​
  
-===Limiter l'​accès à toute l'​arborescence du système Linux===+====Vérifier certaines options <​Directory>​ de son Virtualhost====
  
-  * Désactiver le site "​sites-available/​efault" :+  * Désactiver le site "​sites-available/​default" : 
  
 <code root>​a2dissite default</​code>​ <code root>​a2dissite default</​code>​
Ligne 303: Ligne 306:
         ServerAlias www.monsite.com         ServerAlias www.monsite.com
  
-        DocumentRoot /​var/​www/​monsite.com/​public_html+        DocumentRoot /​var/​www/​monsite.com
         <​Directory />         <​Directory />
                 Options FollowSymLinks                 Options FollowSymLinks
Ligne 331: Ligne 334:
 Et comme indiqué : ''​service apache2 reload''​. Et comme indiqué : ''​service apache2 reload''​.
  
-=====Développer son site web dans un /home/ et restreindre l'​accès par mot de passe===== +====Création d'​un ​nouvelle ​utilisateur ​du système Linux==== 
-====Création d'un utilisateur ​apache2==== +On développera son site dans le répertoire ​de cet utilisateur. Il est plus facile de surveiller un système ​bien rangé ! 
-Pas forcément du même nom que celui de l'utilisateur ​du système ​Linux+
   * Par exemple du nom de "​web"​   * Par exemple du nom de "​web"​
 <code root>​adduser --system web --ingroup www-data</​code>​ <code root>​adduser --system web --ingroup www-data</​code>​
Ligne 342: Ligne 345:
   * On crée les fichiers du site web, "​monsite.com"​ dans /home/web/:   * On crée les fichiers du site web, "​monsite.com"​ dans /home/web/:
 <​code>​mkdir -p monsite.com/​public_html</​code>​ <​code>​mkdir -p monsite.com/​public_html</​code>​
- 
-  * On corrige l'​appartenance et les droits : 
- 
-<code root>​chown -R root:​www-data /home/web/ && chmod -R 755 /​home/​web/</​code>​ 
  
   * On édite un index.html :   * On édite un index.html :
 <code root>vim /​home/​web/​monsite.com/​public_html/​index.html</​code>​ <code root>vim /​home/​web/​monsite.com/​public_html/​index.html</​code>​
 +<​code><​html>​
 + <​body>​
 + <​h1>​Bienvenue sur pegaseous.com</​h1>​
 +  <​p>​Site en cours de réalisation !</p>
 + </​body>​
 +</​html></​code>​
 +
 +====Restreindre l'​accès à "​monsite.com"​ par login et mot de passe ====
 +La création d'un mot de passe sécurise un peu l'​accès du site qu'on va crée pour le nouvel virtualhost.\\ ​
 +Pour ce faire on va créer un compte utilisateur du système Linux et un compte apache avec la commande htpasswd.
 +
 +===Création du compte apache avec mot de passe===
 +Le dossier /etc/local est un bon endroit pour créer les fichiers de mots de passe de ce compte apache.
  
-===Création du compte et du mot de passe=== 
-Le dossier /etc/local est un bon endroit pour créer les fichiers de mots de passe. 
 <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>​ <​code>​bin ​ etc  games  include ​ lib  man  sbin  share  src</​code>​
Ligne 374: Ligne 384:
 <​code>​goupe1 web toto</​code>​ <​code>​goupe1 web toto</​code>​
  
-====Création d'un virtualhost ​avec restriction d'​accès ==== +====Création d'un virtualhost ​qui bénifiera de la restriction d'​accès ==== 
-Pour restreindre l'​accès à l'​utilisateur apache afin qu'un login et mot de passe soit requis pour accéder au site du Virtualhost qui sera crée, il faut modifier d'​abord le virtualhost "/​etc/​apache2/​sites-available/​default"​+Pour restreindre l'​accès à "​monsite.com"​, il faut modifier d'​abord le virtualhost "/​etc/​apache2/​sites-available/​default"​ 
 ===Configurer le site "​default" ​ === ===Configurer le site "​default" ​ ===
-Cela est nécessaire pour restreindre l'​accès du site qui sera crée dans le répertoire de l'​utilisateur ​du système ($USER).+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 désactive "​default"​ : ''​a2dissite default''​
Ligne 422: Ligne 433:
 </​note>​ </​note>​
  
-===Création d'un compte système pour le Virtualhost à créer=== +===On modifie ​le virtualhost ​du site "​monsite.com"​===
-  * Par exemple ​du nom de "​web"​ +
-<code root>​adduser --system web --ingroup www-data</​code>​ +
- +
-  * On lui crée un mot de passe système : +
-<code root> passwd web</​code>​  +
-===Création du répertoire et des fichiers pour le site web "​monsite.com" ​=== +
-  * On crée des dossiers principaux : +
- +
-<code root>cd /home/web/ && mkdir -p monsite.com/​public_html</​code>​ +
- +
-  * On corrige l'​appartenance et les droits : +
- +
-<code root>​chown -R root:​www-data /home/web/ && chmod -R 755 /​home/​web/</​code>​ +
- +
-  * On édite un index.html : +
-<code root>vim /​home/​web/​monsite.com/​public_html/​index.html</​code>​ +
-<​code><​html>​ +
- <​body>​ +
- <​h1>​Bienvenue sur pegaseous.com</​h1>​ +
-  <​p>​Site en cours de réalisation !</​p>​ +
- </​body>​ +
-</​html></​code>​ +
- +
-  * On supprime "​monsite.com"​ de /var/www/ : +
-<code root>cd /​var/​www/</​code>​ +
-<code root>rm -r monsite.com</​code>​ +
- +
-  * On crée un lien symbolique "​monsite.com"​ dans /var/www/ : +
-<code root>ln -s /​home/​web/​monsite.com/​ /​var/​www/​monsite.com</​code>​ +
- +
-===Création d'un virtualhost pour le nouveau site "​monsite.com===+
  
 <code root>vim /​etc/​apache2/​sites-available/​monsite.com</​code>​ <code root>vim /​etc/​apache2/​sites-available/​monsite.com</​code>​
Ligne 460: Ligne 440:
 <​VirtualHost *:80> <​VirtualHost *:80>
         ServerAdmin webmaster@localhost         ServerAdmin webmaster@localhost
-        ServerName ​pegaseous.com+        ServerName ​monsite.com
         ServerAlias www.monsite.com         ServerAlias www.monsite.com
    
Ligne 496: Ligne 476:
 </​VirtualHost>​ </​VirtualHost>​
 </​code>​ </​code>​
 +
 +  * On supprime "​monsite.com"​ de /var/www/ :
 +<code root>cd /​var/​www/</​code>​
 +<code root>rm -r monsite.com</​code>​
 +
 +  * On crée un lien symbolique "​monsite.com"​ dans /var/www/ :
 +<code root>ln -s /​home/​web/​monsite.com/​ /​var/​www/​monsite.com</​code>​
  
   * On active le site "​monsite.com"​   * On active le site "​monsite.com"​
Ligne 502: Ligne 489:
  
 <code root>​service apache2 reload</​code>​ <code root>​service apache2 reload</​code>​
- 
-  * On vérifie : 
-Depuis son navigateur : ''​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.** 
  
 <note tip> <note tip>
Ligne 532: Ligne 514:
 </​note>​ </​note>​
  
-Il reste à ajouter ​un module par exemple pour le php+====Limiter l'​accès ​à toute l'​arborescence du système Linux==== 
 + 
 +===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>​ 
 + 
 +===On vérifie les droits POSIX de /var/www/ === 
 +<note tip> 
 +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 
 + 
 +On utilise les droits suivants : 
 +  * droits en lecture (r) écriture (w) sur les fichiers réguliers,​ 
 +  * droits en lecture (r) écriture (w) exécution (x) sur les répertoires. 
 +</​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 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>​ 
 + 
 +**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>​ 
 + 
 +**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>​ 
 + 
 +**Pour /​home/​web/​monsite.com/​public_html/​inde**,​ il faut donc :\\ ''​-rw-r----- 1 root www-data 111 sept. 22 11:44 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>​ 
 + 
 +**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. 
 + 
 +===On vérifie depuis son navigateur=== 
 +''​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 le module php=====
 ===Installer libapache2-mod-php5 === ===Installer libapache2-mod-php5 ===
Ligne 590: Ligne 614:
 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. 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 "pegaseous" :+  * Par exemple pour "monsite.com" :
  
-<code root>mv /home/web/pegaseous.com/​public_html/​index.html /home/web/pegaseous.com/​public_html/​index.php</​code>​+<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/pegaseous.com/​public_html/​index.php</​code>​+<code root>vim /home/web/monsite.com/​public_html/​index.php</​code>​
 <​code><​html>​ <​code><​html>​
  <​body>​  <​body>​
- <​h1>​Bienvenue sur pegaseous.com</​h1>​+ <​h1>​Bienvenue sur monsite.com</​h1>​
   <​p>​Site en cours de réalisation !</p>   <​p>​Site en cours de réalisation !</p>
 <?php <?php
Ligne 610: Ligne 634:
  
   * Tester en tapant dans le navigateur :   * Tester en tapant dans le navigateur :
-''​http://​ip-du-serveur/​pegaseous.com''​+''​http://​ip-du-serveur/​monsite.com''​
  
 et cliquer sur ''​public_html/''​ : et cliquer sur ''​public_html/''​ :
  
-<​code>​Bienvenue sur pegaseous.com+<​code>​Bienvenue sur monsite.com
  
 Site en cours de réalisation ! Site en cours de réalisation !
doc/reseau/apache2/tp01.txt · Dernière modification: 01/11/2019 08:43 par smolski

Pied de page des forums

Propulsé par FluxBB