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

Apache Discussion :

Conf options répertoire pour l'affichage d'un swf généré par un script Perl


Sujet :

Apache

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut Conf options répertoire pour l'affichage d'un swf généré par un script Perl
    Bonjour,

    J'ai un script perl cgi qui génère une image swf.
    Quand je travaille sous eclipse et que je lance le script, l'image apparaît dans le navigateur à l'adresse http://localhost:5059/graphique_gene.pl.

    Or j'aimerai lancer le script via mon serveur local apache en tapant l'adresse suivante http://127.0.01/graphique_gene.pl.

    Le script tourne sur sur le serveur mais l'image ne s'affiche pas.

    Je pense que je dois modifier des trucs dans apache? mais quoi et ou? C'est un problème dans la localisation et définition des options des répertoires, non?
    Je suis sous ubuntu 9.10.

    Mon arborescence de fichier est la suivante :
    /var/www/cgi-bin/graphique_gene.pl
    /var/www/html/image.swf


    Un coup de main serait le bienvenu.

    Merci

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Il faut passer Apache en écoute sur le port 80 et pas 5059. Pour cela, édite le fichier ports.conf, mets à la place de et redémarre Apache.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Merci pour ta réponse mais ports.conf est déjà configuré avec Listen 80.
    Cela ne vient pas de la.

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Est-ce que c'est Apache qui écoute sur le port 5059 ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Apache écoute sur le port 80 dans ports.conf.
    A partir d'eclipse, j'obtiens l'image en lançant un run. Le navigateur souvre avec une adresse du type http://localhost:5064/graphique_gene.pl mais le port change à chaque fois que je lance le script.

    La configuration sous eclipse des répertoires pour le lancement du script cgi est la suivante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    HTML ROOT DIRECTORY:/var/www/html
    HTML STARTUP FILE:/var/www/cgi-bin/graphique_gene.pl
    CGI ROOT DIRECTORY:/var/www/cgi-bin/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    L'image est crée ici:
    /var/www/html/fastdb2/swf/gene
    Le code qui fait appel à l'image pour l'afficher est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	print "<html>
    	<body>
     
    	<object width='980'>
    		<embed src='../fastdb2/swf/gene/image.swf' pluginspage='http://www.macromedia.com/shockwave/download/' type='application/x-shockwave-flash' quality='high' width='980'></embed>
    	</object>
    	</body>
    	</html>";
    Quand je vais dans le navigateur et que je tape l'adresse suivante.
    http://127.0.01/cgi-bin/graphique_gene.pl
    Je n'ai pas d'image affiché. Je pense toujours que ça vient de la configuration sous apache du repertoire ou l'image est crée mais je ne sais pas ou et quoi corriger.Je bloque

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    C'est Eclipse qui exécute ton CGI Perl, pas Apache. Il faut faire en sorte qu'Apache sache aussi exécuter ce CGI. Si Apache a son alias CGI sur /var/www/cgi-bin, ça doit être possible en ajoutant cgi-bin dans l'URL : http://localhost/cgi-bin/graphique_gene.pl
    .

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Je suis d'accord avec toi, dans le cas ou çela fonctionne, c'est eclipse qui execute le cgi et non apache.
    Mon alias est bien /var/www/cgi-bin/ et j'execute bien http://localhost/cgi-bin/graphique_gene.pl mais cela ne fonctionne pas.
    Le script m'affiche le header
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Content-Type: text/html; charset=ISO-8859-1
    ce qui prouve que le script est bien trouvé et exécuté comme un script CGI.Cependant il ne m'affiche pas l'image.

    J'avais le même problème initialement quand je développais sous Eclipse, il lançait le script mais n'afficher pas l'image.
    C'est en modifiant les répertoires de config du CGI sous eclipse que j'ai réglé le problème alosr je pense qu'en fesant de même sous apache ça résoudra le problème mais je vois pas ce ki cloche.

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Dans ton script .pl, est-ce que tu forces le content type à application/x-shockwave-flash ou un truc du genre ?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Quand je modifie cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <embed src='../fastdb2/swf/gene/image.swf' pluginspage='http://www.macromedia.com/shockwave/download/' type='application/x-shockwave-flash' quality='high' width='980'></embed>
    en
    <embed src='/html/fastdb2/swf/gene/image.swf' pluginspage='http://www.macromedia.com/shockwave/download/' type='application/x-shockwave-flash' quality='high' width='980'></embed>.

    L'image apparaît avec apache et l'adresse http://localhost/cgi-bin/graphique_gene.pl.
    Mais sous eclipse, cela ne fonctionne plus...

    Non je ne force pas dans mon script le content type enfin je ne crois pas...

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Y a un truc que je ne comprends pas : comment passe-t-on de l'URL /html/fastdb2/swf/gene/image.swf à /cgi-bin/graphique_gene.pl ? Quel est le rapport entre les deux ?

    Que génère graphique_gene.pl ? Du HTML ou autre chose ?

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    J'exécute le script graphique_gene.pl. Il est dans /var/www/cgi/.
    Donc comme tu dois le savoir le repértoire /www/ contient les dossiers et fichiers qui doivent être afffichés par le serveur et qui sont après dans le path de l'URL.

    Donc ici ,l'url va être http://localhost/cgi-bin/graphique_gene.pl?

    Quand se scripte s'éxecute, il crée une image swf dans /var/www/html/fastdb2/gene/swf/

    Donc dans le script graphique_gene.pl j'ai ce code qui génère une page avec une image swf qu'il incorpore a partir de l'adresse cité précédemment.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    print "<html>
    	<body>
     
    	<object width='980'>
    		<embed src='../fastdb2/swf/gene/image.swf' pluginspage='http://www.macromedia.com/shockwave/download/' type='application/x-shockwave-flash' quality='high' width='980'></embed>
    	</object>
    	</body>
    	</html>";
    Moi j'ai changé le embed en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <embed src='/html/fastdb2/swf/gene/image.swf'
    et la ça fonctionne sous apache mais pas à partir declipse.

  12. #12
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    OK, je comprends mieux. Dans ce cas, il faut modifier le document root d'Apache pour indiquer /var/www/html et pas simplement /var/www. Et comme ça, ton ancienne URL ../fastdb2/swf/gene/image.swf doit passer dans Apache. L'autre solution, c'est de faire la même configuration dans Eclipse : indiquer /var/www comme HTML ROOT DIRECTORY et dans ce cas, c'est l'URL en /html/... qu'il faut utiliser.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    OK, je comprends mieux. Dans ce cas, il faut modifier le document root d'Apache pour indiquer /var/www/html et pas simplement /var/www. Et comme ça, ton ancienne URL ../fastdb2/swf/gene/image.swf doit passer dans Apache
    OKKKKK, ça marche :-)
    Cependant dans eclipse maintenant ça ne marche plus même si je mets
    HTML ROOT DIRECTORY /var/www ou /var/www/html/
    mais c'est pas grave.

    Merci de ton aide!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/01/2015, 13h55
  2. Réponses: 2
    Dernier message: 22/04/2014, 11h36
  3. Réponses: 1
    Dernier message: 10/02/2007, 13h42
  4. Recherche de doc pour un affichage animé
    Par Grinta dans le forum Assembleur
    Réponses: 2
    Dernier message: 07/05/2005, 10h32

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