Setting up geonode

From stgo
Revision as of 10:31, 29 January 2014 by Mentaer (Talk | contribs)

Jump to: navigation, search

>> return Cedeus IDE


This is the fast install from GeoNode.org Quickstart. Full install instructions, including installation of PostGIS, can be found in this Admin tutorial

  1. Install from PPA in Ubuntu 12.04 -> see http://docs.geonode.org/en/latest/intro/install.html
    • sudo add-apt-repository ppa:geonode/release . Note, if add-apt does not work (command not found) then do first sudo apt-get update && sudo apt-get install python-software-properties
    • sudo apt-get update
    • sudo apt-get install geonode (before I could run this I had do to do sudo apt-get install libtomcat7-java so that Tomcat6 will be removed and then I could install tomcat7 - which was needed to for GeoServer - used by GeoNode)
  2. Set the IP address and create a superuser (also described here: http://docs.geonode.org/en/latest/deploy/production.html)
    • sudo geonode-updateip 127.0.0.1 (Use the real IP if you have one)
    • geonode createsuperuser.
    • set GeoServer ProxyURL as described in the geonode install instructions. Use user admin with geoserver.
    • If starting up Apache results in the following message: "Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName.", Then do this
  3. Import data

Read the admin docs and also OSGeo Live DVD Quickstart tutorial

Note, for assiging geoserver tomcat memory, do it for tomcat7 as described for tomcat6 (see OSGeo VM) using setenv.sh but in /usr/share/tomcat7/bin

A list of running GeoNode instances can be found in this email thread: http://groups.google.com/d/topic/geonode-users/icuYPeL3rIg/discussion

Notes on installing PostGIS

install from source: see: http://trac.osgeo.org/postgis/wiki/UsersWikiPostGIS20Ubuntu1204src

  • To check if postgres exists, use which psql which should return the path. Then with the path I did /usr/bin/psql --version

to retrieve the version installed.

  • So, Postgres 9.1 was installed, but when I executed "psql" I got this: psql: FATAL: role "ssteinig" does not exist
  • Hence, I first had to creating my account as a user using sudo -u postgres createuser -s $USER (got this from here).
  • Now I could create a db using createdb mygeodb, and connect via commandline with psql -d mygeodb
  • Finally I spatially enabled the db with CREATE EXTENSION postgis; and CREATE EXTENSION postgis_topology;
  • then add a Postgres/postgis port forwarding rule for port 5432

GeoNode with external PostgreSQL DB

  • modify settings in "/etc/geonode/local_settings.py" (before first use of db)
  • the changes may require to run geonode syncdb --noinput --all (and perhaps a tomcat7/apache2 restart?) to sync
  • if the db contains data/layers already (e.g. geonodegisb93 > schemata > public > tables), and those should be visible again from GeoNode, then
    • each table/layer needs to be published (re-loaded) in GeoServer and
    • geonode updatelayers command needs to be run.

Accessing GeoNode - PostgreSQL

  • create user: sudo su - postgres
  • and: createuser -d -E -i -l -P -r -s sstein
  • to access via terminal use psql -U sstein -d geonode -h localhost
  • to access via pgAdmin:

Some PostgreSQL commands

  • quit psql: \q
  • connecting: psql -U geonode93 -d geonodegisdb93 -h localhost -p 5432
  • listing of dbs: psql -l -p 5432<code> or <code>\l(including spec of port, as the PostGIS VM has postgres 9.1 (:9434) and 9.3 (:9432) installed)
    • or alternatively: SELECT datname FROM pg_database WHERE datistemplate = false;
  • adding / removing users createuser and dropuser e.g.: dropuser geonode -p 5434 but needs to be done as "sudo su - postgres"
  • creating /removing dbs createdb and dropdb e.g.: createdb geonodegisdb93
  • listing of tables: \dt : but this will only list the table from the database currently connected to
    • to see at least something (if nothing added yet) it can also be done using: SELECT table_schema,table_name FROM information_schema.tables ORDER BY table_schema,table_name;

Changing the GeoNode logo (GeoNode 2.0)

The original documention on how to do this is here: http://docs.geonode.org/en/latest/deploy/customize.html. However, some things have changed for GeoNode v 2.0. So we have to do the following:

  • The static web documents are in /var/www/geonode/static/geonode. And CSS and images are in the subfolders /css and /img.
  • Create a new logo file. The original logo file is called logo.png and has a dimension of 127x29 px.
  • Create a subfolder in /etc/geonode/media/ => so we have now the folder /etc/geonode/media/geonode/img/
  • Make this img subfolder accessible for ftp (e.g. using chmod 777)
  • copy the new logo into the etc/.../img subfolder
  • run sudo geonode collectstatic -v0
  • this should copy the new logo image into /var/geonode/static/geonode/img/.

Changing the GeoNode Theme (GeoNode 2.0)

  • see comments above... for simple change of the CSS. Everything else is more complicated and requires lots of others software (bootstrap, etc).
  • a theme is available here: http://github.com/ingenieroariel/geonode-project
  • a recent Oct. 2013 email thread: http://groups.google.com/d/msg/geonode-users/pI3-7QiFzs0/3nrvyjAX2rYJ
    1. install geonode with apt-get
    2. install git-core and clone https://github.com/GeoNode/geonode-project.git
    3. Install your custom project in the virtualenv, you can do this via pip install -e . or python setup.py develop
    4. Modify geonode's /var/www/geonode/wsgi/geonode.wsgi to import yourproject.settings instead of geonode.settings.
    5. Add a symlink to /etc/geonode/local_settings.py next to yourproject.settings so it picks up all the information about database and template locations in production. (run geonode collectstatic)
    6. Restart apache.