## 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