Skip to content

avorio/dezede

 
 

Repository files navigation

Projet Dezède

Auteur

Bertrand Bordage

Copyright

Bertrand Bordage © 2011-2014

travis_ coveralls_

Procédure d'installation

Note

Toutes les commandes sont à exécuter dans le répertoire du projet.

  1. Vérifier la satisfaction des dépendances.
  2. Choisir un mode de lancement :

Dépendances

Système d'exploitation

Ubuntu 17.10 « Raring Ringtail »

Pour installer les dépendances qui suivent :

sudo ./dependances.sh

Paquets

Nécessaires au déploiement

Paquet Version
nginx 1.12.1
supervisor 3.3.1

Clonage du projet

  • git clone https://github.com/dezede/dezede
  • git submodule init
  • git submodule update

Configuration de PostgreSQL

PostgreSQL

  1. Effectuer les actions suivantes :

    sudo -i -u postgres
    psql
    CREATE USER dezede LOGIN CREATEDB;
    CREATE DATABASE dezede OWNER dezede;
    \q
    exit
  2. Autoriser l'utilisateur dezede à accéder à PostgreSQL par le socket unix :
    • Éditer le fichier de configuration :

      sudo nano /etc/postgresql/9.6/main/pg_hba.conf

    • Ajouter cette nouvelle ligne après # Database administrative login by Unix domain socket :

      local dezede,test_dezede dezede trust
  3. Création des tables de la base de données :

    ./manage.py syncdb puis ./manage.py migrate

  4. Redémarrer PostgreSQL :

    sudo systemctl restart postgresql

Configuration de Redis

  1. Activer le socket Unix de Redis :

    • Éditer le fichier de configuration :

      sudo nano /etc/redis/redis.conf

    • Ajouter ces lignes :

      unixsocket /var/run/redis/redis.sock
      unixsocketperm 777
  2. Redémarrer Redis :

    sudo systemctl restart redis

Lancement du serveur de développement

  1. Configuration de PostgreSQL
  2. Configuration de Redis
  3. Création des révisions initiales :

    ./manage.py createinitialrevisions

  4. Collecte des fichiers statiques :

    ./manage.py collectstatic -l

  5. Préparation du dossier d'upload :

    mkdir -p media/uploads/

  6. Indexation des données :

    ./manage.py rebuild_index

  7. Lancement du serveur de développement :

    DJANGO_DEBUG=True ./manage.py runserver

Déploiement

  1. Configuration de PostgreSQL
  2. Configuration de Redis
  3. Création des révisions initiales :

    ./manage.py createinitialrevisions

  4. Collecte des fichiers statiques :

    ./manage.py collectstatic

  5. Préparation du dossier d'upload :

    mkdir -p media/uploads/

  6. Compiler les fichiers de langues :

    ./manage.py compilemessages

  7. Indexation des données :

    ./manage.py rebuild_index

  8. Configuration de nginx

Configuration de nginx

nginx

  1. Création d'un site dans nginx :

    sudo nano /etc/nginx/sites-available/dezede

  2. Copier dedans le contenu de nginx/dezede.conf (en remplaçant ce qui est balisé [[quelque_chose]])
  3. 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
  4. Configuration de supervisor pour lancer automatiquement le serveur django avec gunicorn :

    sudo nano /etc/supervisor/conf.d/dezede.conf

  5. Copier ceci dans ce dernier (en remplaçant ce qui est balisé [[quelque_chose]]) :

    [program:dezede_django]
    directory=[[/chemin/du/projet]]
    command=gunicorn dezede.wsgi:application -w3 -t300 -b 127.0.0.1:[[port]]
    user=[[utilisateur]]
    autostart=true
    autorestart=true
    redirect_stderror=true
    stdout_logfile=[[/chemin/du/projet]]/supervisor_django.log
    stdout_logfile_maxbytes=10MB
    
    [program:dezede_rq]
    directory=[[/chemin/du/projet]]
    command=python manage.py rqworker --settings=dezede.settings.prod
    user=[[utilisateur]]
    autostart=true
    autorestart=true
    redirect_stderror=true
    stdout_logfile=[[/chemin/du/projet]]/supervisor_rq.log
    stdout_logfile_maxbytes=10MB
    
    [group:dezede]
    programs=dezede_django,dezede_rq
  6. Relancer le serveur avec :

    sudo systemctl restart supervisor
    sudo systemctl restart nginx

Localisation

  1. Ajouter (éventuellement) la langue désirée à LANGUAGES du fichier settings.py
  2. Metre à jour à partir de Transifex :

    tx pull -a

  3. Compiler les fichiers de langues (en se mettant au préalable dans le dossier de l'application ou du projet) :

    ./manage.py compilemessages

  4. Relancer le serveur

Tests de régression

Une suite de tests encore incomplète est disponible. Pour la lancer, exécuter :

./manage.py test dezede libretto accounts dossiers typography cache_tools

Restauration de sauvegarde SQL

sudo -i -u postgres
psql -v ON_ERROR_STOP=1 dezede < dezede.sql

About

Dezède, a musicology project focused on performances.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 75.6%
  • HTML 18.7%
  • CSS 3.2%
  • JavaScript 1.7%
  • TeX 0.6%
  • Dockerfile 0.2%