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.
Linux¶
Ubuntu (standard deployment)¶
The easiest way to get the .deb is to install it using APT, the standard installation management tool for Ubuntu. The current release, 2.8 is available only for Ubuntu 16.04.
These instructions have been tested on a fresh install of Ubuntu 16.04 64 bit server edition. Please ensure the latest packages are installed with:
sudo apt-get update; sudo apt-get upgrade
Amongst other things, this will ensure that the software-properties-common
package is installed, which is required to make the add-apt-repository
command used below available.
The steps to install geonode and all dependencies in Ubuntu 16.04 are as follows:
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
Note
If you want to try latest unstable version of GeoNode, add the repository:
sudo add-apt-repository ppa:geonode/testing
Install the geonode package and dependencies:
sudo apt-get update; sudo apt-get upgrade; sudo apt-get autoremove sudo apt-get install geonode
Set the correct IP address (NB: the first command below looks up the IP address automatically):
.. note:: If you want to run geonode on your local instance, just run::
sudo geonode-updateip -p localhost
IP_ADDRESS=$(ip route get 8.8.8.8 | awk ‘{print $NF; exit}’) sudo geonode-updateip -p $IP_ADDRESS
Note
If geoserver and geonode are not on the same machine then add your local geonode address:
sudo geonode-updateip -p $IP_ADDRESS -l yourlocaladdress
NB: The IP address must be set to enable access from another machine, e.g. the host machine if geonode is installed in a virtual machine.
Access geonode from your web browser, using the IP address from step 3 above. The neonode web applicaiton should be displayed and you can log in using the superuser details entered immediately above:
Note
If you want to access geonode on your local instance, just go to:
http://localhost/
NB: With this installation method you use sudo geonode xxxx
in place of any python manage.py xxx
command referred to in documentation. For example, try:
sudo geonode help
For further information, read the Admin Docs at http://docs.geonode.org/en/master/#for-administrators.
Ubuntu (for development)¶
This option installs geonode in a virtual environment. This option is very useful in case you want to develop using Ubuntu (tested on Ubuntu 16.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 gdal 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 https://github.com/GeoNode/geonode
cd geonode
# Install pip dependencies
pip install -r requirements.txt --upgrade
pip install -e . --upgrade --no-cache
sudo add-apt-repository ppa:ubuntugis/ppa && sudo apt-get update
sudo apt-get install gdal-bin
# install the correct PyGDAL version
gdal-config --version | cut -c 1-5 | xargs -I % pip install 'pygdal>=%.0,<=%.999'
# if the command cannot install a suitable version, be sure to install at least the closer major one e.g. 2.1.2 -> 2.1.2.3
# gdalinfo --version
# pip install pygdal==`gdal-config --version`
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:
# The following lines must be run only the first time
sudo apt-get install -y nodejs, npm
Rebuild libraries through:
cd geonode/static
# The following lines must be run only the first time
npm install --save-dev
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
npm install -g grunt-cli
# Later you can just do the following
bower cache clean
bower update
grunt production
Warning
If you get an error like /usr/bin/env: node: No such file or directory
while running bower
, try to execute the following command:
sudo ln -s /usr/bin/nodejs /usr/bin/node
On a production environment, remember to refresh also the “static_root” folder:
python manage.py collectstatic --clear -i site-packages* -i .components* -i node_modules* --noinput
Windows, OSX and others¶
Windows¶
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 Windows 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) - http://www.lfd.uci.edu/~gohlke/pythonlibs/#setuptools
- 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 https://github.com/GeoNode/geonode.git
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 . --upgrade --no-cache
You have two options to set up the GEOS and GDAL libraries. Either create an environment variable or add the variables to your local_settings.py file as below.
GEOS_LIBRARY_PATH=”C:/path/to/geos_c.dll” GDAL_LIBRARY_PATH=”C:/path/to/gdal111.dll”
The GEOS and GDAL libraries can be found in your <virtualenv directory>Libsite-packagesGDAL-1.11.0-py2.7-win32.eggosgeofolder.
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 FilesJavajdk1.7.0_75”):
paver start
Once the package is installed, please consult Custom Installation Guide to learn how to create an account for the admin user and tweak the settings to get more performance.
OSX¶
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 https://github.com/GeoNode/geonode
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 manage.py collectstatic --clear -i site-packages* -i .components* -i node_modules* --noinput
Install pip dependencies:
pip install -e . --upgrade --no-cache
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: https://www.macupdate.com/app/mac/9980/gpl-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.
CentOS/RHEL and other *nix distros¶
We recommend you to download the latest release and modify the included install.sh
and support/config.sh
. GeoNode has been installed in CentOS/RHEL using this mechanism.
Once the package is installed, please consult the Custom Installation Guide to learn how to create the admin user and tweak the settings to get more performance.