How to install geonode on Windows

Minimum Hardware 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.

Software Requirements

  • Windows 8.1 64 bit
  • Python 2.7.10 64 bit
Set 
PY_HOME = C:\Python27 in system variable
PATH ;%PY_HOME%;%PY_HOME%\Lib;%PY_HOME%\Scripts;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk
JAVA_HOME = C:\Program Files\Java\jdk1.7.0_79
JRE_HOME = C:\Program Files\Java\jre7
add PATH variable = ;C:\Program Files (x86)\Git\cmd
Set
GDAL_DATA = C:\Program Files\GDAL\gdal-data
GDAL_DRIVER_PATH = C:\Program Files\GDAL\gdalplugins
add PATH variable = ;C:\Program Files\GDAL
Set ANT_HOME = C:\apache-ant-1.9.6 in system variable 
add PATH variable = ;%ANT_HOME%/bin
Set MVN_HOME = C:\apache-maven-3.3.3 in system variable 
add PATH variable = ;%MVN_HOME%/bin
copy mod_wsgi.so to ../Apache24/modules
Add module in ../Apache24/conf/httpd.conf by add
LoadModule wsgi_module modules/mod_wsgi.so

Installation

  • Clone Geonode project from github with
git clone https://github.com/GeoNode/geonode.git
  • Install Python native dependencies
pip install paver
paver win_install_deps
pip install -e .
  • Set Gdal variable
GEOS_LIBRARY_PATH === C:\Program Files\GDAL\geos_c.dll
GDAL_LIBRARY_PATH === C:\Program Files\GDAL\gdal111.dll
  • Setup GeoServer
paver setup
  • check geoserver runing at (Quit with Ctrl+C)
http://localhost:8080/geoserver/web/
paver stop
  • Create geonode user
  1. Opens pgadmin and Connect to db with postgres user
  2. Create geonode user by New login Role… in the picture

3. Set username in role name and set password [Both geonode]

  • Create Database for geonode
  1. Create db geonode+geonode_data+geonode-imports and assign ownner to geonode user

2. Add extension postgis by execute query

CREATE EXTENSION postgis;

3. Add data to geonode-imports execute postgis.sql in

C:\Program Files\PostgreSQL\9.3\share\contrib\postgis-2.1

4. Add data to geonode-imports execute spatial_ref_sys.sql in

C:\Program Files\PostgreSQL\9.3\share\contrib\postgis-2.1

5. Execute sql to geonode-imports

GRANT ALL ON geometry_columns TO PUBLIC;
GRANT ALL ON spatial_ref_sys TO PUBLIC;
  • Restart PostgreSQL by follow in figure below
  • Create Django config file
copy ../geonode/local_settings.py.sample to ../geonode/local_settings.py
uncomment ‘ENGINE’: ‘django.contrib.gis.db.backends.postgis’,
comment #’ENGINE’: ‘’, # Empty ENGINE name disables
change NAME in datastore to geonode_imports
add at a back of SITEURL
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
  • install another python package
pip install psycopg2==2.4.5
install py2exe from http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/
pip install pyproj
install Shapely from http://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely
  • Synchronise databese
python manage.py syncdb — noinput
  • Create new superuser for geonode login
python manage.py createsuperuser
  • Create local static files
python manage.py collectstatic
  • Create directory uploaded for upload at
C:\geonode\geonode
  • config Apache Config at
C:\Apache24\conf\httpd.conf

uncomment 3 lines

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Include conf/extra/httpd-vhosts.conf
  • edit file C:\Apache24\conf\extra\httpd-vhosts.conf as follows:
#############################################
<VirtualHost *:80>
ServerName http://localhost
ServerAdmin admin@admin.com
DocumentRoot “c:/geonode/geonode”
ErrorLog “logs/geonode-error.log”
CustomLog “logs/geonode-access.log” common
WSGIScriptAlias / “c:/geonode/geonode/wsgi.py”
<Directory “c:/geonode/geonode”>
AllowOverride None
Options None
Require all granted
</Directory>
Alias /static “c:/geonode/geonode/static_root”
Alias /uploaded “c:/geonode/geonode/uploaded”
<Proxy *>
Require all granted
</Proxy>
ProxyPreserveHost On
ProxyPass /geoserver http://localhost:8080/geoserver
ProxyPassReverse /geoserver http://localhost:8080/geoserver
</VirtualHost>
#############################################