Vous n'êtes pas identifié(e).
Bonjour,
J'essaie de mettre en pré-production ma première application Django.
Celle-ci est installée sur une plateforme Debian 9 sur laquelle la version par défaut de Python est la version 2.7.
J'ai développé l'application dans un environnement virtuel venv de Python 3.5.
1. Est-il bien possible de faire tourner une application Django dans un environnement virtuel créé avec la commande venv de Python 3.5 ?
2. Est-il possible (et recommandé) de faire tourner l'application Django (et celle-ci seulement) sous un autre utilisateur que www-data ?
3. Si l'application Django doit tourner sous l'utilisateur www-data du groupe eponyme, quels droits doivent être accordés aux (inombrables) fichiers de
l'environnement virtuel ? J'imagine qu'en premier lieu le fichier bin/activate doit par exemple être exécutable par www-data mais est-ce bien exact ?
4. Conseils et suggestions ?
Par avance, merci.
Slts
Hors ligne
Bonjour,
En (re)lisant [1], j'ai retrouvé l'option user=<username> de la directive WSGIDaemonProcess.
Elle semble donner la possibilité de faire tourner une application Django sous un username particulier.
Qu'en penser ?
Hors ligne
Après de multiples essais, j'ai réussi à faire tourner mon appli Django dans son nouvel environnement.
J'espère que les notes ci-après pourront être utiles à d'autres.
Surtout, n'hésitez pas à enrichir cette discussion par vos remarques et commentaires.
Voici ce que j'ai retenu:
- il est possible de faire tourner l'application par le même utilisateur (non root) avec lequel l'application a été développée
- si l'application opère sur un réseau local, ajouter à sa machine hôte une IP privée réservée à son application simplifie les choses.
Voici un exemple de fichier /etc/apache2/sites-available/foobar.conf (activé par a2ensite foobar):
<VirtualHost monsite:80>
WSGIDaemonProcess monsite python-home=/home/moi/Documents/PyVenvs/monvenv python-path=/home/user/Documents/Projects/monsite user=moi
WSGIProcessGroup monsite
WSGIScriptAlias / /home/user/Documents/Projects/monsite/monsite/wsgi.py
<Directory /home/moi/Documents/Projects/monsite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Slts
Hors ligne