/geonode

GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Build Status

GeoNode

If you just want to try GeoNode, it is recommended to use Ubuntu 12.04 and install the latest stable release:

sudo add-apt-repository ppa:geonode/release
sudo apt-get update
sudo apt-get install geonode

If instead, you are interested in doing development on the source code, here are the instructions for Ubuntu 12.04:

# retrieve latest apt-get list
sudo apt-get update

# Essential build tools and libraries
sudo apt-get install -y build-essential libxml2-dev libxslt1-dev

# Python native dependencies
sudo apt-get install -y python-dev python-imaging python-lxml python-pyproj python-shapely python-nose python-httplib2 python-pip python-software-properties

# Setup virtualenv tools
sudo pip install virtualenvwrapper

# Java dependencies
sudo apt-get install -y --force-yes openjdk-6-jdk ant maven2 --no-install-recommends

# Supporting tools
sudo apt-get install -y  git gettext

# Node and tools required for static development
sudo add-apt-repository -y ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install -y nodejs
sudo npm install -y -g bower
sudo npm install -y -g grunt-cli

# Add virtualenvwrapper to your environment
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
export WORKON_HOME=~/.venvs
source /usr/local/bin/virtualenvwrapper.sh
export PIP_DOWNLOAD_CACHE=$HOME/.pip-downloads

# Setup a virtualenv for geonode
mkvirtualenv geonode
workon geonode

# Clone GeoNode
git clone https://github.com/GeoNode/geonode.git

# Install GeoNode in the local virtualenv
# In pip 1.5 pyproj needs to be whitelisted
pip install -e geonode --use-mirrors --allow-external pyproj --allow-unverified pyproj
cd geonode

# Compile GeoServer
paver setup

# Start the development servers
paver start

# Visit the development geonode site
http://localhost:8000

openSUSE Development Build Instructions:

# Add Application:Geo and Python repositories
zypper -ar http://download.opensuse.org/repositories/Application:/Geo/openSUSE_12.2/ GEO
zypper -ar http://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_12.1/ python
zypper refresh

# Basic build packages
zypper install gcc gcc-c++ python-devel libgeos-devel libproj-devel

# Python native dependencies
zypper install python-pip python-virtualenv python-imaging python-lxml

# Java dependencies
zypper install java-1_7_0_openjdk-devel ant maven

# Supporting tools
zypper install git gettext-runtime

# Create virtualenv and activate it
virtualenv venv --system-site-packages
source venv/bin/activate
cd venv

# Clone GeoNode
git clone https://github.com/GeoNode/geonode.git

# Install GeoNode in the local virtualenv
pip install -e geonode --use-mirrors

cd geonode

# Compile GeoServer
paver setup

# Start the servers
paver start

Windows Development Build Instructions:

Prerequisites:
# Java JDK
# Python 2.6+
# ant (bin directory must be on system PATH)
# maven2 (bin directory must be on system PATH)
# Python distutils (easy_install)
# git

# Install and configure from the windows command prompt
If you don't already have python virtualenv installed, then do it now:
     easy_install virtualenv

# Create virtualenv and activate it
cd <Directory to install the virtualenv & geonode into>
virtualenv venv
venv\scripts\activate

# Install Python native dependencies
easy_install PIL lxml==2.3
# this command will look for and install binary distributions (pip install will attempt to build and fail)

# Clone GeoNode
git clone https://github.com/GeoNode/geonode.git

# Install GeoNode in the local virtualenv
pip install -e geonode --use-mirrors

cd geonode

# Compile GeoServer
paver setup

# Start the servers
# This WON'T work on windows without changes to pavement.py
# and a windows batch script for starting jetty
paver start

Mac OSX Development Build Instructions:

# you may need brew install various dependencies

mkdir -p ~/pyenv
virtualenv ~/pyenv/geonode
source ~/pyenv/geonode/bin/activate
git clone https://github.com/GeoNode/geonode
cd geonode
pip install lxml
pip install pyproj
pip install nose
pip install httplib2
pip install shapely
pip install PIL
pip install paver

# Node and tools required for static development
brew install node
npm install -g bower
npm install -g grunt-cli

paver setup
paver start

Once fully started, you should see a message indicating the address of your geonode. The default username and password are admin and admin:

Development GeoNode is running at http://localhost:8000/
The GeoNode is an unstoppable machine
Press CTRL-C to shut down

Before starting GeoNode (paver start), you could test your installation by running tests:

paver test
paver test_integration

In case you want to build yourself the documentation, you need to install Sphinx and the run 'make html' from within the docs directory:

pip install Sphinx
cd docs
make html

You can eventually generate a pdf containing the whole documentation set. For this purpose, if using Ubuntu 12.4 you will need to install the texlive-full package:

sudo apt-get install texlive-full
make latexpdf

Note

When running virtualenv venv the --system-site-packages option is not required. If not enabled, the bootstrap script will sandbox your virtual environment from any packages that are installed in the system, useful if you have incompatible versions of libraries such as Django installed system-wide. On the other hand, most of the times it is useful to use a version of the Python Imaging Library provided by your operating system vendor, or packaged other than on PyPI. When in doubt, however, just leave this option out.

GPL License

GeoNode is Copyright 2010 OpenPlans.

GeoNode is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

GeoNode is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GeoNode. If not, see <http://www.gnu.org/licenses/>.