Étapes de configuration

Avertissement

Ces instructions sont valables seulement si vous avez installé GeoNode en utilisant le guide à l’adresse Installation & configuration HTTPD !! parce-que ils utilisent Apache HTTP

Vous devez d’abord vous connecter à la machine qui a l’installation de votre GeoNode. Vous devrez effectuer les étapes suivantes dans un dossier où vous avez l’intention de garder votre projet que on va créé.

1
2
3
4
5
6
7
8
$ sudo su
$ cd /home/geonode
$ disable_local_repo.sh
$ apt-get install python-django
$ django-admin startproject geonode_custom --template=https://github.com/GeoNode/geonode-project/archive/master.zip -epy,rst
$ chown -Rf geonode: geonode_custom
$ exit
$ sudo pip install -e geonode_custom

Note

Vous ne devez pas utiliser le nom geonode pour votre projet car il sera en conflit avec le nom de votre geonode default package.

Ces commandes créent un nouveau template basé sur l’exemple de projet de geonode.

Assurez-vous que les dossiers sont accessibles et ont les droits appropriés pour les utilisateurs geonode et www-data:

1
2
$ sudo chown -Rf geonode: *
$ sudo chmod -Rf 775 geonode_custom

Si vous avez une nouvelle installation de GeoNode, renommez le /home/geonode/geonode/local_settings.py.sample en local_settings.py et modifier son contenu en fournant SITEURL et SITENAME. Ce fichier sera votre fichier principaux des paramètres de votre projet. Il hérite de tous les paramètres de l’original, plus vous pouvez mettre a jour ceux que vous avez besoin.

Note

Vous pouvez aussi décider de copier le /home/geonode/geonode/local_settings.py.sample à /path/to/geonode_custom/geonode_custom/local_settings.py afin d’avoir tous les paramètres personnalisés, confinés dans le nouveau projet.

Avertissement

Pour que les modifications apportées au fichier de local_settings.py pour prendre effet, vous devez redémarrer Apache HTTP.

Editez le fichier /etc/apache2/sites-available/geonode.conf et modifiez la directive suivante à partir de:

WSGIScriptAlias / /home/geonode/geonode/wsgi/geonode.wsgi

à:

WSGIScriptAlias / /home/geonode/geonode_custom/geonode_custom/wsgi.py
1
2
3
4
5
6
7
8
9
$ sudo vi /etc/apache2/sites-available/geonode.conf

      WSGIScriptAlias / /home/geonode/geonode_custom/geonode_custom/wsgi.py

  ...

  <Directory "/home/geonode/geonode_custom/geonode_custom/">

  ...

Editez le fichier /etc/apache2/sites-available/geonode.conf et modifiez le DocumentRoot comme ça:

Note

Il est une bonne pratique de faire des copies et sauvegardes des fichiers de configuration avant de modifier ou de les mettre à jour afin de revenir à la configuration précédente de l’état si quelque chose se passe mal.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<VirtualHost *:80>
    ServerName http://localhost
    ServerAdmin webmaster@localhost
    DocumentRoot /home/geonode/geonode_custom/geonode_custom

    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined

    WSGIProcessGroup geonode
    WSGIPassAuthorization On
    WSGIScriptAlias / /home/geonode/geonode_custom/geonode_custom/wsgi.py

    <Directory "/home/geonode/geonode_custom/geonode_custom/">
         <Files wsgi.py>
             Order deny,allow
             Allow from all
             Require all granted
         </Files>

        Order allow,deny
        Options Indexes FollowSymLinks
        Allow from all
        IndexOptions FancyIndexing
    </Directory>

    ...

Alors vous devez régénérer les fichiers JavaScript et CSS à partir de /path/to/geonode_custom/ et redémarrer apache

1
2
3
4
5
6
$ cd /home/geonode/geonode_custom
$ python manage.py collectstatic
$ python manage.py syncdb
$ /home/geonode/geonode
$ sudo pip install -e .
$ sudo service apache2 restart

Personnaliser le Look & Feel

Now you can edit the templates in geonode_custom/templates, the css and images to match your needs like shown in customize.theme_admin!

Note

Après être passé par le guide de thèmes, vous aurez à revenir à ce site pour exécuter une autre commande pour terminer la thématisation!

Lorsque vous avez terminé les modifications, exécutez la commande suivante la dossier de geonode_custom :

1
2
$ cd /home/geonode/geonode_custom
$ python manage.py collectstatic

Et maintenant, vous devriez voir toutes les modifications que vous avez apportées à votre GeoNode.

Control de révision de source code

Il est recommandé que vous mettez immédiatement votre nouveau projet sous contrôle de révision de code source. L’équipe de développement de GeoNode utilise Git et GitHub et recommande que vous faites la même chose. Si vous ne possédez pas déjà un compte GitHub, vous pouvez facilement créer un. Un examen complet de Git et les systèmes de contrôle de révision de code source distribué est au-delà du cadre de ce tutoriel, mais vous pouvez trouver les Git Book utile si vous n’êtes pas déjà familier avec ces concepts.

  1. Créer un nouveau dépôt de GitHub. Vous devez utiliser l’interface utilisateur GitHub pour créer un nouveau dépôt pour votre nouveau projet.

    ../../../_images/github_home.jpg

    Création d’un nouveau Dépôt GitHub à la page d’accueil de GitHub

    ../../../_images/create_repo.jpg

    Spécification de nouveau GitHub dépôt Paramètres

    ../../../_images/new_repo.jpg

    Votre nouveau dépôt GitHub vide

  2. Initialiser votre dépôt dans le dossier geonode_custom :

    1
    $ sudo git init
    
  3. Ajoutez la référence de dépôt distant à votre configuration git locale:

    1
    2
    3
    $ sudo git remote add origin <https url of your custom repo>
    
      https://github.com/geosolutions-it/geonode_custom.git
    
  4. Ajoutez vos fichiers de projet dans le dépôt:

    1
    $ sudo git add .
    
  5. Committez vos modifications:

    1
    2
    3
    4
    5
      # Those two command must be issued ONLY once
    $ sudo git config --global user.email "geo@geo-solutions.it"
    $ sudo git config --global user.name "GeoNode Training"
    
    $ sudo git commit -am "Initial commit"
    
  6. Poussez vers le dépôt distant:

    1
    $ sudo git push origin master
    

Voir aussi

  • Si vous avez besoin des plus d’informations sur l’utilisation de GitHub et sur comment contribuer au projet GeoNode, allez à la section “Contribuer au GeoNode

  • Si vous souhaitez personnaliser le Logo et le Style de geonode_custom, rendez-vous dans la section “Thématisation de votre projet de GeoNode

Ici ci-dessous, vous trouverez plus de détails sur la structure de projet personnalisés et d’informations sur certains des plus importants fichiers Python que vous pouvez modifier.

La section suivante est principalement orientée vers les utilisateurs avancés et les développeurs.

Structure du projet

Votre projet de GeoNode sera structuré comme décrit ci-dessous:

|-- README.rst
|-- manage.py
|-- geonode_custom
|   |-- __init__.py
|   |-- settings.py
|   |-- local_settings.py
|   |-- static
|   |   |-- README
|   |   |-- css
|   |   |   |-- site_base.css
|   |   |-- img
|   |   |   |-- README
|   |   |-- js
|   |       |-- README
|   |-- templates
|   |   |-- site_base.html
|   |   |-- site_index.html
|   |-- urls.py
|   |-- wsgi.py
|-- setup.py

Vous pouvez également visualiser votre projet sur GitHub.

../../../_images/github_project.png

Visualisation de votre projet sur GitHub

Chacun des fichiers de clés de votre projet sont décrits ci-dessous.

manage.py

manage.py est le principal point d’entrée pour la gestion de votre projet au cours du développement. Il permet de faire tourner toutes les commandes de gestion de chaque application dans votre projet. Lorsqu’il est exécuté sans arguments, il liste toutes les commandes de gestion.

settings.py

settings.py est le fichier primair de paramètres pour votre projet. Il importe les paramètres du système de GeoNode et il ajoute les chemins locaux. Il est assez fréquent de mettre toutes les valeurs par défaut raisonnables ici et conserver la configuration spécifique de déploiement dans le fichier local_settings.py. Toutes les valeurs de paramètres possibles et leurs significations sont détaillées dans la documentation de Django.

Un paradigme commun pour la manipulation de ‘local settings’ (et dans d’autres domaines où certains module python peut ne pas être disponible) est:

try:
from local_settings import *
except:
pass

Ceci est pas nécessaire et il ya beaucoup d’autres solutions pour faire face aux exigences différentes de configuration de déploiement.

urls.py

urls.py est où votre URL routes vont . En outre, overrides peut être placé ici, aussi.

wsgi.py

Ceci est un fichier généré afin de rendre le déploiement de votre projet sur un serveur WSGI plus facile. Sauf configuration très spécifique dont vous avez besoin, wsgi.py peut être laissé seul.

setup.py

Il ya plusieurs options d’emballage en python, mais une approche commune est de placer vos métadonnées de projet (version, auteur, etc.) et dépendances dans setup.py.

Ceci est un grand sujet et pas nécessaire de comprendre pendant que vouz commencez avec le développement de GeoNode mais il sera important pour les grands projets et pour faciliter le développement d’autres développeurs.

Plus: http://docs.python.org/2/distutils/setupscript.html

static

Le static répertoire contiendra vos ressources fixes: css, html, images, etc. Tout dans ce répertoire sera copié dans le répertoire media finale (avec les static ressources d’autres applications de votre projet).

templates

Tous vos projets modèles doivent aller dans le templates répertoire. Bien qu’aucune organisation est nécessaire pour vos modèles spécifiques du projet, lors de la substitution ou de remplacement d’un modèle à partir d’une autre application, le chemin doit être le même que le modèle à être remplacé.

Rester en phase avec GeoNode mainline

Avertissement

Ces instructions ne sont valables que si vous avez installé GeoNode en utilisant apt-get !!

Une des principales raisons pour mettre en place votre propre projet de GeoNode en utilisant cette méthode est rester en phase avec la GeoNode mainline pendant que l’équipe de développement de base rend les nouvelles versions. Votre propre projet ne devrait pas être affecté par ces changements, mais vous recevrez des corrections de bogues et d’autres améliorations en restant synchronisé.

Améliorez GeoNode:

$ apt-get update
$ apt-get install geonode

Vérifiez que votre nouveau projet fonctionne avec le GeoNode amélioré:

$ python manage.py runserver

Accédez à http://localhost:8000.

Avertissement

Ces instructions sont valables seulement si vous avez installé GeoNode en utilisant le guide à l’adresse Installation & configuration HTTPD !! parce-que ils utilisent Apache HTTP

Mise à niveau à partir du dépôt de code source:

Améliorez GeoNode:

$ cd /home/geonode/geonode
$ git pull origin master

Vérifiez que votre nouveau projet fonctionne avec le GeoNode amélioré:

$ python manage.py runserver

Accédez à http://localhost:8000.