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

Django Python Discussion :

utiliser django avec cgi


Sujet :

Django Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Par défaut django avec cgi (changé pour mod_wsgi)
    Bonjour,

    Voulant tester la création de site avec python (en particulier django), j'ai pris un hébergement (gratuit) chez x10hosting qui supporte python.
    Seulement j'ai vite compris que pour faire tourner django il fallait un peu plus que de pouvoir exécuter des fichiers .py.
    D'où ma vrai question :
    je suis tombé la dessus dans la doc qui semble encourageant

    Seulement je comprend pas trop

    Ce qui me concerne si je comprend bien c'est le dernier point (Running Django on a shared-hosting provider with Apache)
    J'ai ajouté les lignes dans le .httaccess, créé le fichier mysite.fcgi (que je dois sans doute modifier mais avec quoi ?), rendu exécutable et puis ?...
    Et puis il y a des points qui sont pas clair :
    je dois uploader django quelque part je suppose. Où ?
    Et mon site django ? Je dois l'adapter ?

    Tout ça est un peu nouveau pour moi et je comprend pas encore bien tout les concepts

    merci

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 116
    Par défaut
    Salut,

    Il est recommandé d'utiliser plutot wsgi maintenant.

    http://code.google.com/p/modwsgi/wik...tionWithDjango

    Si tu veux un petit conseil, installe plutot sur une machine perso tout ton environnement, tu comprendras mieux la mécanique. Une fois que tu voudras déployer chez un hébergeur, tu te poseras plutot la question de ce qui manque plutot que "que dois-je bricoler".

    Sinon t'as un autre hébergeur gratuit pas mal qui supporte Django c'est http://www.alwaysdata.com/ Le forum est assez actif notamment par l'admin qui t'aidera sans problème a tout faire fonctionner.

    Bon courage, ça vaut le coup.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Par défaut
    salut

    bon j'ai un peu laissé tomber le fait de faire tourner avec uniquement cgi. Ca semblait trop compliqué et en plus parait que point de pue performance c'est horrible.

    J'ai donc, comme tu le conseilles, regardé du coté de mod_wsgi sur ma machine perso avec apache.

    Mais voila ça marche pas

    Quand je vais sur http://localhost/django, j'ai un message "accès interdit"
    avec comme log (/var/log/httpd/error.log)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Tue Jan 12 10:35:24 2010] [error] [client 127.0.0.1] (13)Permission denied: access to /django denied
    [Tue Jan 12 10:35:24 2010] [error] [client 127.0.0.1] File does not exist: /srv/http/favicon.ico
    Je tourne sous Archlinux
    J'ai ajouté à mon /etc/rc.d/httpd.conf après la longe liste de "LoadModule"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    LoadModule wsgi_module modules/mod_wsgi.so
     
    <Directory /home/mart/programmation/python/django/wsgi-scripts>
        Order allow,deny
        Allow from all
    </Directory>
     
    <VirtualHost *:80>
    	ServerAdmin mart@mart.net
    	LogLevel warn
    	WSGIScriptAlias /django /home/mart/programmation/python/django/wsgi-scripts/django.wsgi
    	Alias /media /home/mart/programmation/python/django/martfiles/media/
    </VirtualHost>
    (si besoin le fichier complet)

    avec un django.wsgi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #-*- coding: utf-8 -*-
    import os, sys
    sys.path.append('/home/mart/programmation/python/django')
    os.environ['DJANGO_SETTINGS_MODULE'] = 'martfiles.settings'
     
    import django.core.handlers.wsgi
     
    application = django.core.handlers.wsgi.WSGIHandler()
    et une structure fichier comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    /home/.../django/
       martfiles/
          templates/
          media/
          __init__.py
          manage.py
          settings.py
          urls.py
          views.py
       wsgi-scripts/
          django.wsgi
    point de vue permission (comme c'est ça qui a l'air de mer*** pas fonctionner), tout (le dossier apache, wsgi-scripts et martfiles et leur contenu) ont mon utilisateur comme propriétaire et sont autorisés en lecture seule pour les fichiers pour ceux qui ne sont pas moi (je sais pas si c'est clair ^^)

    il y a au moins une partie qui fonctionne puisque dans le message d'erreur, à "veuillez contacter le gestionnaire du site" c'est l'adresse email que j'ai spécifié dans virtualhost qui est indiquée

    je précise aussi que j'avais fait le teste avec ce qu'ils proposaient ici et ça fonctionnait

    une idée ?

    merci

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 116
    Par défaut
    Il faut que tu donnes les droits au user www-data il me semble.

    Moi j'ai fait des groupes (devusers et produsers) parce que je partage le dev et la prod sur la même machine. Et mes répertoires djangos, je leur donne les droits root:devusers en 775

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 40
    Par défaut
    que je donne les droits à quoi ? tout les fichiers du projet django ?

    je n'ai pas d'utilisateurs www-data mais un http (je suppose que c'est l'equivalent pour archlinux)

    si tu donnes des droits root tu dois passer en root chaque fois que tu veux modifier tes fichiers alors ? C'est pas un peu ennuyant ça ?

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 116
    Par défaut
    www-data parce que c'est mon user apache sous debian. Mais sinon oui c'est ton user apache.

    Et non, je ne me connecte pas en root pour modifier mes fichiers puisque mon user perso fait partie du groupe devusers qui a les droits 7 dessus.

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

Discussions similaires

  1. utiliser css avec django
    Par utopman dans le forum Django
    Réponses: 4
    Dernier message: 06/04/2011, 16h16
  2. Utiliser le resultat d'une <FORM> avec CGI
    Par jmricatt dans le forum Web
    Réponses: 3
    Dernier message: 12/12/2009, 15h18
  3. [Kylix 3] Je n'arrive pas à utiliser MySQL
    Par usebob dans le forum EDI
    Réponses: 4
    Dernier message: 15/04/2005, 10h18
  4. PB de vue utilisant UNION avec ENTERPRISE MANAGER
    Par punglas dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/12/2004, 15h18
  5. Réponses: 12
    Dernier message: 02/02/2004, 13h41

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