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 [25/09/2014 15:40]
Hypathie [Sécuriser son site web]
doc:reseau:apache2:tp01 [19/04/2015 12:18]
Hypathie [Créer un site web avec apache2]
Ligne 8: Ligne 8:
     * Création par [[user>​Hypathie]] 20/09/2014     * Création par [[user>​Hypathie]] 20/09/2014
     * Testé par <...> le <​...> ​     * Testé par <...> le <​...> ​
-  * 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 !)) 
  
-**Nota : Ce wiki est écrit par une débutante ** 
  
 +
 +  * Référence : http://​www.apache.org/​
 ===== 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 17: Ligne 18:
 **Avant tout, il faut savoir que monter un serveur web pour de l'​auto-hébergement présente des risques.** Vous courrez par exemple le risque de donner un accès à tout votre réseau local à un pirate qui chercherait à prendre la main sur votre identité pour commettre des attaques illégales en votre nom.\\ ​ **Avant tout, il faut savoir que monter un serveur web pour de l'​auto-hébergement présente des risques.** Vous courrez par exemple le risque de donner un accès à tout votre réseau local à un pirate qui chercherait à prendre la main sur votre identité pour commettre des attaques illégales en votre nom.\\ ​
  
-Ce wiki a pour objet de proposer une initiation à apache2, et déploie son installation sur une machine en vue de l'​apprentissage; ​machine virtuelle ​qu'il faudra éteindre en dehors des TP, voire détruire plutôt que la laisser dans l'​oubli sur un systèmeDans tous les cas se documenter sur la sécurité.\\  +Ce wiki a pour objet de proposer une initiation à apache2, et déploie son installation sur une machine virtuelle.
 Si vous choisissez de déployer ce qui suit sur une machine réelle faisant office de serveur personnel en vue d'​auto-hébergement,​ l'​auteur et debian-facile décline toute responsabilité sur les conséquences fâcheuses qui pourraient en découler.\\ ​ Si vous choisissez de déployer ce qui suit sur une machine réelle faisant office de serveur personnel en vue d'​auto-hébergement,​ l'​auteur et debian-facile décline toute responsabilité sur les conséquences fâcheuses qui pourraient en découler.\\ ​
  
-Prenez le temps d'​apprendre à sécuriser un serveur ​web avant de vous lancer dans l’auto-hébergement ! 8-)+Prenez le temps d'​apprendre à sécuriser un serveur avant de vous lancer dans l’auto-hébergement ! 8-)
  
 ===Pré-requis === ===Pré-requis ===
Ligne 135: Ligne 135:
 </​note>​ </​note>​
  
-===Méthode pour créer son site avec apache2 === 
- 
-Cette configuration par défaut, indique donc comment s'y prendre pour créer un site web pris en charge par apache2. 
- 
-  * **D'​abord,​ un fichier contenant le code source de la page web**: 
-Il doit être créé dans /var/www/ :  /​var/​www/​dossier-du-site/​fichier.html. 
- 
-  * **Ensuite pour que apache gère ce site** : 
-Il faudra créer un utilisateur dans la base de apache ainsi qu'un fichier correspondant à la page web de /​var/​www/​dossier-du-site/​fichier.html dans /​etc/​apache2/​sites-available/​dossier-du-site. ​ 
- 
-  * **Enfin pour activer ce site** : 
-Il faudra créer un lien symbolique dans /​etc/​apache2/​sites-available/​ pointant vers /​etc/​apache2/​sites-available/​dossier-du-site. 
  
 **//Puisque tout est bien clair, créons notre propre site web.//** **//Puisque tout est bien clair, créons notre propre site web.//**
Ligne 251: Ligne 239:
   * Vider le cache du navigateur :    * Vider le cache du navigateur : 
 Par exemple, avec iceweasel :\\ Par exemple, avec iceweasel :\\
-''​Outils ​-> Supprimer l'​historique récent''​+''​Historique ​-> Supprimer l'​historique récent''​
  
 Et quand on recharge la page le problème est réglé : Et quand on recharge la page le problème est réglé :
Ligne 272: Ligne 260:
 -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</​code>​
  
 +<note important>​Si après l'​installation le module php5 ne figure pas dans la liste des modules du fichier /​etc/​apache2/​mods-available/​
 +
 +  * essayer : <code root>​install php5 libapache2-mod-php5</​code>​
 +
 +Et si cela n'est pas suffisant, suivre les directives de ce lien : 
 +
 +  * http://​digitizor.com/​2012/​09/​03/​how-to-fix-module-php5-does-not-exist-error-in-apache-linux/​
 +</​note>​
 +
 +
 +===Activer le module php5 ===
 +
 +<code root>​a2enmod php && /​etc/​init.d/​apache2 restart</​code>​
 +
 +<note tip>
 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>​
Ligne 279: Ligne 282:
  /​etc/​apache2/​mods-enabled/​php5.load -> ../​mods-available/​php5.load</​code>​  /​etc/​apache2/​mods-enabled/​php5.load -> ../​mods-available/​php5.load</​code>​
  
--> Puisque ​les liens sont là, le module est activé. +Quand les liens sont là, comme ci-dessus, c'est que le module est activé. 
 +</​note>​
  
  
Ligne 293: Ligne 296:
 Si on active ou désactive un module ne pas oublier après l'​opération de réactiver apache : ''​service apache2 restart''​ 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 ===+====Créer la page de test ====
  
  
Ligne 400: Ligne 403:
 Pour connaître la signification des différentes options à mettre soit dans "​sites-avaible"​ soit dans le fichier de son site voir : [[http://​httpd.apache.org/​docs/​2.2/​mod/​core.html]] Pour connaître la signification des différentes options à mettre soit dans "​sites-avaible"​ soit dans le fichier de son site voir : [[http://​httpd.apache.org/​docs/​2.2/​mod/​core.html]]
  
-====Création d'​un ​nouvelle ​utilisateur du système Linux====+====Création d'​un ​nouvel ​utilisateur du système Linux====
 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/ !  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/ ! 
  
Ligne 590: Ligne 593:
  
 ====Vérifier l'​appartenance et les droits des fichiers utilisés par "​apache"​==== ====Vérifier l'​appartenance et les droits des fichiers utilisés par "​apache"​====
-FIXME 
  
 ===Modifier le groupe de /var/www === ===Modifier le groupe de /var/www ===
Ligne 605: Ligne 607:
 On utilise les droits suivants : On utilise les droits suivants :
   * __Sur les fichiers réguliers__ : pour l'​utilisateur root, droits en lecture <​nowiki>​(r)</​nowiki>​ écriture (w) ; pour le groupe, droit de lecture seulement.   * __Sur les fichiers réguliers__ : pour l'​utilisateur root, droits en lecture <​nowiki>​(r)</​nowiki>​ écriture (w) ; pour le groupe, droit de lecture seulement.
 +
   * __Sur les répertoires__ : pour l'​utilisateur root, droits en lecture <​nowiki>​(r)</​nowiki>​ écriture (w) exécution (x) ; pour le groupe et les autres droit en lecture et exécution.   * __Sur les répertoires__ : pour l'​utilisateur root, droits en lecture <​nowiki>​(r)</​nowiki>​ écriture (w) exécution (x) ; pour le groupe et les autres droit en lecture et exécution.
 </​note>​ </​note>​
  
-  * **Pour ​le répertoire ​/var/www** , il faut donc :\\ ''​drwxr-xr-x ​ 2 root root  4096 sept. 22 11:47 www''​ +  * **Pour ​les répertoires ​/​var/​www ​et /home/web** : 
-<code root>​chmod 755 /var/www</​code>​ +<code root>​chmod ​-R 755 /var/www/ /​home/​web/</​code>​
- +
-  ​* **Pour /​var/​www/​index.php**,​ il faut donc :\\ ''​-rw-r----- 1 root www-data 4096 sept. 22 11:47 index.php''​ +
-<code root>​chmod ​644 /var/www/index.php</​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'':​ +  * **Pour ​les fichiers d'​index :** 
-<code root>​chmod ​755 /​home/​web/​monsite.com/​public_html/</​code>​+<code root>​chmod ​-R 644 /​var/​www/​index.php ​/​home/​web/​monsite.com/​public_html/​index.php</​code>​
  
-  * **Pour ​/​home/​web/​monsite.com/​public_html/​index.php**, il faut donc :\\ ''​-rw-r----- 1 root www-data 4096 sept. 22 11:44 index.php''​ +  * **Pour ​les propriétaires des fichiers d'index** : 
-<code root>​chown root:​www-data /home/web/​monsite.com/​public_html/​index.php\ +<code root>​chown root:​www-data /var/www/​index.php\ 
- && chmod 644 /​home/​web/​monsite.com/​public_html/​index.php</​code>​+ /​home/​web/​monsite.com/​public_html/​index.php</​code>​
  
   * **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.   * **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.
Ligne 655: Ligne 652:
   LogLevel warn   LogLevel warn
  
-**Ainsi paramétrer apache inscrit ​des logs d'erreur.** +**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);​\\ ​  ​-''​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 ;\\   - ''​debug''​ : informations de débogage qui peut être utile pour repérer où un problème ;\\ 
Ligne 669: Ligne 666:
 -> Par défaut, on est informé à partir du niveau choisi jusqu'​au niveau le plus grave.\\ ​ -> Par défaut, on est informé à partir du niveau choisi jusqu'​au niveau le plus grave.\\ ​
  
-===Où Apache conserve-t-il ses journaux?  ===+===Comment le système de journalisation est-il configuré ​?  ===
  
 Dans le fichier général **/​etc/​apache2/​apache2.conf** une ligne indique le fichier où sont consigné les logs :  Dans le fichier général **/​etc/​apache2/​apache2.conf** une ligne indique le fichier où sont consigné les logs : 
Ligne 794: Ligne 791:
   * Création de la clé privée et du certificat :   * Création de la clé privée et du certificat :
 <​note>​ <​note>​
-__**La commande qui suit cette note, peut s'​effectuer en quatre étapes:​**__\\ ​+__**La commande qui suit cette note, raccourcit ce qui suit:​**__\\ ​
  
 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''​
Ligne 814: Ligne 811:
 -CAcreateserial -CAserial ca.srl''​\\ -CAcreateserial -CAserial ca.srl''​\\
  
-Dans ce qui suit on a sauté les quatre premières ​étapes.\\ ​+Pour créer une connexion privée et sécurisée entre le serveur et les clients ​qui s'y connecteraient,​ il faudrait procurer ​ de façon sécurisé le fichier ca.crt (qu'on aurait fait nous-même en suivant toutes ces étapes) aux clients (ssh par exemple), afin qu'il soit installer dans leur navigateur.\\ Par exemple avec Iceweasel :\\ 
  
-Mais pour créer une connexion privée et sécurisée entre le serveur et les clients qui s'y connecteraient,​ il faudrait utiliser le fichier ca.crt (qu'on a fait nous-même) le procurer de façon sécurisé aux clients (ssh par exemple), et l'​installer dans son navigateur :\\ -> Edition -> préférence -> Confidentialité et Sécurité/​(bouton) Certificats ​-> gestion des certificats -> (Onglet)autorité/​(Bouton)importer+-> Edition -> préférence -> Avancé ​-> Afficher les certificats -> (Bouton)importer
 </​note>​ </​note>​
  
Ligne 860: Ligne 857:
 <code root>​mkdir -p /​home/​hypathie/​www/​pegaseous.com/​public_html</​code>​ <code root>​mkdir -p /​home/​hypathie/​www/​pegaseous.com/​public_html</​code>​
  
- * On crée un index dans /​home/​hypathie/​www/​+  ​* On crée un index dans /​home/​hypathie/​www/​ 
 <code root>mv /​var/​www/​index.html /​home/​hypathie/​www/</​code>​ <code root>mv /​var/​www/​index.html /​home/​hypathie/​www/</​code>​
  
Ligne 928: Ligne 926:
 </​VirtualHost>​ </​VirtualHost>​
 </​code>​ </​code>​
-  ​+
   * On charge le site "​default"​ :   * On charge le site "​default"​ :
 +
 <code root>​a2ensite default</​code>​ <code root>​a2ensite default</​code>​
  
   * On édite /​etc/​apache2/​ports.conf   * On édite /​etc/​apache2/​ports.conf
 +
 Pour s'​éviter d'​avoir au redémarrage d'​apache2 le message suivant : Pour s'​éviter d'​avoir au redémarrage d'​apache2 le message suivant :
 <​code>​service apache2 reload <​code>​service apache2 reload
-[....] Reloading web server config: apache2[Thu Sep 25 09:33:25 2014] [warn] NameVirtualHost 192.168.0.13:​80 has no VirtualHosts</​code>​+[....] Reloading web server config: apache2[Thu Sep 25 09:33:25 2014] 
 + [warn] NameVirtualHost 192.168.0.13:​80 has no VirtualHosts</​code>​
  
 <code root>vim /​etc/​apache2/​ports.conf</​code>​ <code root>vim /​etc/​apache2/​ports.conf</​code>​
Ligne 954: Ligne 955:
         ServerAdmin webmaster@localhost         ServerAdmin webmaster@localhost
         ​         ​
-        ServerName ​monsite.com+        ServerName ​pegaseous.com
         DocumentRoot /​home/​hypathie/​www         DocumentRoot /​home/​hypathie/​www
         <​Directory />         <​Directory />
doc/reseau/apache2/tp01.txt · Dernière modification: 01/11/2019 08:43 par smolski

Pied de page des forums

Propulsé par FluxBB