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.
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 16:23] Hypathie [OpenSSL : créer un certificat avec apache2] |
doc:reseau:apache2:tp01 [01/10/2015 11:47] milou [Créer un site web avec apache2] |
||
---|---|---|---|
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> à-tester à-placer}}. | + | * Suivi : {{tag> à-tester}} |
- | * Création par [[user>Hypathie]] 20/09/2014 | + | * Création par [[user>Hypathie]] le 20/09/2014 |
- | * Testé par <...> le <...> | + | * Testé par [[user>Hypathie]] octobre 2014 sur Wheezy |
- | * 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 !)) |
+ | * 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.\\ | ||
**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ème. Dans 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 36: | Ligne 37: | ||
===Installation d'apache === | ===Installation d'apache === | ||
+ | |||
<code root>apt-get install apache2</code> | <code root>apt-get install apache2</code> | ||
Ligne 47: | Ligne 49: | ||
===Comment apache est-il configuré ? === | ===Comment apache est-il configuré ? === | ||
+ | |||
Afin de comprendre la mise en place d'un site web avec apache2, on va détailler la configuration par défaut d'apache.\\ | Afin de comprendre la mise en place d'un site web avec apache2, on va détailler la configuration par défaut d'apache.\\ | ||
Ligne 72: | Ligne 75: | ||
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 : | 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 /etc/apache2/sites-available/ && less default</code> |
<code><VirtualHost *:80> | <code><VirtualHost *:80> | ||
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
Ligne 143: | Ligne 146: | ||
====Création du site web dans /var/www/ ==== | ====Création du site web dans /var/www/ ==== | ||
- | * On crée un dossier dans /var/www : | + | |
+ | <note important> Sur Jessie, on crée un site dans /var/www/html/ </note> | ||
+ | |||
+ | * On crée un dossier dans /var/www/ : | ||
Par exemple "monsite.com" qui va pouvoir accueillir le site internet. | Par exemple "monsite.com" qui va pouvoir accueillir le site internet. | ||
<code root>mkdir -p /var/www/monsite.com/public_html</code> | <code root>mkdir -p /var/www/monsite.com/public_html</code> | ||
+ | |||
+ | |||
+ | <note important> Sur Jessie | ||
+ | <code root>mkdir -p /var/www/html/monsite.com/public_html</code> | ||
+ | </note> | ||
* On attribue à root les fichiers nouvellement créés : | * On attribue à root les fichiers nouvellement créés : | ||
<code root>chown -R $USER:$USER /var/www/monsite.com/public_html</code> | <code root>chown -R $USER:$USER /var/www/monsite.com/public_html</code> | ||
+ | |||
+ | <note important> Sur Jessie | ||
+ | <code root>chown -R $USER:$USER /var/www/html/monsite.com/public_html</code> | ||
+ | </note> | ||
* On change les droits pour que le site puisse être lu par tous : | * On change les droits pour que le site puisse être lu par tous : | ||
<code root>chmod -R 755 /var/www</code> | <code root>chmod -R 755 /var/www</code> | ||
+ | |||
+ | <note important> Sur Jessie | ||
+ | <code root>chmod -R 755 /var/www/html</code> | ||
+ | </note> | ||
* On crée sa première page index.html | * On crée sa première page index.html | ||
<code root>vim /var/www/monsite.com/public_html/index.html</code> | <code root>vim /var/www/monsite.com/public_html/index.html</code> | ||
+ | |||
+ | <note important> Sur Jessie | ||
+ | <code root>vim /var/www/html/monsite.com/public_html/index.html</code> | ||
+ | </note> | ||
+ | |||
Contenant par exemple le code suivant: | Contenant par exemple le code suivant: | ||
- | <code><html> | + | <code> |
+ | <html> | ||
<body> | <body> | ||
<h1>Bravo !</h1> | <h1>Bravo !</h1> | ||
Ligne 168: | Ligne 193: | ||
On enregistre ! | On enregistre ! | ||
- | * On crée un VirtualHost d'apache pour ce site : | + | * On crée un VirtualHost d'apache2ls pour ce site : |
<code root>cp /etc/apache2/sites-available/default /etc/apache2/sites-available/monsite.com</code> | <code root>cp /etc/apache2/sites-available/default /etc/apache2/sites-available/monsite.com</code> | ||
<code root>vim /etc/apache2/sites-available/monsite.com</code> | <code root>vim /etc/apache2/sites-available/monsite.com</code> | ||
+ | |||
+ | <note important> Sur Jessie | ||
+ | ??? | ||
+ | </note> | ||
On inscrit ceci : | On inscrit ceci : | ||
Ligne 239: | Ligne 268: | ||
* 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 260: | Ligne 289: | ||
-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 267: | Ligne 311: | ||
/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 281: | Ligne 325: | ||
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 637: | Ligne 681: | ||
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 651: | Ligne 695: | ||
-> 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 842: | Ligne 886: | ||
<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 910: | Ligne 955: | ||
</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 | ||
Ligne 937: | Ligne 984: | ||
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
| | ||
- | ServerName monsite.com | + | ServerName pegaseous.com |
DocumentRoot /home/hypathie/www | DocumentRoot /home/hypathie/www | ||
<Directory /> | <Directory /> |