Det var ganska länge sedan jag installerade en vanlig standard GeoServer. Och det verkar ha hänt en hel del sedan dess, även om väldigt mycket är sig likt. Detta blir ingen utvärdering av servern i sig, utan mera en dokumentation av hur enkelt det faktiskt är att sätta upp en ren geoserver på en ny server.
Jag använder Ubuntu Server 18.04, men det finns anvisningar för hur du installerar på såväl Windows som Mac, för att inte tala om alla andra Linuxdistributioner (hänvisningar).
Som sagt börjar jag med en helt nyinstallerad Linux server, uppdaterad med de senaste patcharna, vilket görs med de första kommandona i listan nedan. Byt ut ”USER_NAME” mot ditt eget användarnamn.
sudo apt update sudo apt upgrade sudo apt install openjdk-8-jre wget http://sourceforge.net/projects/geoserver/files/GeoServer/2.16.1/geoserver-2.16.1-bin.zip sudo mkdir /usr/share/geoserver sudo unzip geoserver-2.16.1-bin.zip -d /usr/share/geoserver/ echo "export GEOSERVER_HOME=/usr/share/geoserver/geoserver-2.16.1" >> ~/.profile . ~/.profile sudo chown -R USER_NAME /usr/share/geoserver/ cd /usr/share/geoserver/geoserver-2.16.1/bin sh startup.sh
Sedan är det bara att peka en webbläsare på serverns IP-adress på port 8080, samt sökvägen geoserver.
Servern startas och körs manuellt, men det finns instruktioner för att göra den till en autostartande tjänst om man vill använda servern i en produktionsmiljö. Jag nöjer mig dock med att testa lite.
Standardinloggning är admin/geoserver, vilket man såklart behöver ändra i en produktionsmiljö. Det finns även andra inställningar man bör ändra i dessa fall.
Nåja. När installationen nu är klar är det bara att botanisera bland de inkluderade lagren.
Såklart kan man även skapa egna ”förråd” med lager och lagergrupper. Antingen sparar man filer lokalt på servern, eller så använder man servern endast som tjänsteserver och sparar data någon annanstans, exempelvis på en PostGIS server.
De lager som sedan skapas kan användas med webbkartor som OpenLayers, men även som bakgrundskartor i exempelvis QGIS.
Jag vill dock testa vektor tiles. GeoServer stödjer dessa som utdata, men man behöver lägga till en extension.
På servern så går jag till ”home” och kör följande.
cd ~ wget http://sourceforge.net/projects/geoserver/files/GeoServer/2.16.1/extensions/geoserver-2.16.1-vectortiles-plugin.zip unzip geoserver-2.16.1-vectortiles-plugin.zip -d /usr/share/geoserver/geoserver-2.16.1/webapps/geoserver/WEB-INF/lib/
Starta sedan servern på nytt, eller starta om den om du installerat den som tjänst.
För varje lager kan man nu aktivera olika vektor tile standarder, inklusive mapbox-vector-tile. Om ”application” alternativen i bilden ovan inte finns tillgängliga så har installationen av tillägget inte fungerat.
I förhandsgranskningen av lager så kan man också välja ”MapBox Vector Tiles”, och några ytterligare vektor tile format. Dessa borde inte vara några problem att använda i exempelvis Open Layers, men om man vill testa i QGIS så kommer man nog att köra huvudet i väggen.
Det finns ett plugin för QGIS som läser vektor tiles, men dessa måste vara i tileJSON format, vilket GeoServer inte stödjer…
Nu tycker väl jag att vektor tiles är ganska överskattat utanför webbkartor. För QGIS är det bättre att ansluta till WFS om man vill ha vektorlager. Bäst är naturligtvis att koppla direkt mot exempelvis PostGIS.
Vill man däremot använda QGIS för att ”publisera” data. Då skall man nog installera GeoNode (inkluderar geoserver) på servern. Här finns nämligen en koppling direkt till QGIS via browsern. Detta har jag testat tidigare, och ett nytt test får nog vänta ett tag.
Jag har under hösten byggt flera geodatastackar med PostGis och Geoserver. Det allra enklaste sättet är att köra Geoserver under Tomcat, med en war-fil. Då installerar det sig i princip själv. Katalogtjänsten Geonetwork slank med på samma sätt. Jag jobbar i Windows server-miljö för att det är lätt tillgängligt.
Instämmer, att köra från Tomcat eller annan Java Servlet Container är att föredra, så här långt i vart fall. 🙂
Jag kör koppling till PostGis, OpenJDK 11 (senaste) och på Linux (Ubuntu LTS).