Auteur: | Bertrand Bordage |
---|---|
Copyright: | Bertrand Bordage © 2011-2013 |
Contents
Note
Toutes les commandes sont à exécuter dans le répertoire du projet.
- Vérifier la satisfaction des dépendances.
- Choisir un mode de lancement :
Système d'exploitation: | Ubuntu 12.10 « Quantal Quetzal » |
---|
- Pour installer les dépendances qui suivent :
sudo ./dependances.sh
Paquet | Version |
---|---|
nano | |
postgresql | 9.1 |
python2.7 | 2.7.3 |
python-pip | 1.1 |
python-docutils | 0.8.1 |
memcached | 1.4.14 |
python-dev | 2.7.3 |
libxml2 | |
libxml2-dev | |
libxslt1-dev | |
elasticsearch | 0.90.2 |
rabbitmq-server | 3.0.2 |
Paquet | Version |
---|---|
nginx | 1.2.1 |
gunicorn | 0.17.4 |
supervisor | 3.0a8 |
Voir le fichier requirements.txt.
.. index:: PostgreSQL
Effectuer les actions suivantes :
sudo -i -u postgres
psql
CREATE USER dezede LOGIN;
CREATE DATABASE dezede OWNER dezede;
ALTER USER dezede WITH ENCRYPTED PASSWORD 'mot_de_passe';
\q
exit
Paramétrer l'accès de Django à la base de données :
Éditer le fichier de réglages :
nano settings.py
Les réglages à modifier sont dans
DATABASES
.
Création des tables de la base de données :
./manage.py syncdb
puis./manage.py migrate
Passer en mode
DEBUG
:Éditer le fichier de réglages :
nano settings.py
Remplacer la ligne
DEBUG = False
par :DEBUG = True
Création des révisions initiales :
./manage.py createinitialrevisions
Collecte des fichiers statiques :
./manage.py collectstatic -l
Préparation du dossier d'upload :
mkdir -p media/uploads/
Indexation des données :
./manage.py rebuild_index
Lancement du serveur de développement :
./manage.py runserver
Création des révisions initiales :
./manage.py createinitialrevisions
Collecte des fichiers statiques :
sudo ./manage.py collectstatic
Préparation du dossier d'upload :
sudo mkdir -p media/uploads/
Compiler les fichiers de langues :
./manage.py compilemessages
Indexation des données :
./manage.py rebuild_index
.. index:: nginx
Création d'un site dans nginx :
sudo nano /etc/nginx/sites-available/dezede
Copier ceci dans ce dernier (en remplaçant ce qui est balisé
[[quelque_chose]]
) :server { listen 80; server_name [[adresse_ou_domaine]]; gzip on; gzip_vary on; gzip_types text/plain text/css text/javascript application/x-javascript image/png image/svg+xml image/jpeg image/x-icon application/pdf application/octet-stream; add_header Cache-Control public; client_max_body_size 50M; location /media { alias [[/chemin/du/projet]]/media; allow all; expires 1y; } location /static { alias [[/chemin/du/projet]]/static; allow all; expires 1w; } location / { proxy_pass http://localhost:8000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; } }
Activer le site et désactiver le site par défaut :
sudo ln -s /etc/nginx/sites-available/dezede /etc/nginx/sites-enabled/
sudo unlink /etc/nginx/sites-enabled/default
Configuration de supervisor pour lancer automatiquement le serveur django avec gunicorn :
sudo nano /etc/supervisor/conf.d/dezede.conf
Copier ceci dans ce dernier (en remplaçant ce qui est balisé
[[quelque_chose]]
) :[program:dezede] directory=[[/chemin/du/projet]] command=gunicorn_django -w3 --timeout=300 user=[[utilisateur]] autostart=true autorestart=true redirect_stderror=true stdout_logfile=[[/chemin/du/projet]]/supervisor_django.log stdout_logfile_maxbytes=10MB [program:dezede_celery] directory=[[/chemin/du/projet]] command=python manage.py celery worker --loglevel=info user=[[utilisateur]] autostart=true autorestart=true redirect_stderror=true stdout_logfile=[[/chemin/du/projet]]/supervisor_celery.log stdout_logfile_maxbytes=10MB
Relancer le serveur avec :
sudo service supervisor restart
sudo service nginx restart
Ajouter (éventuellement) la langue désirée à LANGUAGES du fichier settings.py
Metre à jour à partir de Transifex :
tx pull -a
Compiler les fichiers de langues (en se mettant au préalable dans le dossier de l'application ou du projet) :
./manage.py compilemessages
Relancer le serveur
Une suite de tests a été créée pour l’application libretto. Pour la lancer, exécuter :
sudo ./manage.py test libretto