Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tutoriel:lamp_repertoires_de_travail [Le 14/03/2015, 06:53] – [Mise en place] HIE | tutoriel:lamp_repertoires_de_travail [Le 19/05/2023, 06:34] (Version actuelle) – ancienne révision (Le 07/10/2021, 18:37) restaurée (nope il ne manque rien) krodelabestiole | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag> |
| - | + | ||
| - | ---- | + | |
| + | {{ : | ||
| ====== Serveur LAMP - Créer un/des répertoires de travail ====== | ====== Serveur LAMP - Créer un/des répertoires de travail ====== | ||
| - | ===== Présentation ===== | + | Ce tutoriel décrit comment mettre en place un espace |
| - | + | ||
| - | L' | + | |
| - | **/ | + | |
| - | <note important> | + | |
| - | Ici nous allons exposer comment créer ses propres répertoires de travail | + | |
| - | + | ||
| - | Nous allons aussi faire en sorte de rendre **/ | + | |
| - | + | ||
| - | ===== Mise en place ===== | + | |
| - | + | ||
| - | | + | |
| - | ==== Protection de /var/www ==== | + | |
| - | + | ||
| - | Dans un premier temps nous allons donc rendre le dossier /var/www inaccessible. Pour cela, on [[tutoriel: | + | |
| - | Changez :\\ | + | |
| - | < | + | |
| - | < | + | |
| - | Options Indexes FollowSymLinks MultiViews | + | |
| - | AllowOverride None | + | |
| - | Order allow, | + | |
| - | Allow from all | + | |
| - | </ | + | |
| - | </ | + | |
| - | en :\\ | + | |
| - | A partir de ubuntu 13.10 et apache 2.4 | + | |
| - | < | + | |
| - | < | + | |
| - | Options Indexes FollowSymLinks MultiViews | + | |
| - | AllowOverride None | + | |
| - | < | + | |
| - | Require ip 127.0.0.1 | + | |
| - | Require ip 192.168.1 | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | Pour les versions précédentes à ubuntu 13.10 et apache 2.4 | + | |
| - | + | ||
| - | < | + | |
| - | < | + | |
| - | Options Indexes FollowSymLinks MultiViews | + | |
| - | AllowOverride None | + | |
| - | Order Deny, | + | |
| - | Deny from all | + | |
| - | Allow from 127.0.0.1 # | + | |
| - | Allow from 192.168.1.0/ | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | Cette modification va faire en sorte que seule votre machine | + | |
| - | + | ||
| - | + | ||
| - | ==== Création des répertoires de travail ==== | + | |
| - | + | ||
| - | Ici nous allons placer nos répertoires dans la zone **/media** (en prévision d'une installation sur une clé usb, un disque externe, une partition séparée, etc. Libre à vous de choisir le lieu ... qu'il reste cohérent quand même :-P\\ | + | |
| - | sudo mkdir /media/www-dev | + | La mise en place de ces espaces de travail se fait grâce à la fonctionnalité d' |
| - | sudo mkdir /media/www-dev/ | + | |
| - | sudo mkdir / | + | |
| + | ===== Prérequis ===== | ||
| - | ==== Donner les droits utilisateur aux répertoires | + | Afin de suivre ce tutoriel, il vous faut une pile [[:LAMP]] ou au moins [[: |
| - | <note important> | + | Vous pouvez donc au choix : |
| - | Le ' | + | * suivre |
| - | '**users**' | + | * ou dans le cas contraire simplement installer |
| - | sudo chown -R $USER:users / | + | Il est aussi conseillé d' |
| + | Il peut aussi être très utile de consulter la documentation de [[:nano]], qui est probablement l' | ||
| + | Vous pouvez également consulter la documentation concernant la commande [[: | ||
| + | ===== Mise en place d'un espace public ===== | ||
| + | ==== Création du répertoire de travail ==== | ||
| - | <note important> | + | Pour ce cas de figure nous voulons qu'Apache affiche le contenu |
| - | * Vous ne pouvez pas utiliser | + | |
| - | * Si votre dossier figure sur un autre disque dur (clef USB, etc...), toutes les permissions doivent être favorables, sur chacun des dossiers, depuis | + | |
| - | Exemple : votre site se situe sous /media/votre_disque/vos_sites/ | + | |
| - | sudo chown $USER:users /media/votre_disque | + | Nous allons donc commencer par créer ce répertoire. Par défaut le répertoire ''/ |
| + | < | ||
| - | sudo chown $USER:users / | + | Dans la foulée nous allons modifier les [[: |
| - | sudo chown -R $USER:users | + | < |
| - | </note> | + | chmod 750 / |
| - | ==== Configuration d' | + | |
| - | Pour pouvoir accéder à ces répertoires, | + | Pour l'exemple |
| - | Cette *// | + | |
| - | Ces *// | + | |
| - | Il nous faut donc ajouter deux alias, | + | |
| - | [[tutoriel: | + | <code> |
| - | <note tip>Dans le cas ci-dessous on accorde un accès au W3C (validateur html) et à l'espace dédié aux développeurs d' | + | Ce qui ouvre l'éditeur [[:nano]] dans lequel nous allons coller : |
| - | A partir de ubuntu 13.10 et apache 2.4 | + | <file - index.html>< |
| - | <file> | + | <head> |
| - | ## ZONE PUBLIQUE | + | < |
| - | Alias /public /media/www-dev/public | + | < |
| - | <Directory | + | < |
| - | Options Indexes FollowSymLinks MultiViews | + | </head> |
| - | AllowOverride All | + | < |
| - | Require all granted | + | < |
| - | </Directory> | + | </ |
| + | </html></ | ||
| - | ## ZONE PRIVEE | + | Puis //Ctrl//+//O// pour sauvegarder et //Ctrl// |
| - | Alias /private | + | |
| - | < | + | |
| - | Options Indexes FollowSymLinks MultiViews | + | |
| - | AllowOverride All | + | |
| - | < | + | |
| - | Require ip 127.0.0.1 | + | |
| - | Require ip 192.168.1 | + | |
| - | Require host .w3.org | + | |
| - | Require host sandbox.paypal.com | + | |
| - | </RequireAny> | + | |
| - | </Directory> | + | |
| - | </file> | + | |
| - | Pour les versions précédentes à ubuntu 13.10 et apache 2.4 | + | ==== Création de l' |
| - | < | + | |
| - | ## ZONE PUBLIQUE | + | |
| - | Alias /public / | + | |
| - | < | + | |
| - | Options Indexes FollowSymLinks MultiViews | + | |
| - | AllowOverride All | + | |
| - | Order allow, | + | |
| - | Allow from all | + | |
| - | </ | + | |
| - | ## ZONE PRIVEE | + | Nous allons [[:apache2#creation_d_hotes_virtuels|configurer notre hôte virtuel]] dans un fichier dédié '' |
| - | Alias /private | + | |
| - | < | + | |
| - | Options Indexes FollowSymLinks MultiViews | + | |
| - | AllowOverride All | + | |
| - | Order deny, | + | |
| - | Deny from all | + | |
| - | Allow from 127.0.0.1 # Local | + | |
| - | Allow from 192.168.1.0/ | + | |
| - | Allow from .w3.org | + | |
| - | Allow from sandbox.paypal.com | + | |
| - | </ | + | |
| - | </ | + | |
| - | ==== Ajout de liens symboliques ==== | + | < |
| - | A présent les espaces sont valides, mais non visible depuis la racine de votre serveur (c.f.: http:// | + | Ce qui ouvre l'éditeur [[:nano]] dans lequel nous allons coller |
| - | Il suffit tout simplement de créer un lien symbolique dans **/ | + | |
| - | <note important>__Attention:__ Ne jamais faire un '//rm -rf//' sur un lien symbolique ... cette commande aura pour effet de supprimer le contenu réel de destination du lien symbolique. Utilisez juste '//rm /dossier/nom_symbolique//' comme s'il s' | + | <file - public.conf>< |
| - | les liens symboliques dans **/var/www** se font via ' | + | DocumentRoot "/var/www/public" |
| + | < | ||
| + | Options +FollowSymLinks | ||
| + | AllowOverride all | ||
| + | Require all granted | ||
| + | </Directory> | ||
| + | ErrorLog | ||
| + | CustomLog | ||
| + | </ | ||
| - | sudo ln -s /media/www-dev/public | + | Puis //Ctrl//+//O// pour sauvegarder et //Ctrl//+//X// pour quitter. |
| - | sudo ln -s /media/www-dev/private | + | |
| - | Il vous faudra également effacer le fichier index.html pour que cela prenne effet : | + | Il faut ensuite activer cet hôte : |
| + | < | ||
| - | sudo rm /var/www/html/index.html | + | Ce //VirtualHost// ne possède pas de directive '' |
| + | < | ||
| - | ==== Éviter le 403 ==== | + | Puis nous pouvons redémarrer Apache afin qu'il prenne en compte notre nouvelle configuration : |
| + | < | ||
| - | Les répertoires **/ | + | La page d' |
| - | Si vous n'avez pas de domaine (domain.tld est un exemple générique), | + | ===== Mise en place d' |
| - | On va donc remédier à cela en redirigeant les visiteurs automatiquement vers le répertoire | + | ==== Création du répertoire de travail ==== |
| - | Il suffit d' | + | |
| - | ErrorDocument 403 " | + | |
| - | à la suite de : | + | |
| - | < | + | |
| - | et : | + | |
| - | < | + | |
| - | Dans certains cas une erreur 403 peut également se produire lorsque vous demandez l'affichage de localhost alors que 127.0.0.1 fonctionne (et que vous avez d'ores et déjà réglé les problèmes de ServerName dans /etc/hosts et | + | De la même manière nous allons créer un répertoire |
| + | < | ||
| - | Avant Ubuntu 14.04, dans le fichier | + | Puis modifier pareillement les [[:apache2# |
| - | Allow from localhost | + | < |
| - | après | + | chmod 750 /var/www/private</code> |
| - | Allow from 127.0.0.1 | + | |
| - | A partir de Ubuntu 14.04, il faut ajouter | + | |
| - | Require host localhost | + | |
| - | après | + | |
| - | | + | |
| - | Require ip 127.0.0.1 | + | |
| - | ===== Finalisation ===== | + | |
| - | Voilà c'est fini. À présent il vous suffit | + | Pour cet exemple nous n'allons pas créer |
| - | | + | < |
| - | ===== Problèmes ===== | + | ==== Création de l' |
| - | * Cas d'une erreur sur ServerName au rechargement d' | + | Notre [[:apache2# |
| - | [[:apache2|Erreur ServerName]] | + | |
| - | * Renvoi vers votre ' | + | < |
| - | | + | |
| - | 127.0.0.1 domain.dnsalias.net | + | |
| - | * Erreur sur le localhost \\ | + | Ce qui ouvre l' |
| - | [[tutoriel:comment_editer_un_fichier|Éditez]] en [[: | + | |
| - | 127.0.0.1 localhost | + | |
| - | 127.0.1.1 < | + | |
| - | par : | + | |
| - | 127.0.0.1 localhost < | + | |
| - | + | ||
| - | * Apache2 + Ubuntu 14.04 (et systèmes suivants) nouveau répertoire racine: | + | |
| - | + | ||
| - | Attention pour la nouvelle version 14.04, la version apache2 qui a été publié lors de la Ubuntu 14.04 est en 2.4.7 il semble que, pour des raisons de sécurité, le nouveau répertoire racine pour le serveur est: | + | |
| - | **/ | + | |
| - | Donc, à partir de maintenant, vous devez placer les fichiers de votre site Web dans le dossier **/var/www/html**. Et comme cela, vous ne devriez pas avoir à nouveau ce problème avec les mises à jour futures. | + | <file - private.conf>< |
| + | ServerName private.localhost | ||
| + | DocumentRoot "/var/www/private" | ||
| + | < | ||
| + | Options +FollowSymLinks +Indexes | ||
| + | AllowOverride all | ||
| + | Require ip ::1 127.0.0.1 192.168 | ||
| + | </ | ||
| + | ErrorLog / | ||
| + | CustomLog / | ||
| + | </ | ||
| - | Quoi qu'il en soit, si vous voulez changer ce répertoire racine pour un autre, vous devez modifier (en tant que root) le fichier **000-default.conf** situé dans **/etc/apache2/sites-available** | + | Puis //Ctrl//+//O// pour sauvegarder et //Ctrl//+//X// pour quitter. |
| - | < | + | |
| - | C'est la ligne suivante: | + | |
| - | qu'il faut modifier à: // | + | |
| - | ===== Liens et ScreenCast ===== | + | |
| - | Reprise de l' | + | Il faut ensuite activer cet hôte et redémarrer Apache |
| + | < | ||
| + | sudo systemctl restart apache2</code> | ||
| - | Installation en vidéo (screencast) de ce tutoriel | + | * L' |
| - | - [[http://screencast.ubuntu-fr-secours.org/screencast/lamp/04-Environnement_de_travail.ogg|04-Environnement_de_travail.ogg]] - 21 Mo - 15 minutes 33 sec ( pourquoi une minute | + | * La directive |
| - | - [[http:// | + | * Cet hôte virtuel ne sera appelé que pour le nom de domaine '' |
| + | L' | ||
| ---- | ---- | ||
| - | | + | //Contributeurs : [[: |
