1. Instalace závislostí

Tato kapitolka provede instalací softwarových závislostí. Instalace těchto závislostí je nutností, pokud budeme chtít vytvářet mapovou aplikaci na základě dat publikovaných GeoServerem a tato data vizualizovat ve webovém prohlížeči pomocí knihovny OpenLayers.

Body 1 a 2 jsou obecnými body, které je nutné projít bez ohledu na to, jaký typ mapové aplikace budeme vytvářet. Bod 3 je nutný pouze v případě, pokud budeme vytvářet vektorové dlaždice. Postupy jsou popsány jak pro MS Windows, tak Linux OS.

Instalace závislostí na MS Windows

Instalace GeoServeru a spuštění jeho webového rozhraní

1) Instalace GeoServeru je možná přímo pomocí odkazu na stránkách GeoServeru. Tento tutoriál předpokládá verzi GeoServeru nejméně 2.22.0. Vzhledem k tomu, že GeoServer je Java aplikace, je nutné pro instalaci mít nejdříve staženou Javu. Jediný významnější úkon při instalaci GeoServeru je vyplnění Web Server portu. Zvolíme 8080, což znamená, že náš lokální GeoServer bude běžet na adrese http://localhost:8080/geoserver/web.

2) Po úspěšné instalaci vyzkoušíme, zda GeoServer opravdu na této adrese běží. Do Start menu napíšeme GeoServer a klikneme na Start GeoServer. Poté ve webovém prohlížeči zadáme adresu http://localhost:8080/geoserver/web. Otevře se nám webové rozhraní GeoServeru, do kterého je nutné se přihlásit. Defaultní přihlašovací jméno je admin a heslo je geoserver.

Instalace npm JavaScript balíčkovacího systému

Abychom mohli lokálně vyvíjet webovou aplikaci využívající knihovnu OpenLayers, je třeba si knihovnu OpenLayers stáhnout jako balíček. Balíčkovací manager pro jazyk JavaScript se nazývá npm. Npm pro svůj běh ale potřebuje ještě Node.js (cross-platform JavaScript runtime prostředí) a GIT (verzovací systém).

Je tedy třeba třech kroků:

1) Nainstalujeme Node.js (adresa https://nodejs.org/en/).

2) Nainstalujeme GIT (adresa https://github.com/git-guides/install-git).

3) Vyzkoušíme v příkazové řádce příkaz npm (pokud se objeví chybový hláška npm: command not found, je nutné zavřít a znovu otevřít konsoli).

V tuto chvíli máme připraveny všechny závislosti, které budeme potřebovat. Na localhostu nám běží GeoServer a máme k dispozici balíčkovací systém npm, díky němuž budeme schopni později vytvořit OpenLayers projekt.

Instalace rozšíření pro vytváření vektorových dlaždic

Možnost rozdlaždicování vektorové vrstvy na dlaždice není defaultní součástí GeoServeru. Tuto možnost si proto musíme doinstalovat v podobě Vector tile extension.

1) Na adrese https://geoserver.org/release/stable/ obsahující přehled rozšířeních pro GeoServer si najdeme rozšíření Vector Tile extension. Archiv si k sobě stáhneme. Jedná se o archiv obsahující soubory s příponou .jar. Archiv rozbalíme a jeho obsah překopírujeme do složky C:\Program Files\GeoServer\webapps\geoserver\WEB-INF\lib.

2) Abychom rozšíření zapracovali do GeoServeru, server restartujeme. Půjdeme do Start menu a napíšeme GeoServer. Zobrazí se nám možnost Stop GeoServer. Tuto možnost zvolíme a chvíli počkáme. Po zastavení všech procesů GeoServer opět spustíme vybráním možnosti Start GeoServer.

3) Přihlásíme se opět do webového rozhraní a v záložce Tile Cashing --> Tile Layers vybereme náhodnou vrstvu. V tabulce nabízených tile formátů bychom měli vidět možnosti geojson, topojson a vnd.mapbox-vector-tile.

Instalace závislostí na Linux OS

Návod byl ozkoušen na Linux Ubuntu verze 20.02, ale s velkou pravděpodobností se na pozdějších verzích nijak neliší.

Instalace GeoServeru a spuštění jeho webového rozhraní

1) Instalace Javy

GeoServer je javovská aplikace, pro svůj běh tedy potřebuje mít nainstalovánu Javu.

$ apt install default-jdk -y
Zda instalace proběhla úspěšně, zkontrolujeme následujícím příkazem, který by měl vrátit verzi Javy:

$ java version
2) Instalace GeoServeru

Nejprve získáme zip soubor s GeoServerem, který dále rozbalíme do složky usr/share/geoserver/. Pokud je to nutné, nainstalujeme si unzip balíček.

$ wget https://sourceforge.net/projects/geoserver/files/GeoServer/2.22.0/geoserver-2.22.0-bin.zip
$ apt-get install unzip
$ unzip -d /usr/share/geoserver/ geoserver-2.21.0-bin.zip
Dále vytvoříme uživatele geoserver a naplníme soubor s nastavením pro GeoServer:
$ useradd -m -U -s /bin/false geoserver
$ chown -R geoserver:geoserver /usr/share/geoserver
$ nano /usr/lib/systemd/system/geoserver.service

Do souboru přidáme následující obsah:

 [Unit]
 Description=GeoServer Service
 After=network.target

 [Service]
 Type=simple

 User=geoserver
 Group=geoserver

 Environment="GEOSERVER_HOME=/usr/share/geoserver"

 ExecStart=/usr/share/geoserver/bin/startup.sh
 ExecStop=/usr/share/geoserver/bin/shutdown.sh

 [Install]
 WantedBy=multi-user.target
3) Spuštění a ovládání GeoServeru

Geoserver budeme dále ovládat přes příkaz systemctl. GeoServer spustíme následujícími příkazy. U posledního příkazu by měl být GeoServeru ve stavu Running.

$ systemctl daemon-reload
$ systemctl enable --now geoserver
$ systemctl status geoserver

4) Webové rozhraní spustíme stejně jako v případě MS Windows.

Instalace npm JavaScript balíčkovacího systému

Při instalaci node.js z příkazové řádky pomocí příkazu sudo apt install nodejs byla instalována verze 12. Pro knihovnu OpenLayers nicméně potřebujeme vyšší verzi node.js (ozkoušeno, že na 100% funguje na verzi 18.14.0). Konkrétní verzi node.js je možné nainstalovat přes Node Version Manager (NVM).

1) NVM nainstalujeme následujícím příkazem:

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
$ source ~/.bashrc
2) Potom pomocí NVM nainstalujeme konkrétní verzi node.js:
$ nvm install v18.14.0
3) Společně s node.js se nám nainstaluje i balíčkovací systém npm. Mělo by se nám nainstalovat npm verze 9.3.0. Verze obou komponent (node.js, npm) ověříme pomocí příkazu:
$ npm version

Instalace rozšíření pro vytváření vektorových dlaždic

1) Nejprve si stáhneme rozšíření pro vektorové dlaždice.

$ wget https://sourceforge.net/projects/geoserver/files/GeoServer/2.22.0/extensions/geoserver-2.22.0-vectortiles-plugin.zip
2) Stažený archiv rozbalíme do složky /usr/share/geoserver/webapps/geoserver/WEB-INF/lib/.
 unzip -d /usr/share/geoserver/webapps/geoserver/WEB-INF/lib/  geoserver-2.22.2-vectortiles-plugin.zip
3) Restartujeme GeoServer. Pro restart a start GeoServeru můžeme využít následující příkazy:
$ systemctl stop geoserver
$ systemctl start geoserver