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
$ java version
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
$ 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
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
$ nvm install v18.14.0
$ 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
unzip -d /usr/share/geoserver/webapps/geoserver/WEB-INF/lib/ geoserver-2.22.2-vectortiles-plugin.zip
$ systemctl stop geoserver
$ systemctl start geoserver