Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/03/2016, à 07:41

manray

serveur local lamp

Bonjour,
J'essaie en vain depuis des mois de configurer un serveur local pour apprendre le php et Mysql, je suis actuellement sous ubuntu 15.10, et je me heurte à la configuration d'apache.
Localhost affiche bien la page Its works, mais ensuite la procédure trouvée après 14.04 de la version ubuntu n'est pas très claire. car aprés avoir supprimer l'index dans var/www/html et installé les dossiers de travail, ainsi que www dev dans le dossier media, j'arrive toujours sur la page html its works.
A noter que le fichier 000-default.conf n'a pas la ligne <Directory /var/www>
Pourriez vous m'aider, à ce niveau.
Bien cordialement,
PR
[doc]https://doc.ubuntu-fr.org/tutoriel/lamp … de_travail[/doc]

Hors ligne

#2 Le 08/03/2016, à 10:41

Rufus T. Firefly

Re : serveur local lamp

Salut,

La difficulté vient d'une mauvaise compréhension et la doc que tu cites n'arrange pas les choses (je pense même qu'il faut carrément l'oublier, celle-là : elle préconise des trucs en dépit du bon sens).

La question fondamentale est la suivante : un serveur (apache ou autre, local ou pas) reçoit une requête envoyée par un navigateur. Comment fait-il pour trouver le fichier qui correspond à cette requête ?

Par exemple : doc.ubuntu-fr.org va être converti en adresse ip (comme un n° de téléphone) et va donc connecter ton navigateur au serveur indiqué. Et /tutoriel/lamp_repertoires_de_travail demande au serveur cette page-là. Comment fait-il pour la trouver ?

En fait, tout est dans le premier slash qui représente non pas la racine du système (comme dans /boot, /dev, /home...) mais la racine du serveur. Et elle est où, celle-là ? En fin de compte n'importe où, pourvu qu'apache sache où elle est.
Comment le sait-il ? C'est indiqué dans ses fichiers de configuration qui sont d'une part /etc/apache2/apache2.conf, le fichier principal, et d'autre part les hôtes virtuels (vhosts) qui sont inclus dans le précédent lors du démarrage d'apache.

extrait de apache2.conf (ça pourrait être différent chez toi, à vérifier) :

# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
	Options FollowSymLinks
	AllowOverride None
	Require all denied
</Directory>

<Directory /usr/share>
	AllowOverride None
	Require all granted
</Directory>

<Directory /var/www/>
	Options Indexes FollowSymLinks
	AllowOverride None
	Require all granted
</Directory>

#<Directory /srv/>
#	Options Indexes FollowSymLinks
#	AllowOverride None
#	Require all granted
#</Directory>

Ça indique que apache a le droit de chercher dans /var/www et dans /usr/share mais nulle part ailleurs. Sauf dans ce qui pourrait être défini en plus dans les virtual host, car, à la fin du apache2.conf, tu as ça :

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

Pour résumer :
1) configuration générale : /etc/apache2/apache2.conf
C'est là-dedans que tu indiques que tes sites sont traditionnellement dans /var/www ou, chez ubuntu, dans /var/www/html, ou, selon les recommandations actuelles, dans /srv (nouveau répertoire dans l'arborescence linux ajouté à cet effet)... Ils peuvent aussi être dans /usr/share. Des choses comme phpmyadmin, wordpress..., s'installent là, sans doute pour ne pas mélanger avec les sites que tu fabriques toi-même. Et bien entendu, tu pourrais aussi choisir un autre endroit (mais ce n'est ni utile, ni recommandé).
En fait, le plus simple, c'est de regarder ce qu'il y a dans ton apache2.conf et de ne pas y toucher. Sauf pour activer /srv à la place de /var/www...
2) configuration particulière à un site : /etc/apache2/sites-available/site.conf
S'il y a un lien symbolique dans  /etc/apache2/sites-enabled le site est activé, sinon il est désactivé (c'est très pratique)
Pour en savoir plus sur les vhosts, qui ne sont en définitive que les configurations spécifiques de chacun de tes sites (ServerName, ServerAlias, DocumentRoot et beaucoup d'autres possibles encore) : http://httpd.apache.org/docs/2.4/fr/

Dernière modification par Rufus T. Firefly (Le 08/03/2016, à 11:02)


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#3 Le 09/03/2016, à 13:27

manray

Re : serveur local lamp

salut,
J'ai placé le fichier index de la page html : its works dans le dossier srv, et j'ai rentré l'adresse localhost surprise, j'arrive sur le lien vers les dossiers situés dans var/www/html/private/ (inode/directory) lien vers /media/www-dev/private
Il y a de quoi y perdre son latin !!!
je vais installer mes fichiers de travail, et voir si php est opérationnel.
manque de temps pour effectuer cela maintenant;
Je ne manquerai pas de te maintenir au courant,
@ bientôt

Hors ligne

#4 Le 09/03/2016, à 14:05

Rufus T. Firefly

Re : serveur local lamp

Ce n'est pas à perdre son latin : les fichiers qui se nomment index.htm ou index.html ou index.php... (il faut voir comment apache est configuré) sont exécutés s'ils sont dans le répertoire implicitement demandé par la requête que tu tapes dans ton navigateur...
Tout est dans le "implicitement demandé". Pour le savoir, il vaut mieux comprendre les virtual host et comment apache se débrouille quand ce n'est pas clair...


La provocation est une façon de remettre la réalité sur ses pieds. (Bertolt Brecht)
Il n'y a pas de route royale pour la science et ceux-là seulement ont chance d'arriver à ses sommets lumineux qui ne craignent pas de se fatiguer à gravir ses sentiers escarpés. (Karl Marx)
Il est devenu plus facile de penser la fin du monde que la fin du capitalisme

Hors ligne

#5 Le 09/03/2016, à 18:09

manray

Re : serveur local lamp

Ok, merci, sujet clos

Hors ligne