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

Déploiement/Installation Python Discussion :

Installation mod-python sous debian


Sujet :

Déploiement/Installation Python

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 40
    Points : 33
    Points
    33
    Par défaut Installation mod-python sous debian
    Après un joyeux apt-get install libapache... je dispose de mod-python. Maintenant ma grande question c'est : que dois-je changer dans mes fichiers .conf pour que ça tourne ? (pouvoir interpréter des scripts .py sur mon serveur)
    En sachant que j'ai des scripts php aussi...

    pour le moment j'ai :
    - python2.4
    - apache2, avec mod-python
    - php5 (qui tourne)

  2. #2
    Membre régulier Avatar de Mysti¢
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 116
    Points
    116
    Par défaut
    Bonsoir,

    Personnelement j'ai toujours fait tourner python avec le mode cgi, apres je ne sais pas si c'est obligatoire ou non. Sinon pour que tout soit fonctionnel, normalement tu as juste besoin d'avoir au moins cette ligne dans ton fichier apache2.conf (chemin par defaut: /etc/apache/apache.conf)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddHandler cgi-script .cgi .py
    Ensuite tu devras soit dans ton fichier de configuration apache autoriser l'execution des fichiers cgi dans le repertoire en question.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            <Directory /var/www/python-scripts>
                    AllowOverride None
                    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                    Order allow,deny
                    Allow from all
            </Directory>
    Le plus important est juste la partie que tu peux aussi mettre dans un fichier .htaccess a la racine du repertoire dans lequel tu veux autoriser l'execution de tes scripts.

    Deux dernieres petites choses, tu dois mettre ton fichier en mode 777 (lecture, ecriture et execution pour tout le monde) afin que le serveur ne te retourne pas d'erreur 500. Puis pour finir, tu dois aussi specifier une entete en fonction de la configuration du serveur et de l'utilisation que tu voudra faire du script.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    print "Content-Type: text/html"
    print
    un exemple fonctionnel:

    Tu crees un fichier index.py/cgi.
    Tu mets toutes les permissions: chmod 777 en console ou avec ton client FTP/SFTP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    print "Content-Type: text/html"
    print
     
    print '''
    <html>
        <head>
            <title>Python Powered Page</title>
        </head>
        <body>
            contenu
        </body>
    </html>'''
    ''' Life is short, use Python '''
    Business En Ligne
    SearchEngineFight

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    Je commencer à trouver une réponse... Ca s'apparente plus ou moins à ce que tu donnes comme informations.
    Dans httpd.conf, j'ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LoadModule python_module /usr/lib/apache2/modules/mod_python.so
    Puis, dans le fichier de config de mon site, dans la partie 'Directory' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <Directory /your/site/directory/>
          AddHandler mod_python .py
          PythonHandler myscript
          PythonDebug On
          Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Maintenant, ceci ne me permet que d'exécuter le script 'myscript'... Pour en exécuter plusieurs (suivant ce que j'ajoute sur mon serveur), je fais comment ?
    Je me suis renseigné sur l'ajout de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PythonHandler mod_python.publisher
    plutôt que
    mais si j'ai bien compris, ça ne me permet que de traiter des scripts dont le nom est passé en variable d'URL (genre '$_GET' en php), ce qui ne m'arrange pas...
    Une solution quelqu'un ?

  4. #4
    Membre régulier Avatar de Mysti¢
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 155
    Points : 116
    Points
    116
    Par défaut
    Pour ta premiere question, je ne peux pas t'aider c'est vrai qu'il doit y'avoir quelques chose plus simple que de reediter la conf apache.
    Si de toute les facon tu est amener a editer un fichier souvent, autant faire ta config dans un .htaccess, qui lui sera pris en compte directement.

    En ce qui concerne ta deuxieme question, je ne suis pas sur mais etant donne que tu as parle de recuperer une ou plusieurs variables d'URL, je sais qu'en CGI c'est possible (c.f le petit 2 du lien que je te donne).

    http://wikipython.flibuste.net/moin.py/CodesCGI

    Bonne chance dans ta conf
    ''' Life is short, use Python '''
    Business En Ligne
    SearchEngineFight

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2002
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 40
    Points : 33
    Points
    33
    Par défaut
    Allez, dernière réponse avec la solution (au cas où ça sert à quelqu'un) :

    Dans le fichier httpd.conf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <IfModule !mod_python.c>
          LoadModule python_module /usr/lib/apache2/modules/mod_python.so
    </IfModule>
    Dans le fichier de config de mon site :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <Directory /your/site/directory/>
          AddHandler mod_python .py
          SetHandler mod_python
          PythonHandler mod_python.psp
          PythonDebug On
          Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
          ...
    </Directory>
    Les "..." représentant les AllowOverride, Order, etc.

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

Discussions similaires

  1. installation de paquets sous debian
    Par mackla dans le forum Administration système
    Réponses: 8
    Dernier message: 17/11/2007, 20h23
  2. comment installer un pilote sous debian linux
    Par khaliloum dans le forum Administration système
    Réponses: 1
    Dernier message: 15/08/2007, 15h45
  3. Probleme d'installation de python sous debian
    Par ToMs dans le forum Debian
    Réponses: 3
    Dernier message: 09/08/2006, 10h57
  4. Installation kernel smp sous Debian
    Par SteelBox dans le forum Administration système
    Réponses: 8
    Dernier message: 11/03/2006, 19h27
  5. Créer, retoucher, installer des polices sous debian
    Par Thrystan dans le forum Debian
    Réponses: 2
    Dernier message: 29/06/2005, 22h44

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