Find file
87b5fe1 Feb 14, 2017
@afabiani @simod @harts-boundless @capooti
289 lines (186 sloc) 9.74 KB
.. _quick_installation:
Quick Installation Guide
The following is a quick guide to get GeoNode up and running in most common operating systems.
This is meant to be run on a fresh machine with no previously installed packages or GeoNode versions.
Recommended Minimum System Requirements
For deployment of GeoNode on a single server, the following are the *bare minimum* system requirements:
* 6GB of RAM, including swap space.
* 2.2GHz processor. (Additional processing power may be required for multiple concurrent styling renderings)
* 1 GB software disk usage.
* Additional disk space for any data hosted with GeoNode and tiles cached with GeoWebCache.
For spatial data, cached tiles, and "scratch space" useful for administration, a decent baseline size for GeoNode deployments is 100GB.
* 64-bit hardware recommended.
The easiest way to get the .deb is to install it using APT, the standard installation management tool for Ubuntu. The current release, 2.4 is available only for Ubuntu 14.04.
0. First, make sure you have the ``add-apt-repository`` binary available.
sudo apt-get install software-properties-common
1. Set up the GeoNode PPA repository (you only need to do this once; the repository will still be available for upgrades later)::
sudo add-apt-repository ppa:geonode/stable
2. Install the package.
This step will also automatically download all necessary dependencies::
sudo apt-get update
sudo apt-get install geonode
3. Create a superuser and set the IP address
a) $ geonode createsuperuser
b) $ sudo geonode-updateip
4. Read the Admin Docs
Ubuntu with a virtual environment
This kind of GeoNode installation is very useful in case you want to develop using Ubuntu (tested on Ubuntu 14.04 LTS)::
# Install Ubuntu dependencies
sudo apt-get update
sudo apt-get install python-virtualenv python-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev libjpeg-dev libpq-dev libgdal-dev git default-jdk
# Install Java 8 (needed by latest GeoServer 2.9)
sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
# Create and activate the virtulenv
virtualenv --no-site-packages env
source env/bin/activate
# git clone geonode
git clone
cd geonode
# Install pip dependencies
pip install -r requirements.txt
pip install -e . --upgrade
sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
# check GDAL version
gdalinfo --version
# install the correct PyGDAL version (>1.10.1)
pip install pygdal==`gdal-config --version`
# if you cannot find exactly the same version, be sure to install at least the closer major one e.g. 2.1.2 ->
You can now setup and start GeoNode::
# Paver setup
paver setup
paver sync
paver start
In case you want to be involved in static files development::
sudo apt-get install npm
sudo npm install
sudo npm install -g bower
sudo npm install -g grunt
Rebuild libraries through::
cd geonode/static
bower cache clean
bower update
grunt production
On a production environment, remember to refresh also the "static_root" folder::
python collectstatic --clear -i site-packages* -i .components* -i node_modules* --noinput
Windows, OSX and others
It is now available an automatic installer for Windows systems which configures GeoNode with PostgreSQL DB and few sample layers on a few steps.
See detailed instructions and steps of the GeoNode Windows Installer at section :ref:`win_binary_installer`.
If you have different needs or just want to configure the GeoNode environment manually, please continue reading the guide below.
To install in Windows it is assumed you're familiar with python development and virtualenv on Windows and that you're familiar with the windows command prompt. You will need the follow prerequisites installed:
* Java JDK
* Python 2.7.9
* Earlier versions of python require you to install distutils (easy_install) -
* ant (bin directory must be on system PATH)
* maven2 (bin directory must be on system PATH)
* 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 <name of virtualenv folder>
virtualenv <name of virtualenv folder>\scripts\activate
Clone GeoNode::
git clone
cd geonode
Install Python native dependencies, this command will look for and install binary distributions (pip install will attempt to build and fail)::
pip install paver
paver win_install_deps
Install GeoNode in the local virtualenv::
pip install -e .
You have two options to set up the GEOS and GDAL libraries. Either create an environment variable
or add the variables to your file as below.
The GEOS and GDAL libraries can be found in your <virtualenv directory>\Lib\site-packages\GDAL-1.11.0-py2.7-win32.egg\osgeo\ folder.
Setup GeoServer::
paver setup
Start the servers. You have the option to set the JAVA_HOME environment variable or use the --java_path.::
paver start --java_path="C:\path\to\java\java.exe"
or if you set your JAVA_HOME environment variables (e.g. JAVA_HOME="C:\Program Files\Java\jdk1.7.0_75\")
paver start
Once the package is installed, please consult :ref:`custom_install` to learn how to create an account for the admin user and tweak the settings to get more performance.
The recommended install method in these platforms is to use a virtualization solution, like `Virtual Box`_, install the latest `Ubuntu Linux`_ and then proceed with the steps mentioned above. Some GeoNode developers prefer to use `Vagrant`_ - a VirtualBox wrapper, the steps for this are detailed below. The Vagrant quickstart guide shows how to get a Linux VM configured in most operating systems. However, if you would like to develop natively on Mac OS X please follow the following instructions.
You may need brew install various dependencies::
mkdir -p ~/pyenv
virtualenv ~/pyenv/geonode
source ~/pyenv/geonode/bin/activate
git clone
cd geonode
pip install lxml
pip install pyproj
pip install nose
pip install httplib2
pip install shapely
pip install pillow
pip install paver
Node and tools required for static files development::
brew install node
npm install -g bower
npm install -g grunt-cli
Rebuild libraries through::
cd geonode/static
bower cache clean
bower update
grunt production
On a production environment, remember to refresh also the "static_root" folder::
python collectstatic --clear -i site-packages* -i .components* -i node_modules* --noinput
Install pip dependencies::
pip install -e .
Paver handles dependencies for Geonode, first setup (this will download and update your python dependencies - ensure you're in a virtualenv)::
paver setup
paver start
Optional: To generate document thumbnails for PDFs and other ghostscript file types, download ghostscript:
sudo apt-get install imagemagick
brew install imagemagick
pip install Wand==0.3.5
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.
.. _VirtualBox:
.. _Vagrant:
.. _Ubuntu Linux:
CentOS/RHEL and other \*nix distros
We recommend you to download the latest release and modify the included ```` and ``support/``. GeoNode has been installed in CentOS/RHEL using this mechanism.
Once the package is installed, please consult the :ref:`custom_install` to learn how to create the admin user and tweak the settings to get more performance.