Installation

Die Installation erfolgt über das Kommandozeilenprogramm gview.deploy. Dieses Tool erledigt folgende Aufgaben:

  • Neuinstallation von gView.WebApps und gView.Server

  • Verwaltung von Deploy-Profilen (z.B. local, test, staging, production)

  • Verteilung von Änderungen an der Konfiguration (z.B. mapserver.json, gview-web.config)

Vorbereitung

Voraussetzung ist eine Installation der .NET App Runtime 8.0.x.

Windows:

Unter Windows kann das Programm beispielsweise nach C:\deploy\gview-gis kopiert werden. Danach kann dann die EXE-Datei einfach ausgeführt werden.

Linux:

Das Installationspaket kann im Verzeichnis /home/{user}/deploy/gview-gis entpackt werden.

Im ersten Schritt sollten notwendige Pakete, die für gView GIS erforderlich sind, installiert werden. Diese befinden sich teilweise im Verzeichnis _libs bzw. werden einige Pakete (proj4, skia) über das Script _libs_install.sh nachinstalliert:

Dazu ist folgendes auszuführen:

sudo chmod +x _libs_install.sh    # falls noch nicht als ausführbar markiert
./_libs_install.sh

Anschließend kann das Deploy Programm mit folgendem Befehl gestartet werden:

dotnet gView.Deploy.dll

Bemerkung

Die nachfolgende Beschreibung erfolgt auf einem Windows-System. Unter Linux sollte die Installation aber aus dem Aufruf des Deploy Tools ähnlich erfolgen.

Neue Version ausliefern

Wenn man das Programm zum ersten Mal startet, muss zunächst ein Profil angelegt werden. Das Profil kann beispielsweise test, staging oder production sein. Da wir im ersten Schritt gView GIS nur lokal testen wollen, bietet sich ein Profil mit dem Namen local für den Start an:

C:\> .\gview.deploy.exe

Work-Directory: C:\\deploy\\gview-gis
Choose a profile or create a new by enter an unique name, eg. production, staging, test
Input profile index [0]: local

Im nächsten Schritt bietet das Programm an, den aktuellen Release von GitHub herunterzuladen, falls dieser noch nicht vorhanden ist.

Do you want to download latetest version from GitHub? Y/N [Y]

Ist das nicht möglich, kann der letzte Release auch manuell heruntergeladen werden. Dazu müssen die ZIP-Dateien in das download Verzeichnis gelegt werden. Im Beispiel also hier: C:\deploy\gview-gis\download

Liegen ZIP-Dateien im download Verzeichnis, werden die verschiedenen Versionen angezeigt:

Choose a version
0 ... 6.24.1801
Input version index [0]:

Die neueste Version bekommt den Index 0.

Die neueste Version bekommt den Index 0.

Bemerkung

Alle Werte, die über das gview.deploy eingegeben werden, müssen bei späteren Aufrufen nicht mehr eingegeben werden. Stattdessen werden diese Werte mit einer Indexnummer angezeigt. Man muss dann nur noch die entsprechende Nummer eingeben, oder es reicht einfach, ENTER zu drücken, wenn der gewünschte Index der vorgeschlagene Wert ist, z.B. Input version index [0] => ENTER => Version mit Index 0.

Im nächsten Schritt kann festgelegt werden, welche Produkte installiert werden sollen. Everything deployed sowohl gView.Server als auch gView.Web:

Choose a product
0 ... Everything
1 ... gView.Server
2 ... gView.Web
Input product index [0]:

Nachdem die Version und das Produkt gewählt wurden, fragt das Deployment-Tool noch einmal nach, ob tatsächlich die gewählte Version mit dem Profil deployed werden sollte:

Deploy 'Everything' from version 6.24.1801 to profile local
Do you want to continue? Y/N [Y]

Ein ENTER oder Y startet den Deploy-Vorgang.

Wenn man ein Profil (hier local) das erste Mal publiziert, müssen noch einige Werte angegeben werden. Möchte man den Standardwert verwenden, reicht es, die Frage mit ENTER zu bestätigen.

Target installation path [C:\apps\gview-gis]:
Repsitory path [C:\apps\gview-gis\local\gview-repository]:
gView Server online url [http://localhost:5050]:
  • Zielpfad der Installation: Der Pfad, an dem gView-GIS installiert werden sollte. Unter diesem Verzeichnis legt das Deployment-Werkzeug noch einen Ordner mit dem Profilnamen und der Version an. Hier würde die App unter C:\\apps\\gview-gis\\local\\6.24.1801 installiert werden.

  • Repository-Pfad: Im Repository-Pfad werden unterschiedliche Dateien gespeichert, die für das Funktionieren der Software notwendig sind, beispielsweise die Kartendokumente (XML-Dateien), die vom Kartenserver veröffentlicht werden. Der Repository-Ordner wird normalerweise im Verzeichnis des Profils (hier: C:\\apps\\gview-gis\\local) angelegt. Da der Ordner nicht im Versions- Ordner liegt, kann er von einer neu installierten Version gleich mit verwendet werden. Wichtig ist, dass unterschiedliche Profile ihr eigenes Repository-Verzeichnis verwenden.

  • gView Server Online-URL: Eine URL, unter der der gView.Server zugänglich sein wird. Möchte man das local Profil testen und die Programme nur lokal ausführen, erfolgt das in der Regel über http://localhost:5050. Der Vorteil, diesen Wert hier festzulegen, ist, dass später in der gView.WebApps App eine zusätzliche Kachel zum Aufruf des gView.Servers angeboten wird. Das erleichtert die Administration. Ohne diese URL würden nur die Kacheln für gView.Carto und gView.Explorer angezeigt werden.

Die nächsten Werte, die wir festlegen, sind der Admin User und das Admin-Passwort. Außerdem definieren wir einen Carto User. Das Passwort ist jeweils einzugeben:

gView Admin Username [admin]:
gView Admin Password [*****]: my-secret-admin-password
gView Admin Username [carto]:
gView Admin Password [*****]: my-secret-carto-password

Der Unterschied zwischen den beiden Benutzern besteht darin, dass der Carto User nur auf eingeschränkte Werkzeuge zugreifen kann. Er kann beispielsweise gView.Explorer nicht aufrufen, sondern nur gView.Carto. Außerdem sieht er die eigentlichen Connection Strings der Verbindungen nicht. Der Carto User kann somit nur auf vordefinierte Verbindungen zugreifen, aber keine eigenen Verbindungen zu Datenbanken anlegen, etc. Dieser Benutzer sollte von denen verwendet werden, die neue Karten erstellen möchten. Diese Benutzer müssen in der Regel keine Datenbank-Credentials kennen.

Danach startet der Deploy-Vorgang:

***********************************************************************
Create a new webgis repositiry C:\apps\gview-gis\local\gview-repository
***********************************************************************

Deploy version 6.24.1801
Deploy gView Server:
...succeeded 972 items created
Deploy gView WebApps:
...succeeded 448 items created
Overrides
Copy C:\deploy\gview-gis\_deploy_repository\profiles\local\server\override\_config\mapserver.json
...succeeded 1 items created/overridden
Copy C:\deploy\gview-gis\_deploy_repository\profiles\local\web\override\_config\gview-web.config
...succeeded 1 items created/overridden

Es werden sowohl gView.WebApps als auch gView.Server deployed. Nach dem Entpacken der ZIP-Dateien werden benutzerspezifische Dateien aus dem Verzeichnis _deploy_repository\profiles\{profile}\[server|web]\override in das jeweilige Applikationsverzeichnis kopiert. Hierbei wird die Konfiguration aus dem Installationspaket mit der Konfiguration aus dem aktuellen Profil überschrieben.

Bemerkung

In die Override-Verzeichnisse können beliebige Dateien kopiert werden, die zusätzlich in die Applikationsverzeichnisse kopiert oder überschrieben werden sollen. Konfigurationsdateien sollten nie direkt im Applikationsverzeichnis (Deploy-Verzeichnis) geändert werden, sondern immer im Override-Verzeichnis. Damit wird sichergestellt, dass Änderungen an der Konfiguration auch beim nächsten Update eines Profils wieder kopiert werden.

Aktuelle Konfiguration ändern

Fügt man Änderungen in der Konfiguration durch (z.B. mapserver.json), erfolgt dies im Override Verzeichnis. Danach führt man erneut gview.deploy aus und erhält folgende Meldung:

Choose a profile or create a new by enter an unique name, eg. production, staging, test
0 ... local
Input profile index [0]:

Do you want to download latetest version from GitHub? Y/N [Y]

Choose a version
0 ... 6.24.1801
Input version index [0]:

Deploy version 6.24.1801 to profile local
Do you want to continue? Y/N [Y]
Target installation path: C:\apps\gview-gis
Repsitory path: C:\apps\gview-gis/local/gview-repository
gView Server online url: http://localhost:5050
gView Admin Username: admin
gView Admin Password:
gView User Username: carto
gView Carto Password:

Deploy version 6.24.1801


**************************************

Warning: version already deployed

***************************************

Overrides
Copy C:\deploy\gview-gis\_deploy_repository\profiles\local\server\override\_config\mapserver.json
...succeeded 1 items created/overridden
Copy C:\deploy\gview-gis\_deploy_repository\profiles\local\web\override\_config\gview-web.config
...succeeded 1 items created/overridden

Es erscheint die Warnung, dass diese Version bereits deployed wurde. Aus den ZIP-Dateien werden keine Daten kopiert. Durchgeführt werden nur die Overrides.