Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/08/2011, 12h14   #1
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Par défaut Problème de configuration d'hôte virtuel pour tester symfony

Bonjour à tous,
Tout d'abord : système Linux/Mandriva powerpack 2010-2
Task-Lamp et tout le toutim installé et tout marchait.
Je fonctionnais jusqu'ici simplement en installant mes sites de test dans /var/www/html
et en les appelant via l'URL : http://localhost/site
C'est à dire sans utiliser mod_user et le dossier public_html

J'ai eu envie de tester symfony.
Je suis le book et le tutoriel jobeet (faut bien commencer )
J'ai créé le dossier /home/laurent/public_html/sfprojets/
Dans ce dossier j'ai mis le dossier symfony-1.4.8 qui me sert de source
dans ce même dossier je commence en ligne de commande suivant le tuto...
création des dossiers /jobeet puis /jobeet/lib/vendor etc.
je vous passe le reste pour en arriver à la config d'apache.
J'utilise drakwizard pour créer un host en plus de celui déjà créé, donc le fichier donne :
Code :
1
2
127.0.0.1 localhost.localdomain localhost
127.0.0.1 jobeet.localhost
Je crée dans /etc/httpd/conf/vhosts.d/ un fichier jobeet_host.conf. Ce fichier est automatiquement chargé par httpd.conf ; voici son contenu :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<VirtualHost jobeet.localhost>
    ServerName jobeet
    DocumentRoot "/home/laurent/public_html/sfprojets/jobeet/web"
    DirectoryIndex index.php
    <Directory "/home/laurent/public_html/sfprojets/jobeet/web">
         AllowOverride All
         Allow from All
    </Directory>

    Alias /sf /home/laurent/public_html/sfprojets/jobeet/web/sf

    <Directory "/home/laurent/public_html/sfprojets/jobeet/web/sf">
         AllowOverride All
         Allow from All
    </Directory>
</VirtualHost>
je relance apache via la commande service et tout est OK
Au moment où je retourne sur mon navigateur et tape : http://jobeet.localhost/
Code :
Vous n'avez pas le droit d'accéder au répertoire     demandé. Soit il n'y a pas de document index soit le répertoire     est protégé.          Vous n'avez pas le droit d'accéder à l'objet     demandé. Soit celui-ci est protégé, soit il ne peut     être lu par le serveur.

Pris d'un doute je tape simplement : http://localhost pour vérifier que le reste est accessible et là... c'est le drame, même message. N'étant pas un spécialiste d'apache je pense qu'il y a des directives qui m'échappent.
Ce que je veux :
1 - pouvoir utiliser mon serveur local avec des sites en appel simple comme précédemment (sans changement des fichiers de conf.)
2 - pouvoir travailler avec des VirtualHost sans que ceux ci me bloquent tout

Peut-on m'éclairer, help !
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 13h01   #2
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Par défaut on progresse

En lisant l'excellent tutoriel sur les hôtes virtuels de Julien Pauli j'ai en parti règlé le problème.

1 - J'ai créé un deuxième hôte virtuel qui s'occupe de localhost
2 - j'ai laissé et légèment modifié celui qui gère jobeet
Résultat j'ai récupéré les sites que j'utilisais d'ordinaire sur localhost. Mais j'ai toujours la même erreur sur jobeet.

D'autre-part (et c'est sans doute là que se situe le blème) en redémarrant le service j'ai un warn qui s'affiche :
Code :
[warn] NameVirtualHost jobeet:0 has no VirtualHosts
et là je vois pas
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 14h53   #3
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 292
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 292
Points : 8 578
Points : 8 578
A quoi ressemble ta configuration ? Le plus important quand tu fais des VH nommés c'est que chaque signature des balises <VirtualHost> se retrouvent dans un NameVirtalHost et réciproquement : inutile de déclarer une signature dans un NameVirtualHost si celle-ci n'est pas utilisée dans une balise <VirtualHost>.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 15h27   #4
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Voici les deux fichiers contenant les directives VirtualHost
localhost :
Code :
1
2
3
4
5
6
7
8
9
10
11
NameVirtualHost localhost

<VirtualHost 127.0.0.1>
    ServerName localhost
    DocumentRoot /var/www/html
    <Directory /var/www/html>
         AllowOverride All
     Order deny,allow
         Allow from All
    </Directory>
</VirtualHost>
jobeet
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
NameVirtualHost jobeet

<VirtualHost 127.0.0.1>
    ServerName jobeet
    DocumentRoot "/home/laurent/public_html/sfprojets/jobeet/web"
    DirectoryIndex index.php
    <Directory "/home/laurent/public_html/sfprojets/jobeet/web">
         AllowOverride All
     Order deny,allow
         Allow from All
    </Directory>

    Alias /sf /home/laurent/public_html/sfprojets/jobeet/web/sf

    <Directory "/home/laurent/public_html/sfprojets/jobeet/web/sf">
         AllowOverride All
         Order deny,allow
         Allow from All
    </Directory>
</VirtualHost>
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 15h39   #5
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Par défaut on progresse encore

Effectivement, en relisant et le tuto, et ton message _Mac_ deux erreurs sont apparues
- correction du DocumentRoot : suppression des guillemets
- déclaration en un seul fichier avec une seule instance NameVirtualHost 127.0.0.1 suivi des deux <VirtualHost>
Plus d'erreur, plus de warning au re démarrage du service.

En revanche je conserve mon, message lorsque je veux accéder à http://jobeet
Code :
Vous n'avez pas le droit d'accéder au répertoire     demandé. Soit il n'y a pas de document index soit le répertoire     est protégé.          Vous n'avez pas le droit d'accéder à l'objet     demandé. Soit celui-ci est protégé, soit il ne peut     être lu par le serveur.
Spécifique à la config Mandriva ??
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 16h15   #6
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Par défaut droits d'accès apache

Visiblement il s'agit d'un problème unix et non apache. L'utilisateur apache n'est sans doute pas autorisé à accéder au dossier utilisateur /home/laurent/public_html... etc.
Pourtant, user laurent est membre du groupe apache et vice versa.
Je vais faire un essai en plaçant mon jobeet dans /var/www/html en désespoir de cause.
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 16h46   #7
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Par défaut Problème contourné mais non résolu

En créant mon dossier jobeet dans /var/www/html et en modifiant le fichier des VirtualHosts ad-hoc pour donner les bons chemins. le projet s'affiche enfin normalement.

Ce qui m'ennui c'est que j'ai contourné le problème... je ne sais toujours pas comment autorisé mon serveur apache à fonstionner avec d'autres dossiers comme /home/laurent/public_html par ex.
Donc si quelqu'un a une idée.
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2011, 21h47   #8
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 292
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 292
Points : 8 578
Points : 8 578
C'est comme tu dis : il faut que l'utilisateur Apache ait le droit d'accéder au répertoire /home/laurent/public_html et ses sous-répertoires et fichiers. Pour cela, il faut vérifier les droits sur chacun des fichiers et répertoires. Appartenir au même groupe qu'Apache n'est pas nécessairement suffisant.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2011, 18h32   #9
Membre habitué
 
Avatar de elvan49
 
Laurent
Développeur Web
Inscription : octobre 2006
Messages : 226
Détails du profil
Informations personnelles :
Nom : Laurent
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : octobre 2006
Messages : 226
Points : 141
Points : 141
Envoyer un message via Skype™ à elvan49
Par défaut Solution lourde proposée

Bien, après moults essais, je suis arrivé à faire tourner les choses mais ça nécessite de la ligne de commande.
Pour des raisons de tests efficaces je ne souhaitais donc pas travailler directement dans le dossier /var/www/html
J'ai donc placé mon projet jobeet dans /var/www en tant que root !
J'ai créé les dossiers et importer symfony à sa place tout ça en tant que root.
J'ai fais mes générations et mes constructions de projet via ligne de commande.
Puis j'ai appliquer un changement de propriétaire récursif sur le dossier /var/www/jobeet attribué à apache. Du coup pas de problème d'accès pour le serveur aux fichiers.
En revanche pour travailler avec mon IDE préféré (netbeans en l'occurence) il faut que je le démarre en tant que root !! sinon je ne peux rien modifier.
Voilà c'est un peu lourd mais ça respecte les droits et permissions globaux sans toucher au jeu de permissions du dossier symfony (qui est strictement rigoureux). La manip doit pouvoir être la même (tout aussi lourde) sur le dossier /home/user/public_html
Merci à toi _Mac_
__________________
"n'imprimez ces messages que si nécessaire... Préservez notre planète"
elvan49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h01.


 
 
 
 
Partenaires

Hébergement Web