Forum général.général www-data

Posté par .
Tags : aucun
0
4
nov.
2008
Bonjour,

Ma config : Ubuntu 8.04, Desktop edition, 32 bits

Pour administrer ma machine, (installation de LAMP, etc...) j'ai un compte nomé "admin"
J'ai installé open-office afin de charger le plugin "ooo2pdf"
J'utilise ooo2pdf pour convertir des documents à partir de scripts php sur mon site WEB
Mon site est situé à cet emplacement : /var/www/monsite
Le propriétaire est www-data avec les droits wrx

Mon problème est le suivant :
Le serveur web est lancé par apache, mais www-data n'execute pas les scripts de converstion.

Je pense que l'utilisateur www-data n'est pas configurer comme il faut,
d'ailleurs pourquoi n'a t-il de repertoire personnel ? ex /home/www-data

C'est genant, je peux lancé des convertions de documents à partir de ma session "admin"
mais pas avec www-data

Sur ma machine local, par contre , cela fonctionne ...je ne comprens pas.....
  • # /var/www

    Posté par . Évalué à 4.

    le home de l'utilisateur www-data c'est souvent

    /var/www
    ou
    /var/www/htdocs

    c'est donc souvent là dedans qu'il faut mettre le site web et/ou les scripts

    lire la documentation apache peut eventuellement t'aider
    • [^] # Re: /var/www

      Posté par . Évalué à -1.

      Merci mais ce n'est de ça dont il s'agit,
      Il faut considérer www-data comme un utilisateur
      chaque utilisateur à son dossier /home/utilisateur/

      le soucis est que le server web à son propre utilisateur qui lui est associé "www-data" par défaut
      mais le server(l'ordinateur) ne démarre pas avec lui, donc www-data n'a pas accès au X-server et ne peut donc pas utiliser d'application graphique
      ou tout du moins les utiliser directement.
      • [^] # Re: /var/www

        Posté par (page perso) . Évalué à 2.

        C'est ce qu'on appelle un utilisateur "système"... il n'est pas là pour être utilisé graphiquement par l'utilisateur physique de la machine.

        Il sert plus à confiner les droits lors de l'exécution d'un service (en l'occurence ton service apache2 je pense).

        Inutile donc d'avoir une possibilité de se connecter avec ce nom en mode graphique ou de lui donner une home dans /home (à moins de vouloir y mettre pour des questions de partitions tes données web).
      • [^] # Re: /var/www

        Posté par . Évalué à 3.

        en meme temps il doit y avoir d'autres bibliotheques que ooo2pdf venant d'openoffice
        pour convertir, sur un site web, des documents openoffice en document PDF.

        en php, en perl, ou dans d'autres langages.

        cela t'evitera de te prendre la tete à faire faire à apache un truc qui n'est pas prevu pour
  • # 2 thread

    Posté par (page perso) . Évalué à 3.

    Pas la peine de dupliquer ton problème chaque jour: https://linuxfr.org/forums/12/26157.html

    D'ailleurs, la réponse est à mon avis dans le post de NeoX: https://linuxfr.org/comments/978815.html#978815

    ==> l'utilisateur www-data n'a peut être pas les droit d'écriture sur le dossier où tu souhaites avoir tes conversions stockées. cf: read-only context
    Donc tu peux faire ainsi si "admin" appartient au groupe "www-data":
    chgrp -R www-data /chemin/vers/le/dossier/voulu/
    chmod -R 775 /chemin/vers/le/dossier/voulu/

    Ainsi tu as donné au groupe www-data la propriété du dossier souhaité (commande #1) et donné à ce groupe le droit de modifier ce dossier (commande #2).

    Comme admin appartient à www-data, il peut continuer d'écrire dans ce dossier.

    En revanche les nouveaux fichiers crées par l'interface web seront la propriété de www-data (utilisateur et groupe)... mais bon, ce n'est peut être pas génant.
    • [^] # Re: 2 thread

      Posté par . Évalué à 1.

      merci, pour ces instructions, c'est déjà le cas :
      chgrp -R www-data /chemin/vers/le/dossier/voulu/
      chmod -R 775 /chemin/vers/le/dossier/voulu/
      
      voici la fonction avec comme parametre un document test , qui est executé par apache et qui renvoie une erreur :
      www-data@mamachine:/var/www/ThinkThanks/dev/includes/transformationDocument$ DISPLAY=:0.0 ooo2pdf/ooo2pdf newcastle_wireless.odt
      exporting /var/www/ThinkThanks/dev/includes/transformationDocument/newcastle_wireless.odt --> newcastle_wireless.odt.pdf
      0
      www-data@mamachine:/var/www/ThinkThanks/dev/includes/transformationDocument$ /usr/lib/openoffice/program/soffice.bin X11 error: Can't open display: :0.0
         Set DISPLAY environment variable, use -display option
         or check permissions of your X-Server
         (See "man X" resp. "man xhost" for details)
      
      
      
      => echec la même chose avec l'utilisateur admin :
       ooo2pdf/ooo2pdf ./newcastle_wireless.odt
      exporting /var/www/ThinkThanks/dev/includes/transformationDocument/newcastle_wireless.odt --> ./newcastle_wireless.odt.pdf
      0
      
      
      =>ok
      • [^] # Re: 2 thread

        Posté par (page perso) . Évalué à 2.

        www-data@mamachine:/var/www/ThinkThanks/dev/includes/transformationDocument$ DISPLAY=:0.0 ooo2pdf/ooo2pdf newcastle_wireless.odt

        Euh... tu as créé un utilisateur "www-data" ???
        • [^] # Re: 2 thread

          Posté par . Évalué à 1.

          oui , j'ai créer un utilisateur www-data , suite à une mauvaise manip, il y a quelque temps, il avait été supprimer et remplacer par "1003"
      • [^] # Re: 2 thread

        Posté par (page perso) . Évalué à 2.

        Arf... le convertisseur essaye de lancer une interface graphique... Ce que X refuse à www-data qui est un utilisateur système.

        à mon avis, on va tendre à un bricolage pas très clean si tu souhaite vraiment utiliser une routine qui n'est pas appropriée un l'environnement web...

        Tu as vraiment des raisons valables d'utiliser cette méthode de conversion plutôt qu'une autre?

        ps: tu aurais posté ça dès le départ on aurait de suite compris...
        • [^] # Re: 2 thread

          Posté par . Évalué à 1.

          oui, pardon, mais je cherchais la méthode la plus simple d'expliquer mon problème A noter que sur mon serveur local , cela fonctionne La commande qui m'a permis de re-créer l'utilisateur www-data est la suivante :
          sudo adduser --uid 33 --ingroup www-data www-data
          
          pour information... vous allez me dire que c'est mal.....
          • [^] # Re: 2 thread

            Posté par (page perso) . Évalué à 2.

            Mal... bof... à part préciser l'uid en dur vu qu'il peut être pris par un autre utilisateur créée entre temps.

            D'ailleurs un message précédent me laisse penser qu'à l'origine il avait l'uid 1003...
            • [^] # Re: 2 thread

              Posté par . Évalué à 2.

              exactement, mais ça aussi, avait modifier , suite à une manip conseillée sur un forum

              Bon, j'ai installé le paquet openoffice.org-headless, et ça fonctionne.!!!!!!!
              Yes!

              Je ne vous le dis pas , mais ça fait un bail que j'etais là dessus, merci à tous ceux qui m'ont aidé.

              Il est evidement que vous ne lisez pas les post en diagonale, comme dans certains forums,
              c'est appréciable et efficace !

              Merci encore
              • [^] # Re: 2 thread

                Posté par (page perso) . Évalué à 2.

                Ah ben là j'aurais pas trouvé la solution tout seul vu que je ne connais pas ces méthodes de conversion.

                Content que tu ais trouvé en tout cas (et merci d'avoir signalé la solution, ça pourra en aider d'autre peut être à résoudre une erreur équivalente).

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.