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 :
Note
Pour Windows: (Installer GeoNode pour le développement (Windows))
Résumé de la procédure d’installation
Récupérer la dernière liste d’apt-get
Installer les outils et bibliothèques de compilation
Installez les dépendances (Python, Postgresql et Java) et outils de soutien
Ajouter Nodejs PPA et autres outils nécessaires au développement statique
Mettre en place un environnement virtuel (virtualenv)
Clone geonode de github et installez-le dans l’environnement virtuel
Exécutez paver pour obtenir geoserver installer et démarrer les développement des serveurs
Compiler et démarrer le serveur
Démarrer une instance Geonode
Pour arrêter le serveur
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
Si possible, connectez-vous comme root utilisateur, ouvrez un terminal et
cd /home/geonode/dev
Récupérer la dernière liste d’apt-get
$ sudo apt-get update
Installer les outils et bibliothèques de compilation
$ sudo apt-get install -y build-essential libxml2-dev libxslt1-dev libpq-dev zlib1g-dev
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
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
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
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’.
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
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', } } ...
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
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.
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
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 !
Activer virtualenv
Pour activer votre virtualenv il vous suffit de taper
$ workon geonode
ou
$ source /home/geonode/dev/.venvs/geonode/bin/activateNote
Soyez prudent avec le chemin d’accès, il ne serait pas la même chose pour vous !
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_djangoVous ê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.