Installer GeoNode pour le développement

Afin d’installer Geonode 2.0 dans le développement de mode sur Ubuntu 12.04 les étapes suivantes sont nécessaires :

Résumé de la procédure d’installation

  1. Récupérer la dernière liste d’apt-get

  2. Installer les outils et bibliothèques de compilation

  3. Installez les dépendances (Python, Postgresql et Java) et outils de soutien

  4. Ajouter Nodejs PPA et autres outils nécessaires au développement statique

  5. Mettre en place un environnement virtuel (virtualenv)

  6. Clone geonode de github et installez-le dans l’environnement virtuel

  7. Exécutez paver pour obtenir geoserver installer et démarrer les développement des serveurs

  8. Compiler et démarrer le serveur

  9. Démarrer une instance Geonode

  10. Pour arrêter le serveur

  11. Ensuite, créez un superutilisateur pour votre geonode de django

Note

Les étapes suivantes doivent être exécutées dans votre terminal. Les étapes doivent être faites comme un root user, donc don´t oublier de taper sudo devant !

Avertissement

N’oubliez pas d’arrêter le GeoNode Production services si activée

service apahe2 stop
service tomcat7 stop
  1. Si possible, connectez-vous comme root utilisateur, ouvrez un terminal et cd /home/geonode/dev

  2. Récupérer la dernière liste d’apt-get

    $ sudo apt-get update
    
  3. Installer les outils et bibliothèques de compilation

    $ sudo apt-get install -y build-essential libxml2-dev libxslt1-dev libpq-dev zlib1g-dev
    
  4. Installer les dépendances

    Python natif dépendances

    $ sudo apt-get install -y python-dev python-imaging python-lxml python-pyproj python-shapely python-nose python-httplib2 python-pip python-software-properties
    

    Installer Python environnement virtuel

    $ sudo pip install virtualenvwrapper
    

    Postgresql

    Note

    Les étapes suivantes doivent être exécutées seulement si vous n’avez pas PostgreSQL et PostGIS déjà installés sur votre système (voir Installez l’Application GeoNode)

    $ sudo apt-get install postgresql-9.3-postgis-2.1 postgresql-9.3-postgis-scripts
    

    Changer mot de passe postgres UNIX

    $ sudo passwd -u postgres # change password expiry infromation
    
    $ sudo passwd postgres # change unix password for postgres
    

    Créer la base de données et le rôle de geonode

    $ su postgres
    $ createdb geonode_dev
    $ createdb geonode_dev-imports
    $ psql
      postgres=#
      postgres=# \password postgres
      postgres=# CREATE USER geonode_dev WITH PASSWORD 'geonode_dev'; # should be same as password in setting.py
      postgres=# GRANT ALL PRIVILEGES ON DATABASE "geonode_dev" to geonode_dev;
      postgres=# GRANT ALL PRIVILEGES ON DATABASE "geonode_dev-imports" to geonode_dev;
      postgres=# \q
    
    $ psql -d geonode_dev-imports -c 'CREATE EXTENSION postgis;'
    $ psql -d geonode_dev-imports -c 'GRANT ALL ON geometry_columns TO PUBLIC;'
    $ psql -d geonode_dev-imports -c 'GRANT ALL ON spatial_ref_sys TO PUBLIC;'
    
    $ exit
    

    Modifiez le fichier de configuration de PostgreSQL:

    sudo gedit /etc/postgresql/9.3/main/pg_hba.conf
    

    Faites défiler vers le bas du fichier et modifiez cette ligne:

    # "local" is for Unix domain socket connections only
    local   all             all                            peer
    

    Comme suit

    # "local" is for Unix domain socket connections only
    local   all             all                                trust
    

    Redémarrez PostgreSQL pour valider les modifications

    sudo service postgresql restart
    

    Java dépendances

    Note

    Les étapes suivantes doivent être exécutées seulement si vous n’avez pas un Java JDK ou un JRE installé sur votre système (voir Installez l’Application GeoNode)

    $ sudo apt-get install -y --force-yes openjdk-6-jdk --no-install-recommends
    

    Outils de support

    $ sudo apt-get install -y ant maven2 git gettext
    
  5. Mettre en place un environnement virtuel

    Voici où Geonode plus tard s’exécutera.

    Ajouter le virtualenvwrapper à votre nouvel environnement.

    $ cd /home/geonode/dev
    
    $ export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
    $ export WORKON_HOME=/home/geonode/dev/.venvs
    $ source /usr/local/bin/virtualenvwrapper.sh
    $ export PIP_DOWNLOAD_CACHE=$HOME/.pip-downloads
    

    Sur Ubuntu, vous pouvez ajouter les paramètres ci-dessus à votre fichier .bashrc et recharger les paramètres en cours d’exécution

    $ echo export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python >> ~/.bashrc
    $ echo export WORKON_HOME=/home/geonode/dev/.venvs >> ~/.bashrc
    $ echo source /usr/local/bin/virtualenvwrapper.sh >> ~/.bashrc
    $ echo export PIP_DOWNLOAD_CACHE=$HOME/.pip-downloads >> ~/.bashrc
    
    $ source ~/.bashrc
    

    Mettre en place l’environnement virtuel pour Geonode

    $ mkvirtualenv geonode
    $ workon geonode # or $ source /home/geonode/dev/.venvs/geonode/bin/activate
    

    Cela crée un nouveau répertoire où vous souhaitez que votre projet soit et crée une nouvelle virtualenvironment

  6. Récupérer le code

    Pour télécharger la dernière version de geonode sur github, la commande clone est utilisée

    Note

    Si vous suivez la formation GeoNode, passez la commande suivante. Vous pouvez trouver le référentiel cloné dans /home/geonode/dev

    $ git clone https://github.com/GeoNode/geonode.git
    
  7. Ajouter Nodejs PPA et autres outils nécessaires au développement statique

    Ceci est nécessaire pour le développement statique

    Note

    Si vous suivez une formation de GeoNode, nodejs est déjà installé dans la Machine virtuelle, passer les trois premières commandes et saut cd geonode/geonode/static

    $ sudo add-apt-repository -y ppa:chris-lea/node.js
    $ sudo apt-get update
    $ sudo apt-get install -y nodejs
    $ cd geonode/geonode/static
    $ npm install --save-dev
    
    # If the last command does not work, you can run it manually like this:
    
    $ npm install bower --save-dev
    $ npm install grunt-cli --save-dev
    $ npm install grunt-contrib-jshint --save-dev
    $ npm install grunt-contrib-less --save-dev
    $ npm install grunt-contrib-concat --save-dev
    $ npm install grunt-contrib-copy --save-dev
    $ npm install grunt-text-replace --save-dev
    $ npm install grunt-contrib-uglify --save-dev
    $ npm install grunt-contrib-cssmin --save-dev
    $ npm install grunt-contrib-watch --save-dev
    

    Chaque fois que vous souhaitez mettre à jour les fichiers statiques après avoir apporté des modifications aux sources, allez à geonode/statique et exécuter ‘grunt production’.

  8. Installer GeoNode dans la nouvelle virtualenv locale active

    $ cd /home/geonode/dev
    $ pip install pip --upgrade
    $ pip install -e geonode --use-mirrors
    
    $ cd geonode
    

    Si l’installation échoue en raison d’une erreur liée à pyproj qui n’est pas vérifiée (arrive sur pip 1.5), utilisez la syntaxe suivante :

    $ pip install -e geonode --use-mirrors --allow-external pyproj --allow-unverified pyproj
    
  9. Créer des local_settings.py

    Ajouter le local_settings.py à votre instllation GeoNode

    $ cd /home/geonode/dev/geonode
    $ cp geonode/local_settings.py.sample geonode/local_settings.py
    $ gedit geonode/local_settings.py
    

    Ajoutez les lignes suivantes à la local_settings.py

    ...
    
    SITEURL = "http://localhost:8000/"
    
    DATABASES = {
        'default': {
             'ENGINE': 'django.db.backends.postgresql_psycopg2',
             'NAME': 'geonode_dev',
             'USER': 'geonode_dev',
             'PASSWORD': 'geonode_dev',
         },
        # vector datastore for uploads
        'datastore' : {
            'ENGINE': 'django.contrib.gis.db.backends.postgis',
            #'ENGINE': '', # Empty ENGINE name disables
            'NAME': 'geonode_dev-imports',
            'USER' : 'geonode_dev',
            'PASSWORD' : 'geonode_dev',
            'HOST' : 'localhost',
            'PORT' : '5432',
        }
    }
    
    # OGC (WMS/WFS/WCS) Server Settings
    OGC_SERVER = {
        'default' : {
            'BACKEND' : 'geonode.geoserver',
            'LOCATION' : 'http://localhost:8080/geoserver/',
            'PUBLIC_LOCATION' : 'http://localhost:8080/geoserver/',
            'USER' : 'admin',
            'PASSWORD' : 'geoserver',
            'MAPFISH_PRINT_ENABLED' : True,
            'PRINT_NG_ENABLED' : True,
            'GEONODE_SECURITY_ENABLED' : True,
            'GEOGIG_ENABLED' : False,
            'WMST_ENABLED' : False,
            'BACKEND_WRITE_ENABLED': True,
            'WPS_ENABLED' : False,
            'LOG_FILE': '%s/geoserver/data/logs/geoserver.log' % os.path.abspath(os.path.join(PROJECT_ROOT, os.pardir)),
            # Set to name of database in DATABASES dictionary to enable
            'DATASTORE': 'datastore',
        }
    }
    
    CATALOGUE = {
        'default': {
            # The underlying CSW implementation
            # default is pycsw in local mode (tied directly to GeoNode Django DB)
            'ENGINE': 'geonode.catalogue.backends.pycsw_local',
            # pycsw in non-local mode
            # 'ENGINE': 'geonode.catalogue.backends.pycsw_http',
            # GeoNetwork opensource
            # 'ENGINE': 'geonode.catalogue.backends.geonetwork',
            # deegree and others
            # 'ENGINE': 'geonode.catalogue.backends.generic',
    
            # The FULLY QUALIFIED base url to the CSW instance for this GeoNode
            'URL': '%scatalogue/csw' % SITEURL,
            # 'URL': 'http://localhost:8080/geonetwork/srv/en/csw',
            # 'URL': 'http://localhost:8080/deegree-csw-demo-3.0.4/services',
    
            # login credentials (for GeoNetwork)
            'USER': 'admin',
            'PASSWORD': 'admin',
        }
    }
    
    ...
    
  10. Compiler et démarrer le serveur pour la première fois

    Aligner la structure de base de données

    $ cd /home/geonode/dev/geonode
    $ python manage.py syncdb --noinput
    

    Avertissement

    Si le début échoue en raison d’une erreur d’importation associée à osgeo, s’il vous plaît consulter la Installer GDAL pour le développement.

    La dernière étape consiste à compiler configuration / GeoServer

    $ paver setup
    
  11. Maintenant nous pouvons commencer notre instance de geonode

    Avertissement

    N’oubliez pas d’arrêter le GeoNode Production services si activée

    service apahe2 stop
    service tomcat7 stop
    
    $ paver start
    

    Visitez le site geonode en tapant http://localhost:8000 dans la fenêtre de votre navigateur.

    Si vous utilisez une adresse IP différente (par exemple 1.1.1.1), puis démarrez Finisseurs à l’aide de la commande ci-dessous.

    $ paver start -b 1.1.1.1:8000
    

    Avertissement

    Si le début échoue en raison d’une erreur d’importation associée à osgeo, s’il vous plaît consulter la Installer GDAL pour le développement.

  12. Pour arrêter le serveur

    cale de type Ctrl c sur votre clavier pour arrêter le serveur

    maintenant, tapez :

    $ paver stop    # to stop all django, geoserver services
    
  13. Ensuite, créez un superutilisateur pour votre geonode de django

    Créer un superutilisateur afin que vous puissiez vous connecter à votre installation locale geonode à http://localhost:8000

    $ python manage.py createsuperuser
    

Commencer à travailler sur GeoNode le lendemain après l’installation

À chaque redémarrage de votre machine, vous devez redémarrer geonode ainsi. Autrement, vous ne serez pas en mesure d’ouvrir http://localhost:8000 directement après le démarrage de votre machine à nouveau. Pour pouvoir utiliser geonode maintenant, vous devez activer votre virtualenvironment et démarrer les serveurs de développement.

Note

username est le nom de votre machine et votre dossier personnel !

  1. Activer virtualenv

    Pour activer votre virtualenv il vous suffit de taper

    $ workon geonode
    

    ou

    $ source /home/geonode/dev/.venvs/geonode/bin/activate
    

    Note

    Soyez prudent avec le chemin d’accès, il ne serait pas la même chose pour vous !

  2. Démarrer le serveur

    Avertissement

    N’oubliez pas d’arrêter le GeoNode Production services si activée

    service apahe2 stop
    service tomcat7 stop
    
    $ cd geonode
    $ paver start_geoserver
    $ paver start_django
    

    Vous êtes maintenant en mesure d’accéder de nouveau à http://localhost:8000.

    Note

    N’oubliez pas que vous devez faire ces étapes chaque fois que vous redémarrez votre machine !

Indice

Maintenant que vous avez suivi ces instructions d’installation, geonode s’exécute en mode de développement. Cela signifie également que vous utilisez les paramètres par défaut de geonode. Si vous souhaitez les modifier, par exemple utiliser Tomcat au lieu de la jetée, ou Postgresql au lieu de sqlite3, vous pouvez suivre les étapes de la section Configurer manuellement dans GeoNode (vlatest) installation on Ubuntu 16.04.