IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Subversion et PHP, pb de droits ?


Sujet :

Langage PHP

  1. #1
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut [Système] Subversion et PHP, pb de droits ?
    Bonjour !

    Bon, ça faisait longtemps que Subversion ne m'avait plus posé de problème, j'avais eu le temps de paufiner mon appli tranquilement, jusqu'à arriver à un problème insoluble à mes yeux....


    Pour rappel, Subversion (SVN), est un logiciel de versionning, qui s'installe sur le serveur et qui gère des dépôts ( équivalent d'un répertoire classique, mais la gestion derrière est très lourde, pour exemple, chaque version d'un fichier est stockée, si vous modifiée 1000 fois un fichier, il sera 1000 fois dans le dépôt....)
    Y a notamment qq commandes que l'on peut utiliser en ligne de commande précédée de l'instructions "svn", comme "svn diff", qui n'est autre qu'un adaptation du classique "diff" unix au logiciel Subversion.

    Bref, j'ai un script, enfin, des scripts, mais on va simplifier, qui s'occupe de gérer le dépôt via une IHM web programmée en PHP.

    Seulement voilà, quand je veux, via mon IHM, faire une copie d'un répertoire vers un autre ( dans deux dépôt différents de SVN ), pas de problème.

    La commande est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec('svn copy '.$urlSrc.' '.$urlDst.'/'.$nomNouveauRep, $puit, $tag) ;
    Cela revient à créer un nouveau répertoire dans le second dépôt à à copier tout le contenu du premier dans le second.

    En revanche, quand je veux créer un dossier, impossible !
    L'erreur suivante est générée ( dans le log des erreurs d'Apache ) :
    svn: Can't open file '/home/subversion/.../Depot1/.svn/lock': Permission denied
    svn: '/home/www/monSite/' is not a working copy
    NB : Un Working Copy est un répertoire géré par SVN, un dépôt.

    Alors que ma commande est somme toute assez identique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec('svn mkdir '.$_SESSION['urlDepot1'].$nomNouveauRep, $puit, $creation) ;
    J'ai bien entendu vérifié que le contenu de ma commande était la bonne, et ça donne effectivement bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exec(svn mkdir /home/subversion/.../Depot1/Toto, $puit, $creation) ;
    C'est donc a priori un problème de droit, puisque quand je fais l'execution en ligne de commande avec le svnroot elle fonctionne, mais pas avec l'utilisateur lambda....
    Je me demande donc comment donner les droits d'accès à PHP.

    Néanmoins, je me pose donc la question : Pourquoi je peux faire une copy d'un dossier ( et donc créer un dossier avec le contenu d'un autre ), mais pas créer un dossier vide ? Quel type de droit d'accès empêche l'un mais pas l'autre ? ( D'autant que mon Depot1 et mon Depot2 sont en CHMOD 777, même si ce n'est pas le cas de leurs fils... )

    La deuxième ligne du message d'erreur m'embête tout autant, j'ai l'impression qu'il tente d'éxecuter la commande depuis le répertoire www/monSite et non pas dans /home/subversion/.../Depot1, ou alors elle est liée à la première erreur ?


    Bref, un point de vue nouveau serait le bienvenue !
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 22
    Points
    22
    Par défaut
    je suis peut etre completement a coter de la plaque
    mais essai de creuser du coter du proprietaire du fichier
    ici
    http://fr.php.net/manual/fr/function.chown.php

    enfin je m'y connais pas tellement mais sa coute rien d'essayer

  3. #3
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    euh peut être aussi à côté de la plaque, mais dans l'erreur le chemin contient 3 "..." , perso je connais juste 2 ".." pour remonter d'un répertoire.

  4. #4
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Les "..." c'était pour pas montrer l'arborescence complète voilà tout ^^

    Pour CHOWN j'vais voir ça
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  5. #5
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    En fait c'est le CHOWN que je connaissais, pas de fonction cachée à l'horizon ^^


    EDIT : j'vais essayer de configurer sudo. Et mon client PHP c'est www-data d'après le whoami que j'ai exécuté.
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  6. #6
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Finalement c'était bien le propriétaire qui était la cause de l'erreur

    Par contre CHOWN ne pouvait résoudre mon problème, il fallait supprimer les dépôts et les recréer avec le client PHP pour qu'il en devienne propriétaire. Particularité de Subversion ^^

    Merci à toi Adrass
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système] lancer du php dans du php
    Par nonaM1982 dans le forum Langage
    Réponses: 16
    Dernier message: 21/02/2006, 10h47
  2. Réponses: 5
    Dernier message: 13/02/2006, 14h45
  3. Réponses: 7
    Dernier message: 20/10/2005, 20h51
  4. [Système] Imprimer en PHP
    Par TitAnz35 dans le forum Langage
    Réponses: 9
    Dernier message: 13/10/2005, 12h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo