Ajouter un autre dossier web à Apache

boissonnfive

Membre confirmé
6 Décembre 2006
31
2
30133
Bonjour,

mon dossier "Sites" marche très bien et je peux y lire les fichiers .php que je mets dedans.

Le problème, c'est que je suis quelqu'un d'organisé et j'archive mes projets PHP comme ceci:
"Documents/programmation/PHP/projets/projetX"
Donc, chaque fois que je veux tester mon projet PHP, je suis obligé de le copier dans le dossier "Sites".

Comment faire pour qu'apache utilise le dossier .../PHP/projets/ comme un dossier web, comme il le fait avec le dossier "Sites" (en plus du dossier "Sites")?

J'ai eu beau modifier le fichier httpd-userdir.conf et monlogin.conf, j'ai pas réussi.

PS:
Bien sûr, je pourrais utiliser des alias, mais je poste quand même.

Merci d'avance.
 
T'as deux choses à faire, ajouter l'alias, et configurer les droits sur le dossier. Pour les droits tu reprends ce qui est dans tonlogin.conf :
Bloc de code:
<Directory "/Users/flo/Sites/">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Et pour l'alias, c'est expliqué dans les commentaires du httpd.conf :
Bloc de code:
    # Alias: Maps web paths into filesystem paths and is used to
    # access content that does not live under the DocumentRoot.
    # Example:
    # Alias /webpath /full/filesystem/path

Tu mets le tout dans la httpd.conf, enfin ça a pas vraiment d'importance dans le user.conf ça doit marcher aussi, il est inclut, donc si tu estimes que ça concerne que ton compte, pourquoi pas, et surtout tu oublies pas de redémarrer apache. (redémarrage du partage web ou "sudo apachectl restart" dans le terminal
 
Bon ben j'y arrive pas.

J'ai modifié mon fichier /etc/apache2/httpd.conf

Entre <IfModule alias_module> et </IfModule> j'ai ajouté

Bloc de code:
Alias /php /Users/bruno/Documents/programmation/PHP/projets                           
                                                                                                    
    <Directory "/Users/bruno/Documents/programmation/PHP/projets/">                       
        Options Indexes MultiViews                                                                  
        AllowOverride None                                                                          
        Order allow,deny                                                                            
        Allow from all                                                                              
    </Directory>

J'ai relancé apache via les "préférences système"

Maintenant, je tape l'adresse suivante dans Safari:
http://localhost/php/galerie2/src/index.php

et j'ai le message suivant:
Forbidden
You don't have permission to access /php/galerie2/src/index.php on this server.

Merci de m'éclairer.
 
Un problème de droit...

Je ne sais plus si Apache est un utilisateur ou autre ?

C'est simple il te faut modifier les droits du dossier PHP, pour se faire en ligne de commandes dans le Terminal :
Bloc de code:
> cd Documents/Programmation
> chmod -R u+x PHP
Si cela ne fonctionne pas remplace le u (user) par o (others). Mais après reflexion je pense plus que Apache appartient à Other.

Si cela ne fonctionne toujours pas, et bien il faut que tu remontes encore dans la hiérarchie des dossiers.

PS : Sinon une autre solution aurait été de faire une hiérarchie comme suit, Sites/monsite1/PHP/ ...
 
Merci dmo95 pour ta réponse.

Apache est l'utilisateur www du groupe www (aucun lien avec Largo Winch ;))

Je pense que le problème ne vient pas des autorisations (identiques sur les deux dossiers), mais du signe + qu'il y a quand je fais un ls -al sur le Dossier "Sites":

drwxr-xr-x+ 24 bruno bruno 816 14 jan 19:32 Sites

Mais je ne sais pas ce que ça veut dire exactement ce machin-là.
Alors, je cherche...

En attendant, je fais des raccourcis vers le dossier "Sites".
 
Il n'y a pas que les permissions sur le dossiers qui comptent, mais aussi les dossiers parents. Vérifie qu'il a les droits en lecture, genre les mêmes que sur ton home directory, j'imagine qu'ils sont en lecture mais pas en exécution.
 
Encore merci pour vos réponses, c'est vraiment super d'avoir de l'aide aussi facilement et aussi rapidement.:up:

Finalement, je ne suis pas allé plus loin.
J'ai décidé de ne pas modifier mes droits sur mon dossier Documents, car j'ai jugé que ce n'était pas prudent, ni pertinent.

Comme suggéré, j'ai plutôt créé des liens symboliques de mon dossier "/Users/bruno/Documents/programmation/PHP/projets" vers le dossier "Sites" et ça marche parfaitement.

De plus, quand je sauvegarde, les liens sont suivis et c'était aussi pour ça que je voulais récupérer mes projets PHP dans mon dossier projet (je n'archive pas mon dossier "Sites").

Bonne journée.:)