From 0cca9f0861af044ef875fbafdf8538db037f17d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 6 Nov 2016 15:39:14 +0100 Subject: [PATCH 1/5] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20django=5Fdebug?= =?UTF-8?q?=5Ftoolbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cof/settings_dev.py | 1 + cof/urls.py | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/cof/settings_dev.py b/cof/settings_dev.py index 6747963b..5cb0c826 100644 --- a/cof/settings_dev.py +++ b/cof/settings_dev.py @@ -53,6 +53,7 @@ INSTALLED_APPS = ( ) MIDDLEWARE_CLASSES = ( + 'debug_toolbar.middleware.DebugToolbarMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', diff --git a/cof/urls.py b/cof/urls.py index 263fc3a0..f5b507f1 100644 --- a/cof/urls.py +++ b/cof/urls.py @@ -1,24 +1,27 @@ # -*- coding: utf-8 -*- +""" +Fichier principal de configuration des urls du projet GestioCOF +""" + from __future__ import division from __future__ import print_function from __future__ import unicode_literals +import autocomplete_light + from django.conf import settings from django.conf.urls import include, url from django.conf.urls.static import static from django.contrib import admin from django.views.generic.base import TemplateView - -import autocomplete_light - from django.contrib.auth import views as django_views from django_cas_ng import views as django_cas_views + from gestioncof import views as gestioncof_views, csv_views from gestioncof.urls import export_patterns, petitcours_patterns, \ surveys_patterns, events_patterns, calendar_patterns, \ clubs_patterns - from gestioncof.autocomplete import autocomplete autocomplete_light.autodiscover() @@ -89,6 +92,13 @@ my_urlpatterns = [ # Si on est en production, MEDIA_ROOT est servi par Apache. # Il faut dire à Django de servir MEDIA_ROOT lui-même en développement. +if settings.DEBUG: + import debug_toolbar + my_urlpatterns += [ + url(r'^__debug__/', + include(debug_toolbar.urls)), + ] + urlpatterns = [ url(r'^gestion/', include(my_urlpatterns)) ] From 41b54cec9e41fb399887cac485ef8d865a5ead4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 6 Nov 2016 15:39:50 +0100 Subject: [PATCH 2/5] Utilisation d'un virtualenv --- provisioning/bootstrap.sh | 14 ++++++++++---- provisioning/prepare_django.sh | 6 +++--- provisioning/supervisor.conf | 4 ++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/provisioning/bootstrap.sh b/provisioning/bootstrap.sh index f072e6fc..55c7bacb 100644 --- a/provisioning/bootstrap.sh +++ b/provisioning/bootstrap.sh @@ -8,7 +8,7 @@ DBNAME="cof_gestion" DBPASSWD="4KZt3nGPLVeWSvtBZPSM3fSzXpzEU4" # Installation de paquets utiles -apt-get update && apt-get install -y mercurial python-pip python-dev \ +apt-get update && apt-get install -y mercurial python3-pip python3-dev \ libmysqlclient-dev libjpeg-dev git redis-server # Configuration et installation de mysql. Le mot de passe root est le même que @@ -44,6 +44,9 @@ export DBPASSWD="$DBPASSWD" # Permet d'utiliser les utilitaires pythons locaux export PATH="\$PATH:\$HOME/.local/bin" +# Charge le virtualenv +source ~/venv/bin/activate + # On va dans /vagrant où se trouve le code de gestioCOF cd /vagrant EOF @@ -52,8 +55,11 @@ chown vagrant: ~vagrant/.bash_profile # On va dans /vagrant où se trouve gestioCOF cd /vagrant -# Installation des dépendances python -sudo -H -u vagrant pip install --user -r requirements.txt -r requirements-devel.txt +# Installation du virtualenv, on utilise désormais python3 +pip3 install -U pip +pip3 install virtualenv +sudo -H -u vagrant virtualenv ~vagrant/venv -p /usr/bin/python3 +sudo -H -u vagrant ~vagrant/venv/bin/pip install -r requirements.txt -r requirements-devel.txt # Préparation de Django sudo -H -u vagrant DJANGO_SETTINGS_MODULE='cof.settings_dev' DBUSER=$DBUSER DBNAME=$DBNAME DBPASSWD=$DBPASSWD sh provisioning/prepare_django.sh @@ -62,7 +68,7 @@ sudo -H -u vagrant DJANGO_SETTINGS_MODULE='cof.settings_dev' DBUSER=$DBUSER DBNA sudo -H -u vagrant crontab provisioning/cron.dev # On installe Daphne et on demande à supervisor de le lancer -pip install daphne +~vagrant/venv/bin/pip install daphne apt-get install -y supervisor cp /vagrant/provisioning/supervisor.conf /etc/supervisor/conf.d/gestiocof.conf sed "s/{DBUSER}/$DBUSER/" -i /etc/supervisor/conf.d/gestiocof.conf diff --git a/provisioning/prepare_django.sh b/provisioning/prepare_django.sh index 8988e834..f4f8c199 100644 --- a/provisioning/prepare_django.sh +++ b/provisioning/prepare_django.sh @@ -1,5 +1,5 @@ # Doit être lancé par bootstrap.sh -python manage.py migrate -python manage.py loaddata users root bda gestion sites -python manage.py collectstatic --noinput +~/venv/bin/python manage.py migrate +~/venv/bin/python manage.py loaddata users root bda gestion sites +~/venv/bin/python manage.py collectstatic --noinput diff --git a/provisioning/supervisor.conf b/provisioning/supervisor.conf index 4c46b952..fe8b4e56 100644 --- a/provisioning/supervisor.conf +++ b/provisioning/supervisor.conf @@ -1,5 +1,5 @@ [program:worker] -command=/usr/bin/python /vagrant/manage.py runworker +command=/home/vagrant/venv/bin/python /vagrant/manage.py runworker directory=/vagrant/ user=vagrant environment=DBUSER={DBUSER},DBNAME={DBNAME},DBPASSWD={DBPASSWD},DJANGO_SETTINGS_MODULE="cof.settings_dev" @@ -10,7 +10,7 @@ stopasgroup=true redirect_stderr=true [program:interface] -command=/usr/local/bin/daphne -b 127.0.0.1 -p 8001 cof.asgi:channel_layer +command=/home/vagrant/venv/bin/daphne -b 127.0.0.1 -p 8001 cof.asgi:channel_layer environment=DBUSER={DBUSER},DBNAME={DBNAME},DBPASSWD={DBPASSWD},DJANGO_SETTINGS_MODULE="cof.settings_dev" directory=/vagrant/ redirect_stderr=true From d1c6c2151a954a80c1ca156f3895cf9dd70076ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Sun, 6 Nov 2016 19:01:30 +0100 Subject: [PATCH 3/5] Ubuntu 16 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On passe à ubuntu 16 ce qui permet d'utiliser python3.5 et le paquet python3-venv. Fichier `provisioning/prepare_django.sh` plus propre --- Vagrantfile | 2 +- provisioning/bootstrap.sh | 20 +++++++++----------- provisioning/prepare_django.sh | 8 +++++--- provisioning/supervisor.conf | 4 ++-- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index c84c3dd9..e12a45ed 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -10,7 +10,7 @@ Vagrant.configure(2) do |config| # For a complete reference, please see the online documentation at # https://docs.vagrantup.com. - config.vm.box = "ubuntu/trusty64" + config.vm.box = "ubuntu/xenial64" # On associe le port 80 dans la machine virtuelle avec le port 8080 de notre # ordinateur, et le port 8000 avec le port 8000. diff --git a/provisioning/bootstrap.sh b/provisioning/bootstrap.sh index 55c7bacb..7c3e1b46 100644 --- a/provisioning/bootstrap.sh +++ b/provisioning/bootstrap.sh @@ -8,7 +8,7 @@ DBNAME="cof_gestion" DBPASSWD="4KZt3nGPLVeWSvtBZPSM3fSzXpzEU4" # Installation de paquets utiles -apt-get update && apt-get install -y mercurial python3-pip python3-dev \ +apt-get update && apt-get install -y python3-pip python3-dev python3-venv \ libmysqlclient-dev libjpeg-dev git redis-server # Configuration et installation de mysql. Le mot de passe root est le même que @@ -29,10 +29,10 @@ a2ensite gestiocof a2dissite 000-default service apache2 restart mkdir /var/www/static -chown -R vagrant:www-data /var/www/static +chown -R ubuntu:www-data /var/www/static # Mise en place du .bash_profile pour tout configurer lors du `vagrant ssh` -cat > ~vagrant/.bash_profile <> ~ubuntu/.bashrc < Date: Sun, 6 Nov 2016 19:28:47 +0100 Subject: [PATCH 4/5] typo --- provisioning/bootstrap.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provisioning/bootstrap.sh b/provisioning/bootstrap.sh index 7c3e1b46..1b3c39d3 100644 --- a/provisioning/bootstrap.sh +++ b/provisioning/bootstrap.sh @@ -66,7 +66,7 @@ sudo -H -u ubuntu DJANGO_SETTINGS_MODULE='cof.settings_dev' DBUSER=$DBUSER DBNAM sudo -H -u ubuntu crontab provisioning/cron.dev # On installe Daphne et on demande à supervisor de le lancer -~ubuntu/venv/bin/pip install daphne +sudo -H -u ubuntu ~ubuntu/venv/bin/pip install daphne apt-get install -y supervisor cp /vagrant/provisioning/supervisor.conf /etc/supervisor/conf.d/gestiocof.conf sed "s/{DBUSER}/$DBUSER/" -i /etc/supervisor/conf.d/gestiocof.conf From 4249524842d657a04e39bfdeb1d2c395ae2a74c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20P=C3=A9pin?= Date: Mon, 21 Nov 2016 01:26:56 +0100 Subject: [PATCH 5/5] Typo vagrant -> ubuntu --- provisioning/supervisor.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/provisioning/supervisor.conf b/provisioning/supervisor.conf index 41e75fbd..c806a13d 100644 --- a/provisioning/supervisor.conf +++ b/provisioning/supervisor.conf @@ -1,5 +1,5 @@ [program:worker] -command=/home/vagrant/venv/bin/python /vagrant/manage.py runworker +command=/home/ubuntu/venv/bin/python /vagrant/manage.py runworker directory=/vagrant/ user=ubuntu environment=DBUSER={DBUSER},DBNAME={DBNAME},DBPASSWD={DBPASSWD},DJANGO_SETTINGS_MODULE="cof.settings_dev" @@ -10,7 +10,7 @@ stopasgroup=true redirect_stderr=true [program:interface] -command=/home/vagrant/venv/bin/daphne -b 127.0.0.1 -p 8001 cof.asgi:channel_layer +command=/home/ubuntu/venv/bin/daphne -b 127.0.0.1 -p 8001 cof.asgi:channel_layer environment=DBUSER={DBUSER},DBNAME={DBNAME},DBPASSWD={DBPASSWD},DJANGO_SETTINGS_MODULE="cof.settings_dev" directory=/vagrant/ redirect_stderr=true