.. _dependencies: =========================== GeoNode System Dependencies =========================== Overview ======== The following steps will guide you through a fresh setup of GeoNode. All guides will first install and configure the system to run in ``DEBUG`` mode (also known as ``DEVELOPMENT`` mode) and then, by configuring an HTTPD server, to serve GeoNode through the standard ``HTTP`` (``80``) port. .. warning:: These guides **are not** meant to be used on a production system. There will be dedicated chapters that will show you some *hints* on how to optimize GeoNode for a production-ready machine. In any case, we strongly suggest tasking an experienced *DevOp* or *System Administrator* with checking everything before exposing your server to the ``WEB``. Ubuntu 22.04.2LTS ================= This part of the documentation describes the complete setup process for GeoNode in a clean Ubuntu 22.04.2LTS **64-bit** environment (Desktop or Server). All examples use shell commands that you must enter on a local terminal or a remote shell. - If you have a graphical desktop environment you can open the terminal application after login; - If you are working on a remote server, the provider or sysadmin should have given you access through an ssh client. .. hint:: You can download and install a Virtual Machine with Ubuntu 22.04.2LTS set up from the link below. `GeoSolutions GeoNode Ubuntu Training VM `_ .. _install_dep: 1. Install the dependencies ^^^^^^^^^^^^^^^^^^^^^^^^^^^ In this section, we are going to install all the basic packages and tools required for a complete GeoNode installation. .. warning:: To follow this guide, basic knowledge of Ubuntu Server configuration and working with a shell is required. .. note:: This guide uses ``vim`` as the editor. Feel free to use ``nano``, ``gedit``, or any other editor. Upgrade system packages ....................... Check that your system is already up-to-date with the repository by running the following commands: .. code-block:: shell sudo apt update -y; sudo apt upgrade -y; sudo apt autoremove --purge; Packages Installation ..................... .. note:: You don't need to install the **system packages** if you want to run the project using Docker We will use **example.org** as a fictitious Domain Name. First, we are going to install all the **system packages** needed for the GeoNode setup. Log in to the target machine and execute the following commands: .. code-block:: shell # Install packages from GeoNode core sudo apt install -y --allow-downgrades build-essential \ python3-gdal=3.4.1+dfsg-1build4 gdal-bin=3.4.1+dfsg-1build4 libgdal-dev=3.4.1+dfsg-1build4 \ python3-all-dev python3.10-dev python3.10-venv virtualenvwrapper \ libxml2 libxml2-dev gettext libmemcached-dev zlib1g-dev \ libxslt1-dev libjpeg-dev libpng-dev libpq-dev \ software-properties-common build-essential \ git unzip gcc zlib1g-dev libgeos-dev libproj-dev \ sqlite3 spatialite-bin libsqlite3-mod-spatialite libsqlite3-dev # Install Openjdk sudo apt install openjdk-11-jdk-headless default-jdk-headless -y # Verify GDAL version gdalinfo --version $> GDAL 3.4.1, released 2021/12/27 # Verify Python version python3.10 --version $> Python 3.10.12 which python3.10 $> /usr/bin/python3.10 # Verify Java version java -version $> openjdk version "11.0.22" 2024-01-16 $> OpenJDK Runtime Environment (build 11.0.22+7-post-Ubuntu-0ubuntu222.04.1) $> OpenJDK 64-Bit Server VM (build 11.0.22+7-post-Ubuntu-0ubuntu222.04.1, mixed mode, sharing) # Install VIM sudo apt install -y vim # Cleanup the packages sudo apt update -y; sudo apt autoremove --purge .. warning:: GeoNode 4.x is not compatible with Python < 3.9