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:57]
Hypathie [Installer le module php]
doc:reseau:apache2:tp01 [23/09/2014 14:47]
Hypathie [Sécuriser son site web]
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 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 ====+===== 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 
 + 
 +Le module est activé par défaut, mais si ce n'​était pas le cas :  
 + 
 +<code root>​a2enmod php5</​code>​ 
 +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 root>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>​ 
 + 
 +Tous les outils sont en place pour apprendre les langages html et php ! 8-) 
 + 
 + 
 +=====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 350:
 <code root>​service apache2 restart</​code>​ <code root>​service apache2 restart</​code>​
  
-===Limiter l'​accès à toute l'​arborescence du système Linux===+====Modifier 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>​
  
-  * Ensuite on va modifier les directives du site "/​etc/​apache2/​sites-available/​monsite.com"​ :+  * Désactiver le site "​monsite.com"​ :
  
-Pour ce faire, on le désactive d'​abord : 
 <code root>​a2dissite monsite.com</​code>​ <code root>​a2dissite monsite.com</​code>​
  
-Et on recharge ​''​service ​apache2 ​reload''​.\\ +  * Ensuite ​on va modifier les directives du site "/​etc/​apache2/​sites-available/​monsite.com" ​: 
 + 
 +On édite "/etc/apache2/​sites-available/​monsite.com" :
  
-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 303: Ligne 372:
         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
                 AllowOverride None                 AllowOverride None
         </​Directory>​         </​Directory>​
Ligne 326: Ligne 395:
 > ''​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]])).
  
-  * On réactive ​le site : +> Si on ne peut pas mettre l'​option ''​-FollowSymLinks''​ dans le fichier "​sites-available/​default",​ on peut dans celui de son site
-<code root>a2ensite monsite.com</code>+ 
 +S'il s'agit d'un usage personnel local, on peut restreindre l'​accès au serveur avec les IP des clients du réseau local. 
 +  
 +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==== 
 +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/ ! 
  
-Et comme indiqué ​: ''​service apache2 reload''​.+Cela évitera aussi de mettre en place le module [[http://​httpd.apache.org/​docs/​current/​fr/​mod/​mod_userdir.html|userdir]],​ ce qui est déconseillé par la documentation d'apache(("​De même, soyez méfiant en jouant avec la directive UserDir"​))
  
-=====Développer son site web dans un /home/ et restreindre l'​accès par mot de passe===== 
-====Création d'un utilisateur apache2==== 
-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 341: Ligne 413:
  
   * 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 root>cd /​home/​web/</​code>​
 <​code>​mkdir -p monsite.com/​public_html</​code>​ <​code>​mkdir -p monsite.com/​public_html</​code>​
  
-  * On corrige l'​appartenance et les droits ​:+  * On édite un index pour le dossier /​home/​web/​monsite.com/​public_html/  ​: 
 +Le module php5 est en place et a été testé, donc on peut créer un "​index.php"​.
  
-<code root>chown -R root:​www-data ​/​home/​web/ ​&& chmod -R 755 /home/web/</​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>​ 
 + 
 +====Restreindre l'​accès à "​monsite.com"​ par login et mot de passe apache2==== 
 +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 en correspondance au utilisateur "​web"​ du système Linux, un mot de passe apache avec la commande ''​htpasswd''​**.
  
-  * On édite ​un index.html : +===Création d'un mot de passe pour accéder à "monsite.com"=== 
-<code root>vim /home/web/monsite.com/​public_html/index.html</​code>​+Le dossier ​/etc/local est un bon endroit pour créer les fichiers de mots de passe 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 372: Ligne 457:
 Par exemple du nom de "​groups"​ : Par exemple du nom de "​groups"​ :
 <code root>vim groups</​code>​ <code root>vim groups</​code>​
-<​code>​goupe1 web toto</​code>​+<​code>​goupe1web</​code>​
  
-====Création d'un virtualhost avec restriction d'​accès ​==== +====Modifier les fichiers des sites actifs de /​etc/​apache2/​sites-available ​==== 
-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" ​ === +
-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).+
  
-  * On désactive ​"​default" ​''​a2dissite 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éé.
  
   * On modifie "/​etc/​apache2/​sites-available/​default"​ comme ceci :   * On modifie "/​etc/​apache2/​sites-available/​default"​ comme ceci :
Ligne 392: Ligne 476:
                 Options FollowSymLinks                 Options FollowSymLinks
                 AllowOverride AuthConfig                 AllowOverride AuthConfig
 +                Order deny,allow
 +                deny from all
 +                allow from 192.168.0.0/​24
         </​Directory>​         </​Directory>​
         <​Directory /​var/​www/>​         <​Directory /​var/​www/>​
-                Options Indexes FollowSymLinks MultiViews 
-                AllowOverride AuthConfig 
-                Order allow,deny 
-                allow from all 
-                AuthType Basic 
                 AuthName "Ma zone est restreinte !"                 AuthName "Ma zone est restreinte !"
                 AuthBasicProvider file                 AuthBasicProvider file
                 AuthUserFile /​usr/​local/​apache/​passwd/​passwords                 AuthUserFile /​usr/​local/​apache/​passwd/​passwords
                 AuthGroupFile /​usr/​local/​apache/​passwd/​groups                 AuthGroupFile /​usr/​local/​apache/​passwd/​groups
-                Require ​valid-user+                Require user web 
 +                require group group1 
 +                ​
         </​Directory>​         </​Directory>​
 +
 +        ScriptAlias /cgi-bin/ /​usr/​lib/​cgi-bin/​
 +        <​Directory "/​usr/​lib/​cgi-bin">​
 +                AllowOverride None
 +                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
 +                Order allow,deny
 +                Allow from all
 +        </​Directory>​
 +        ErrorLog ${APACHE_LOG_DIR}/​error.log
 +
 +        # Possible values include: debug, info, notice, warn, error, crit,
 +        # alert, emerg.
 +        LogLevel warn
 +
 +        CustomLog ${APACHE_LOG_DIR}/​access.log combined
 </​code>​ </​code>​
  
 <​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''​. +-> on a mis ''​AllowOverride AuthConfig''​ à la place de ''​AllowOverride ​None'' ​non seulement dans la directive "<​Directory /​var/​www/>"​.\\ mais aussi dans "<​Directory />".
  
 **Pour autoriser l'​accès à tous les utilisateurs** qui ont un mot de passe apache :\\  **Pour autoriser l'​accès à tous les utilisateurs** qui ont un mot de passe apache :\\ 
--> ''​Require valid-user''​\\ ​ 
- 
-**On aurrait pu mettre** :\\  
 -> ''​Require user web''​\\ ​ -> ''​Require user web''​\\ ​
 -> ''​Require group groupe1''​\\ ​ -> ''​Require group groupe1''​\\ ​
  
-**On remarque que l'option ​''​Options ​-FollowSymLinks''​** : qui évite de suivre les liens symbolique depuis ​la racine ​/var/www +**On aurrait pu mettre** :\\  
-</note>+-> ''​Require valid-user''​\\  
 +Voir aussi la directive "​Satisfy"​ : [[http://httpd.apache.org/docs/​2.2/​howto/​auth.html]]
  
-===Création d'un compte système pour le Virtualhost à créer=== 
-  * 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 : +**Pour sécuriser l'​accès au système ​de fichier** :\\  
-<code root> passwd web</code +''​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]]\\ ​ 
-===Création du répertoire ​et des fichiers pour le site web "​monsite.com"​ === +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 ​:\\  
-  * On crée des dossiers principaux ​+''​<Directory ​/var/www/restricted/> ... </Directory>'
- +</​note>​
-<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>​ +  ​Pour "/etc/apache2/sites-available/​monsite.com"​ :  
- +<code root>vim /​etc/​apache2/​sites-available/​monsite.com</​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>​ <​code>​
 <​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 468: Ligne 539:
                 Options -FollowSymLinks                 Options -FollowSymLinks
                 AllowOverride AuthConfig                 AllowOverride AuthConfig
 +                Order deny,allow
 +                deny from all
 +                allow from 192.168.0.0/​24
         </​Directory>​         </​Directory>​
-        <​Directory /​var/​www/>​+        <​Directory /var/www/monsite.com>
                 Options -Indexes                 Options -Indexes
                 Options -FollowSymLinks                 Options -FollowSymLinks
Ligne 475: Ligne 549:
                 Options -ExecCGI                 Options -ExecCGI
                 Options MultiViews                 Options MultiViews
-                AllowOverride ​None +                AllowOverride ​AuthConfig 
-                ​Order deny,allow +                ​AuthType Basic 
-                ​deny from all +                ​AuthName "Ma zone est restreinte !" 
-                ​allow from 192.168.0.0/24+                ​AuthBasicProvider file 
 +                AuthUserFile ​/usr/​local/​apache/​passwd/​passwords 
 +                AuthGroupFile /​usr/​local/​apache/​passwd/​groups 
 +                Require user web
         </​Directory>​         </​Directory>​
         ScriptAlias /cgi-bin/ /​usr/​lib/​cgi-bin/​         ScriptAlias /cgi-bin/ /​usr/​lib/​cgi-bin/​
Ligne 497: Ligne 574:
 </​code>​ </​code>​
  
-  * On active ​le site "​monsite.com"​+===On supprime ​le fichier "​monsite.com"​ de /var/www/ === 
 +(Si on a suivi précédemment : [[atelier:​chantier:​apache2#​creation-du-site-web-dans-var-www|création de "​monsite.com" ​dans /​var/​www/​]]) 
 +<code root>cd /​var/​www/</​code>​ 
 +<code root>rm -r monsite.com</​code>​
  
-<code root>​a2ensite ​monsite.com</code>+===On crée un lien symbolique à la place===  
 +Le nom symbolique doit avoir pour nom celui du site ("monsite.com") et il faut le placer dans /var/www/ et le faire pointer vers les répertoires et fichiers où le site est développé (/​home/​web/​monsite.com/​) :
  
-<code root>service apache2 reload</​code>​+<code root>ln -s /​home/​web/​monsite.com/​ /​var/​www/​monsite.com</​code>​
  
-  * On vérifie : +====Vérifier l'appartenance et les droits des fichiers utilisés par "​apache"​====
-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.**+===Modifier le groupe de /var/www === 
 +Le groupe www-data ne doit pas être propriétaire ​de /var/www/ mais ce répertoire peut appartenir au groupe www-data. L'idée est ainsi de diminuer au maximum les droits du groupe www-data, tout en laissant possible la consultation du site web.
  
-<note tip> +<code root>chown -R root:​www-data /var/www/*</​code>​
-**__À ne pas confondre avec le module userdir__**. +
-Il permet de créer une page web servie par apache dans le répertoire utilisateur.\\  +
-Par exemple comme ceci :+
  
-<code root>​a2enmod userdir </code+===On vérifie les droits POSIX de /var/www/ === 
-Cela vient de créer un lien symbolique pour chacun de ces fichier ​dans "/etc/apache2/mods-enabled"​+<note important
 +A priori le fichier /var/www/index.php, au même titre que n'​importe quelle page web accessible depuis un navigateur web, devrait avoir les droits suivants :
  
-  * On recharge apache ​''​service apache2 restart''​+<​code>​-rw-r----- 1 root www-data 4096 sept. 22 11:47 index.php</​code>​
  
-**__Pour tester le module__** ​: +On utilise les droits suivants ​
- +  * droits en lecture ​<nowiki>(r)</nowikiécriture (w) sur les fichiers réguliers, 
-D'​abord il faut se loger en user ''​exit''​ +  * droits en lecture ​<nowiki>(r)</nowikiécriture (w) exécution (x) sur les répertoires.
-  * On crée un index.html dans le répertoire de l'​utilisateur principal du système : +
-<code user>cd /home/$USER</code> +
-<code user>​mkdir ~/​public_html && echo\ +
- "<​html><​body>​Notre test du module UserDir</​body></​html>"​\ +
- > ~/​public_html/​index.html</​code+
-  * On recharge apache : ''​service apache2 restart''​ +
-  * On vérifie que la page est accessible : +
-Dans le navigateur : ''​http://​ip-serveur/​~utilisateur''​ +
-<code>Notre test du module UserDir</code>+
 </​note>​ </​note>​
  
-Il reste à ajouter un module par exemple pour le php.  +  * **Pour ​le répertoire /var/www** , il faut donc :\\ ''​drwxr-xr-x  ​root root  4096 sept22 11:47 www'' 
-===== Installer le module php===== +<code root>​chmod 755 /var/www</code>
-===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>​+  * **Pour /​var/​www/​index.php**,​ il faut donc :\\ ''​-rw-r----- 1 root www-data 4096 sept. 22 11:47 index.php''​ 
 +<code root>chmod 640 /​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>​
  
-Une fois l'​installation effectuée on peut vérifier que php5 est apparu dans /etc/apache2/mod-available+  * **Pour ​/home/web/monsite.com/​public_html**,​ il faut donc :\\ ''​drwxr-xr-x 2 root www-data 4096 sept22 11:44 public_html'':​ 
 +<code root>​chmod 755 /​home/​web/​monsite.com/​public_html/</​code>​
  
-<code root>ls -l /etc/apache2/mods-available/php5*</​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''​ 
-<​code>​-rw-r--r-- 1 root root 898 août  21 10:49 /etc/apache2/mods-available/php5.conf +<code root>​chown ​root:www-data ​/home/web/monsite.com/​public_html/index.php\ 
--rw-r--r-- 1 root root  59 août  21 10:49 /etc/apache2/mods-available/php5.load</​code>​+ && chmod 640 /home/web/monsite.com/​public_html/index.php</​code>​
  
-Dans /​etc/​apache2/​mod-enabled,​ ce sont des liens symboliques qui activent ce module: +  * **Pour le lien symbolique ​/var/www/monsite.com** on ne peut pas modifier ces droits mais ce n'est pas graveCe qui compte c'est le fichier vers lequel pointe un lien symbolique.
-<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é.+===On vérifie depuis son navigateur===
  
-===Activer/​désactiver un module ===+  * On ré-active le site "​default"​
  
-  * ''​a2enmod''​ : (apache2 enable module) : active un module apache2 +<code root>​a2ensite default</​code>​
-  * ''​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''​+  * On ré-active ​le site "​monsite.com"​
  
-===Créer la page de test ===+<code root>​a2ensite monsite.com</​code>​
  
-<​code>​mv /​var/​www/​index.html /​var/​www/​index.php</​code>​ +  * On recharge apache2 :
-<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/'' ​:+{{http://​pix.toile-libre.org/​upload/​img/​1411461721.png?​250}} -> {{http://​pix.toile-libre.org/​upload/​img/​1411461425.png?​250}}
  
-<​code>​Bienvenue sur monsite.com 
  
-Site en cours de réalisation ! +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 ​!**
-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