Procédure installation Django "classic" et avec env virtuel Python - mars 2013

## http://www.jbauzone.fr/2010/08/02/installer-un-serveur-web-avec-apache-python-django-avec-modwsgi/

/!\ À mon avis cette procédure est intéressant dans un but pédagique mais ne doit pas être suivit pour une mise en prod ou autre projet sérieux. Par exemple, ici on met le projet dans /var/www (comme en PHP), c'est une méthode déconseillé par la doc officiel de Django). /!\

## verifier que python (2.x) est installé
python --version

## installation de Apache et du module Python
apt-get install apache2 libapache2-mod-wsgi apache2-prefork-dev

cd /usr/lib/apache2/modules/

cp mod_wsgi.so /etc/apache2/mods-enabled/

nano /etc/apache2/httpd.conf

## Et on y ajoute la ligne suivante pour charger le module :
LoadModule wsgi_module mods-enabled/mod_wsgi.so

## Il est nécessaire ensuite de redémarrer le serveur Apache, puis on vérifie les logs :
/etc/inid.d/apache2 restart
tail -n 10 /var/log/apache2/error.log

[ ... ]

## J'ai mis :

sys.path.append('/var/www/mysite')

à la place du chemin proposé dans la tuto sinon je rencontrais une erreur 500.

## une fois Apache et son moduleinstallé et configuré, installer Django (voir lien en haut de cette doc).

## notes :

Pour connaitre la version de django (et tester si il est installé) :
python
>>> import django
>>> django.get_version()

=====================================

## Test de Django dans un environnement virtuel Python (PyPI/Pip/Virtualenv)

apt-get install python-setuptools
easy_install pip
pip install virtualenv

virtualenv env_django

source /test/bin/activate

cd env_django

pip install Django

## note : Django s'install dans env_django dans site-packages à cette adresse : /env_django/lib/python2.7/site-packages/django
## (toujours logé dans l'env python)
## création du projet

mkdir /var/www/env_django/

cd /var/www/env_django/

django-admin.py startproject test_proj_virt

nano django.wsgi

## y mettre :

import os
import sys
 
sys.path.append('/var/www/env_django')
 
os.environ['DJANGO_SETTINGS_MODULE'] = 'env_django.settings'
 
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

## ensuite

nano /etc/apache2/sites-available/default

## changer le chemin :
WSGIScriptAlias / /var/www/mysite/django.wsgi
par :
WSGIScriptAlias / /var/www/env_django/django.wsgi

 

 

 

 

like0

Contributeurs