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 →
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:reseau:apache2:tp01 [20/09/2014 16:49] Hypathie créée |
doc:reseau:apache2:tp01 [21/09/2014 06:09] Hypathie [Installer le module php] |
||
---|---|---|---|
Ligne 5: | Ligne 5: | ||
* Commentaires : Apprendre à configurer un serveur web sur son réseau local. | * Commentaires : Apprendre à configurer un serveur web sur son réseau local. | ||
* 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>en-chantier à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | + | * Suivi : {{tag> à-tester à-placer}}. |
* 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 : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * 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 :** | + | **Nota : Ce wiki est écrit par une débutante ** |
- | + | ||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | + | |
+ | Contributeurs, merci de compléter [[atelier:chantier:apache2#securiser-son-site|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 40: | Ligne 39: | ||
<code root>apt-get install apache2</code> | <code root>apt-get install apache2</code> | ||
- | Après l'installation le serveur est fonctionnel. Si tout c'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: |
<code>It works! | <code>It works! | ||
Ligne 59: | Ligne 58: | ||
conf.d magic mods-enabled sites-available</code> | conf.d magic mods-enabled sites-available</code> | ||
- | Il est à noter que le fichier /etc/apache2/apache2.conf est l'équivalent du fichier httpd.conf des distribution 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.\\ |
- | Il inclue d'autres fichiers de configuration qu'on n'a pas besoin de modifier pour une utilisation simple et personnelle d'apache2. | + | Il inclut d'autres fichiers de configuration qu'on n'a pas besoin de modifier pour une utilisation simple et personnelle d'apache2. |
Les quatre sous-répertoires à relever dans un premier temps pour comprendre le fonctionnement d'apache sont : | Les quatre sous-répertoires à relever dans un premier temps pour comprendre le fonctionnement d'apache sont : | ||
Ligne 72: | Ligne 71: | ||
Ce répertoire contient des fichiers qui indiquent les sites hébergés par apache2.\\ | Ce répertoire contient des fichiers qui indiquent les sites hébergés par apache2.\\ | ||
- | Puisque après l'installation, il a été possible d'afficher un page web d'accueil, ce répertoire contient un fichier qui le permet : | + | Puisque après l'installation, il a été possible d'afficher une page web d'accueil, c'est que ce répertoire contient un fichier qui le permet : |
<code root>cd sites-available/ && less default</code> | <code root>cd sites-available/ && less default</code> | ||
Ligne 97: | Ligne 96: | ||
Allow from all | Allow from all | ||
</Directory></code> | </Directory></code> | ||
- | On voit la ligne **''<Directory /var/www/>''**. C'est là qu'il y a un fichier qui contient le code html qui affiche 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. | ||
Ligne 109: | Ligne 108: | ||
</body></html></code> | </body></html></code> | ||
- | 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 de /etc/apache2/sites-enabled/ et le fichier /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. |
* **/etc/apache2/sites-enabled/** : | * **/etc/apache2/sites-enabled/** : | ||
Ligne 122: | Ligne 121: | ||
<note> | <note> | ||
- | Pour l'instant, le serveur apache se contente d'envoyer du code HTML, CSS, javascript au navigateur, c'est-à-dire du code écrits dans un langage compris par le navigateur (côté client). Pour le PHP interpréter par le serveur, il faut mettre en place un module php. Pour mettre cela en place il faudra considérer cette fois les répertoires /etc/apache2/mods-available/ et /etc/apache2/mods-enabled/ dont il sera question plus bas. | + | Pour l'instant, le serveur apache se contente d'envoyer du code HTML, CSS, javascript au navigateur, c'est-à-dire du code écrit dans un langage compris par le navigateur (côté client). Pour le PHP interprété par le serveur, il faudra mettre en place un module php. Pour mettre cela en place il faudra considérer cette fois les répertoires /etc/apache2/mods-available/ et /etc/apache2/mods-enabled/ dont il sera question plus bas. |
</note> | </note> | ||
Revenons sur la configuration par défaut d'apache2, et la mise en service de la page d'accueil.\\ | Revenons sur la configuration par défaut d'apache2, et la mise en service de la page d'accueil.\\ | ||
<note tip> | <note tip> | ||
- | C'est le fait de la présence de ce lien symbolique /etc/apache2/sites-enabled/000-default qui pointe vers le site déclaré et correctement configuré /etc/apache2/sites-available/default, qui quant-à lui, attribue à apache la prise en charge du fichier de code web /var/www/index.html, qui active le site.\\ | + | C'est le fait de la présence de ce lien symbolique /etc/apache2/sites-enabled/000-default qui pointe vers le site déclaré, et correctement configuré, /etc/apache2/sites-available/default, qui quant à lui, attribue à apache la prise en charge du fichier de code web /var/www/index.html, qui active le site.\\ |
Pour activer un site ou le désactiver, il suffit donc de créer ou de supprimer le lien symbolique qui relie /etc/apache2/sites-enabled/000-default et /etc/apache2/sites-available/ | Pour activer un site ou le désactiver, il suffit donc de créer ou de supprimer le lien symbolique qui relie /etc/apache2/sites-enabled/000-default et /etc/apache2/sites-available/ | ||
- | 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 185: | Ligne 184: | ||
<code root>vim /etc/apache2/sites-available/monsite.com</code> | <code root>vim /etc/apache2/sites-available/monsite.com</code> | ||
- | On modifie ceci : | + | On inscrit ceci : |
<code> | <code> | ||
Ligne 201: | Ligne 200: | ||
<code root>a2ensite monsite.com</code> | <code root>a2ensite monsite.com</code> | ||
- | * Prendre en compte les modifications effectuées à Apache en le redémarrant : | + | * Prendre en compte les modifications effectuées en redémarrant Apache : |
<code root>service apache2 reload</code> | <code root>service apache2 reload</code> | ||
Ligne 225: | Ligne 224: | ||
On va forcer l'encodage au niveau du serveur apache. Il suffit que tous les fichiers utilisent le même encodage utf8. | On va forcer l'encodage au niveau du serveur apache. Il suffit que tous les fichiers utilisent le même encodage utf8. | ||
- | * Mais avant vérifions les locales générés sur le système. | + | * Mais avant vérifions les locales générées sur le système. |
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> | ||
Ligne 290: | Ligne 289: | ||
* 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 : | + | Pour ce faire, on le désactive d'abord : |
<code root>a2dissite monsite.com</code> | <code root>a2dissite monsite.com</code> | ||
Ligne 323: | Ligne 322: | ||
> ''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 pourrait 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. La désactiver 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 : | * On réactive le site : | ||
Ligne 333: | Ligne 332: | ||
====Développer son site web dans un /home/==== | ====Développer son site web dans un /home/==== | ||
- | Il n'est pas recommandé de travailler directement dans des répertoires du serveur. Un lien symbolique depuis le répertoire principal du serveur vers un répertoire du dossier personnel est mieux. | + | Il n'est pas recommandé de travailler directement dans des répertoires du serveur. Un lien symbolique depuis le répertoire principal du serveur vers un répertoire du dossier personnel est préférable. |
===On désactive "monsite" === | ===On désactive "monsite" === | ||
Ligne 348: | Ligne 347: | ||
* On crée les fichiers du site web, par exemple du nom de "pegaseous.com": | * On crée les fichiers du site web, par exemple du nom de "pegaseous.com": | ||
- | <code>mkdir -p pegaseous.com/public_htlm</code> | + | <code>mkdir -p pegaseous.com/public_html</code> |
* On corrige l'appartenance et les droits : | * On corrige l'appartenance et les droits : | ||
Ligne 354: | Ligne 353: | ||
<code root>chown -R root:www-data /home/web/ && chmod -R 755 /home/web/</code> | <code root>chown -R root:www-data /home/web/ && chmod -R 755 /home/web/</code> | ||
- | * On édite un index : | + | * On édite un index.html : |
- | <code root>vim /home/web/pegaseous.com/public_htlm/index.html</code> | + | <code root>vim /home/web/pegaseous.com/public_html/index.html</code> |
* On crée un lien symbolique vers /var/www : | * On crée un lien symbolique vers /var/www : | ||
Ligne 361: | Ligne 360: | ||
* On édite un fichier /etc/apache2/sites-available/pegaseous.com : | * On édite un fichier /etc/apache2/sites-available/pegaseous.com : | ||
- | Pour aller plus vite on peut se servir d'un fichier "sites-available" existant qu'on modifie. Par exemple celui du site "monsite.com". | + | Pour aller plus vite on peut se servir d'un fichier "sites-available" existant qu'on modifiera. Par exemple celui du site "monsite.com". |
Si on a suivi le wiki du début : | Si on a suivi le wiki du début : | ||
<code>cp /etc/apache2/sites-available/monsite.com /etc/apache2/sites-available/pegaseous.com</code> | <code>cp /etc/apache2/sites-available/monsite.com /etc/apache2/sites-available/pegaseous.com</code> | ||
- | Si on a pas de fichier : ''vim /etc/apache2/sites-available/pegaseous.com'' et on y colle ce qui suit. | + | Si on n'a pas de fichier "sites-available/monsite.com" : ''vim /etc/apache2/sites-available/pegaseous.com'' et on y colle ce qui suit. |
<code text><VirtualHost *:80> | <code text><VirtualHost *:80> | ||
Ligne 418: | Ligne 417: | ||
[ICO] Name Last modified Size Description | [ICO] Name Last modified Size Description | ||
[DIR] Parent Directory - | [DIR] Parent Directory - | ||
- | [DIR] public_htlm/ 20-Sep-2014 09:15 - | + | [DIR] public_html/ 20-Sep-2014 09:15 - |
</code> | </code> | ||
Ligne 434: | Ligne 433: | ||
===== Installer le module php===== | ===== Installer le module php===== | ||
===Installer libapache2-mod-php5 === | ===Installer libapache2-mod-php5 === | ||
- | Ce paquet casse le MPM worker et engendre l'installation du MPM prefork.\\ | + | 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>install libapache2-mod-php5</code> | + | <code root>apt-get install libapache2-mod-php5</code> |
Ligne 445: | Ligne 444: | ||
-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> | ||
- | Dans /etc/apache2/mod-enabled, se 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 /etc/apache2/mods-enabled/php5.conf -> ../mods-available/php5.conf | <code>lrwxrwxrwx 1 root root 27 sept. 20 11:40 /etc/apache2/mods-enabled/php5.conf -> ../mods-available/php5.conf | ||
Ligne 487: | Ligne 486: | ||
La date du jour est 20/09/2014! </code> | 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 en index.ph et entrer du code php. | + | 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 "pegaseous" : | ||
- | <code root>mv /home/web/pegaseous.com/public_htlm/index.html /home/web/pegaseous.com/public_htlm/index.php</code> | + | <code root>mv /home/web/pegaseous.com/public_html/index.html /home/web/pegaseous.com/public_html/index.php</code> |
- | <code root>vim /home/web/pegaseous.com/public_htlm/index.php</code> | + | <code root>vim /home/web/pegaseous.com/public_html/index.php</code> |
<code><html> | <code><html> | ||
<body> | <body> | ||
Ligne 511: | Ligne 510: | ||
''http://ip-du-serveur/pegaseous.com'' | ''http://ip-du-serveur/pegaseous.com'' | ||
- | et cliquer sur ''public_htlm/'' : | + | et cliquer sur ''public_html/'' : |
<code>Bienvenue sur pegaseous.com | <code>Bienvenue sur pegaseous.com |