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 :

Déployer un site Django


Sujet :

Django Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut Déployer un site Django
    Bonjour à tous,

    Je réalise actuellement un certain nombre d'outils sous Django destinés à faciliter la vie de mes collègues de taf. Je souhaite mettre "en ligne" ces outils et plutôt que d'utiliser un serveur distant x je souhaite utiliser un PC interne. Pour cela je dois donc installer apache et mod_python.

    J'ai suivi le DjangoBook et à priori jusqu'à tout va bien. Cependant maintenant que je les ai installés et que j'ai configurer apache2.conf et redémarrer apache je coince un peu.

    Où dois-je exactement mettre mes fichiers, dois-je ré-installer Django et Python à un endroit particulier ou l'installation standard suffit, ...

    Soit j'ai lu le DjanoBook de travers, soit j'ai rien pigé car je ne trouve pas les réponses à ces questions qui me semblent assez simplistes...

    D'avance merci

    PS: Je suis sous Ubuntu
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  2. #2
    Membre Expert
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Par défaut
    Si c'est pour un usage restreint et local (tes collègues de travail a priori), j'aurais tendance à te conseiller de rester avec le serveur de développement inclus dans django.

    Il est loin d'être optimal, mais pour un nombre de connexion réduit, ca devrais passer.

    Si tu tiens à penser par apache, je pourrais pas trop t'aider pour mod_python, vu que j'utilise apache avec mod_wsgi.

  3. #3
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut
    J'entends beaucoup parlé de mod_wsgi. Il y a t-il beaucoup de différence avec mod_python?

    Si tu l'utilises je suppose qu'il y a une raison particulière. Peux-tu me la donner?
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  4. #4
    Membre Expert
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Par défaut
    A l'époque j'avais choisi mod_wsgi parce que celui là me permettais d'héberger des sites entièrement indépendant, un peu comme un hébergement mutualisé.

    Si j'ai tout bien compris, ce qui n'est pas toujours sur ^^ :

    Apache lance tout ces process avec un même user, ce qui fait que 2 sites servi par le même serveur apache ne permets pas d'interdire l'accès au dossier physique de l'autre site, vu que le propriétaire des dossiers est du coup le même user. (Pas sur que ce soit clair)

    J'avais cherché avec mod_python de lancer les process fils d'apache sous des users différent, ce que je n'avais pas réussi, peut être n'ai je pas compris comment faire, alors qu'avec mod_wsgi, j'ai réussi à le faire.

  5. #5
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Billets dans le blog
    15
    Par défaut
    Citation Envoyé par DelphiManiac Voir le message
    A l'époque j'avais choisi mod_wsgi parce que celui là me permettais d'héberger des sites entièrement indépendant, un peu comme un hébergement mutualisé.

    Si j'ai tout bien compris, ce qui n'est pas toujours sur ^^ :

    Apache lance tout ces process avec un même user, ce qui fait que 2 sites servi par le même serveur apache ne permets pas d'interdire l'accès au dossier physique de l'autre site, vu que le propriétaire des dossiers est du coup le même user. (Pas sur que ce soit clair)
    hihihihi Heuuu non là j'ai rien pigé. Cela vient soit du petit ricard que je viens de boire soit du fait que je maitrise vraiment pas trop Apache...

    Quoiqu'il en soit je verrai déjà avec le serveur de dév dans un premier temps pour valider les outils, ensuite...

    J'ai une autre petite question du point de vue sécurité...
    Sur d'autres discussion je me demandais si (re)prendre pour des applc web valait le coup (tu as d'ailleurs participé à l'une d'elles). L'un des points qui m'a convaincu est le fait que j'ai beaucoup mieux compris l'utilisation d'url.py et de views.py. La conséquence de ceci est qu'il me sera extrêmement facile et rapide de reprendre les programmes déjà fait si j'utilise la bdd que j'ai réalisé. Cela revient à ne pas utiliser les modèles d'applications de Django.

    J'aimerai savoir ce que tu en penses et surtout selon toi où dois-je mettre mes codes python et bdd pour qu'ils soient au maximum sécurisés (par exemple comment faire pour ne pas risquer que des mdp de login soient accessibles à tous).

    Je suis pas très doués niveau sécurité de programme et j'aimerai bien avoir quelques conseils.

    D'avance merci
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  6. #6
    Membre Expert
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Par défaut
    J'essaye de mieux réexpliquer ce que j'ai compris concernant apache et les users avec mod_python et mod_wsgi.

    Apache tourne généralement sous linux sur les serveurs de production.

    Sous linux tu as des utilisateurs qui ont des droits différents sur les répertoires.

    De base si tu as 2 sites, tu as une arborescence qui ressemble à ca :

    /home
    -> site1
    -> site2

    De base apache lance son process avec un seul nom d'utilisateur, donc tu as un utilisateur qui s'appelle par exemple toto et apache se lance donc en utilisant les droits de toto :

    /home
    -> site1 -> toto à tous les droits
    -> site2 -> toto à tous les droits

    Tu es obligé de donner les droits à toto sur les 2 répertoires, sinon apache ne pourra pas accéder à un des répertoires vu qu'il utilise les droits de toto.

    Donc le dev qui code en python sur le dossier site1 peut du coup accéder au données de site2 qui ne sont pas les siennes.

    mod_python d'après ce qu j'ai compris ne peut pas changer cela.

    mod_wsgi peut quand à lui, lancer les process python de chaque site avec un nom d'utilisateur différent.

    /home
    -> site1 -> toto1 à tous les droits
    -> site2 -> toto2 à tous les droits

    Dans le fichier httpd.conf d'apache, tu précise par mod_wsgi que le site1 utilise les droits de toto1 avec comme url www.site1.com et idem pour site2 mais avec l'utilisateur toto2. Du coup toto1 ne peut pas accéder au données de site2 et inversement.

    C'est ce que j'ai compris après différents essais que j'avais fais il y a un moment de cela.

    Si un spécialiste d'apache passe par là, qu'il n'hésite pas à corriger si j'ai des bêtises :p



    Concernant ton autre question, tu peux, il me semble de mémoire, utiliser les modèles objets d'accès au données de django sans pour autant que la base de données ai été créée avec django. Il me semble que la doc décris cette procédure, même si je ne l'ai jamais utilisé.

    Par contre je ne comprend pas cette question :
    où dois-je mettre mes codes python et bdd pour qu'ils soient au maximum sécurisés (par exemple comment faire pour ne pas risquer que des mdp de login soient accessibles à tous)
    Tu parles de quel mot de passe ? ceux de l'accès à la base de données ?

    Si oui, il sont stockés dans le fichier settings.py qui est un fichier qui ne peut être affiché par un navigateur web.

    Tout script stocké coté serveur (python/php, perl, etc...) ne peut être affiché coté client, à partir du moment ou apache est bien configuré le script sera exécuté et c'est le résultat de son exécution qui sera envoyé au navigateur.

    Le principal risque est que ton site permette de downloader des fichiers et que dans le script de download il y ai une faille qui permette de downloader n'importe quel fichier du serveur.

    Si tu as d'autre question, n'hésites pas, mais essaye, stp, de partir d'exemple réel de code. C'est toujours plus facile que d'essayer de parler de choses relativement abstraite



    Tu es sous quel environnement sur ton serveur de production ? windows ou linux ? (quelle version de l'os aussi stp ? )

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

Discussions similaires

  1. Déployer un site web en framework 1.1
    Par le_bono dans le forum ASP.NET
    Réponses: 3
    Dernier message: 12/02/2008, 16h27
  2. Réponses: 2
    Dernier message: 31/10/2007, 17h53
  3. Réponses: 1
    Dernier message: 26/04/2007, 13h46
  4. Déployer un site local
    Par DevCR dans le forum Apache
    Réponses: 4
    Dernier message: 22/02/2007, 14h46
  5. [M2]Pb pour déployer un site
    Par elitost dans le forum Maven
    Réponses: 11
    Dernier message: 13/07/2006, 17h31

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