Modifications entre les versions 9 et 10
Version 9 à la date du 2017-10-17 15:01:46
Taille: 7187
Commentaire:
Version 10 à la date du 2017-10-17 15:21:07
Taille: 7136
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 4: Ligne 4:
== La rédaction de cet article pas encore terminé ==
Ligne 32: Ligne 31:
'''apt-get install apache2 libapache2-mod-wsgi mysql-server-5.5 python-django python-mysqldb''' '''$sudo apt-get install apache2 libapache2-mod-wsgi mysql-server-5.5 python-django python-mysqldb'''
Ligne 40: Ligne 39:
'''''Configuration d'apache2''''' == 1.Configuration d'apache2 ==
Ligne 47: Ligne 46:

`
<VirtualHost>`
        `
ServerName visiteur.cg.auf`

        `
ServerAdmin tech@cg.auf.org`

        `
Alias /static/ /var/www/dacgl/static/`

        `
WSGIScriptAlias / /home/rene/dacgl_utils/dacgl/wsgi.py`

         `<
Directory /var/www/dacgl>`
               ` Require all gra
nted`
        `</Directory>`
         `<Directory /home/rene/dacgl_utils/dacgl>`
                `
<Files wsgi.py>`
                        `Require all granted`
                `
</Files>`
        `
</Directory>`

        `
ErrorLog ${APACHE_LOG_DIR}/visiteurs.cm.auf.org_error.log`

        `
CustomLog ${APACHE_LOG_DIR}/visiteurs.cm.auf.org_access.log combined`

`
</VirtualHost>`
{{{
<VirtualHost>
        
ServerName visiteur.cg.auf

        
ServerAdmin tech@cg.auf.org

        
Alias /static/ /var/www/dacgl/static/

        
WSGIScriptAlias / /home/rene/dacgl_utils/dacgl/wsgi.py

         <Directory /var/www/dacgl>
               
` Require all granted
        </
Directory>
        <Directory /home/re
ne/dacgl_utils/dacgl>
                
<Files wsgi.py>`
                        Require all granted
                
</Files>
        
</Directory>

        
ErrorLog ${APACHE_LOG_DIR}/visiteurs.cm.auf.org_error.log

        
CustomLog ${APACHE_LOG_DIR}/visiteurs.cm.auf.org_access.log combined

</VirtualHost>
}}}
Ligne 76: Ligne 76:
'''''Création de la base de donnée dans MYSQL''''' == 2.Création de la base de donnée dans MYSQL ==
Ligne 98: Ligne 98:
==Modifier les fichiers wsgi.py== == 3.Modifier les fichiers wsgi.py ==
Ligne 112: Ligne 112:
==On modifie le seeting.py== == 4.On modifie le seeting.py ==
Ligne 122: Ligne 122:
`DATABASES = {`

    `
'default': {`

        `
'ENGINE': 'django.db.backends.mysql',`

        `
'NAME': 'visiteurdb',`

        `
'USER':'visitor',`

        `
'PASSWORD':'mot-de-passe-de-visitor',`

        `
'HOST':'localhost'`

    `}`
`}`
{{{#!python
DATABASES = {      'default': {          'ENGINE': 'django.db.backends.mysql',

       
'NAME': 'visiteurdb',

       
'USER':'visitor',

       
'PASSWORD':'mot-de-passe-de-visitor',

        
'HOST':'localhost'

    }
`
 }
}}}
Ligne 144: Ligne 146:
'''''Placez ensuite dans le dossier "/home/votrenomuser/dacgl_utils" et executer ces différentes commandes''''' == 4.Placez ensuite dans le dossier "/home/votrenomuser/dacgl_utils" et executer ces différentes commandes ==
Ligne 166: Ligne 168:
  `Applying id2.0005_auto_20170505_0733... OK`  
`Applying id2.0005_auto_20170505_0733... OK`
Ligne 208: Ligne 211:
Ligne 237: Ligne 241:
'''''collectionner tous le fichier static (Tranfert des fichiers CSS, javascript et autre dans notr dossier static)''''' '''''collectionner tous le fichier static (Tranfert des fichiers CSS, javascript et autre dans notre dossier static)'''''
Ligne 241: Ligne 245:
You have requested to collect static files at the destination
location as specified in your settings:

    
/var/www/dacgl/static

This will overwrite existing files!

Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel: yes
`You have requested to collect static files at the destination`

`
location as specified in your settings:`

    `
/var/www/dacgl/static`

`
This will overwrite existing files!`

`
Are you sure you want to do this?`

`
Type 'yes' to continue, or 'no' to cancel: yes`

Mise en place d'un système d'informations précises pour à la fréquentation et l'objet des visites dans l'implantation

Pour ça, on peut utiliser une machine virtuelle sur Debian Jessie. Notre version de développement tourne sous django 1.7.11 (dernière version de django sur Jessie. Pour éviter des problèmes de compatibilité pour le moment. Migration que nous effectuerons un peu plus tard)

Pour ça, on peut utiliser une machine virtuelle sur Debian Jessie.

Dans mon cas:

  • 1 Go de RAM Partitions :
  • / (8 Go)
  • /var (8 Go)
  • /var/lib (3Go)
  • /var/www (25Go)

Chez moi, cette VM servira pour les petits services web qui viendront plus tard. Ex: visites, inscription des usagers (où nous avons besoins des photos pour identifier visuellement les usagers)... Mais pour vous 1 ou 2Go suffiront largement. Surtout que les implémentations n’hébergeront plus de site web. Tout est dans le nuage maintenant.

Prérequis:

  • Installation de Debian Jessie
  • Installation d'apache 2.4
  • Installation de django 1.7.11
  • Installation d'un gestionnaire de base de données. mysql-server dans mon cas
  • Installation de git

Bon ben... Allons y :)

Après l'installation de la nouvelle VM, on installe les paquets:

$sudo apt-get install apache2 libapache2-mod-wsgi mysql-server-5.5 python-django python-mysqldb

Si git n'est pas installé, veillez le faire

$sudo apt install git

Ensuite, on commence par cloner le dépot de notre outils : git clone https://github.com/ongolaboy/dacgl_utils.git

1.Configuration d'apache2

Dans mon cas, j'ai crée un virtual host pour l'application : visiteur.conf

Voici le contenu de mon fichier "visiteur.conf"

$sudo vi /etc/apache2/sites-available/visites.conf

<VirtualHost>
        ServerName visiteur.cg.auf

        ServerAdmin tech@cg.auf.org

        Alias /static/ /var/www/dacgl/static/

        WSGIScriptAlias / /home/rene/dacgl_utils/dacgl/wsgi.py

         <Directory /var/www/dacgl>
               ` Require all granted
        </Directory>
        <Directory /home/rene/dacgl_utils/dacgl>
                <Files wsgi.py>`
                        Require all granted
                </Files>
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/visiteurs.cm.auf.org_error.log

        CustomLog ${APACHE_LOG_DIR}/visiteurs.cm.auf.org_access.log combined

</VirtualHost>

Activer votre Vhost

$sudo a2ensite visiteur.conf

2.Création de la base de donnée dans MYSQL

On va dans notre SGBD, on crée une nouvelle base donnée avec un nouveau utilisateur et un mot de passe En passant, j'avais déjà installer mon phpmyadmin pour aller vite :D Mais sinon, on peut créer en ligne de commande:

# mysql -u root -p

Création de ma base de donner "visiteurdb"

  • mysql> CREATE DATABASE visiteurdb CHARACTER SET 'utf8';

Création de l'utilisateur "visitor"

  • mysql> CREATE USER 'visitor'@'localhost' IDENTIFIED BY 'Votre mot de passe';

je donne tous les privillège à mon utilisateur visitor (ce mieux de donner les privillège juste à ta base)

  • mysql> GRANT ALL PRIVILEGES ON * . * TO 'visitor'@'localhost';

Direction vers le dossier home/votre-utilisateut/:

3.Modifier les fichiers wsgi.py

$vi dacgl_utils/dacgl/wsgi.py

a. on ajoute le deux ligne

import sys

sys.path.append('/home/rene/dacgl_utils') #Le chemin vers l'application

(Juste après: import os)

4.On modifie le seeting.py

$vi dacgl_utils/dacgl/setting.py

a. Ajouter le Full Qualify Domain Name dans la directive

ALLOWED_HOSTS = ['gestion-usager.cg.auf'] #'gestion-usager.cg.auf' est mon FQDN, Mettez le vôtre

b. Modifier les paramètre de la base de donnée

   1 DATABASES = { 
   2 
   3    'default': { 
   4 
   5        'ENGINE': 'django.db.backends.mysql',
   6 
   7        'NAME': 'visiteurdb',
   8 
   9        'USER':'visitor',
  10 
  11        'PASSWORD':'mot-de-passe-de-visitor',
  12 
  13         'HOST':'localhost'
  14 
  15     }`
  16  } 

c. Ajout de la ligne

STATIC_ROOT = '/var/www/dacgl/static' #juste après "STATIC_URL"

4.Placez ensuite dans le dossier "/home/votrenomuser/dacgl_utils" et executer ces différentes commandes

$ python manage.py makemigrations id2

  • 0017_auto_20171016_1741.py:

    • - Alter field derniere_modif on abonne

      - Alter field inscription on abonne

      - Alter field date_arrivee on visite

      - Alter field date_arrivee on visiteprof

$ python manage.py migrate

  • Applying id2.0005_auto_20170505_0733... OK

    • Applying id2.0006_auto_20170509_0825... OK

      Applying id2.0007_auto_20170512_1337... OK

      Applying id2.0008_auto_20170512_1345... OK

      Applying id2.0009_auto_20170512_1355... OK

      Applying id2.0010_auto_20170512_1356... OK

      Applying id2.0011_auto_20170512_1358... OK

      Applying id2.0012_auto_20170512_1538... OK

      Applying id2.0013_auto_20171008_0950... OK

      Applying id2.0014_auto_20171008_1015... OK

      Applying id2.0015_auto_20171008_1740... OK

      Applying id2.0016_auto_20171014_1800... OK

      Applying id2.0017_auto_20171016_1741... OK

      Applying sessions.0001_initial... OK

$python manage.py makemigrations id2

On créer le dossier 'dacgl' dans /var/www

$sudo mkdir /var/www/dacgl

$sudo mkdir /var/www/dacgl/static

Après tous ça, j'ai rencontrer ce porblème dans mon navigateur :Bad request (400)

Juste parce que j'avais pas rensigner la directive ALLOW_HOST dans mon setting.py, mais si vous suuivez pas à pas tous ce qui est au dessus, vous n'allez pas rencontrer ce problème, sauf si vous avez fait des erreur de syntaxe ou quelque chose autre.

En cas de problème, voir le log

Problème rencontrer au niveau de syntaxe de ALLOW_HOSTS , oublie de quote

création d'un compte administrateur pour l'outils

Toujours en se positionnant dans le dossier de l'application

$ python manage.py createsuperuser

Introduisez le username et le password

Juste Après, j'ai rencontrer des problème de CSS, n'ayez pas peur :) , le dossier 'static' dans '/var/www/dacgl/static' est encore vide. Les fichier CSS doivent être dans un dossier controler pas apache2.

collectionner tous le fichier static (Tranfert des fichiers CSS, javascript et autre dans notre dossier static)

$ python manage.py collectstatic

You have requested to collect static files at the destination

location as specified in your settings:

  • /var/www/dacgl/static

This will overwrite existing files!

Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel: yes

Et après voilà l'outils prend en charge automatiquemenr le CSS et l'outils peut être mis enproduction :D

Merci Ongolaboy et IzaneFG

ZAC/Projets/SuiviVisiteurs (dernière édition le 2017-10-24 21:28:03 par WillyManga)