<commit_before># Ordnerstruktur des GeoServers

Im Folgenden wird die Ordnerstruktur des GeoServers erläutert. Ausgangspunkt
ist das GeoServer-Verzeichnis:

<pre><xmp style="margin:0; font-size: .85em;">{{ book.geoServerPhysicalPath }}
</xmp></pre>

Dabei sind die folgenden Unterordner von besonderer Bedeutung:


|Verzeichnis|Bedeutung|
|-----------|---------|
|bin/|Enthält Skripte zum Starten und Stoppen des GeoServers (Jetty-Variante/OSGeoLive).|
|data\_dir/|Konfiguration der GeoServer-Daten (z.B. *Arbeitsbereiche, Datenquellen, Layer oder Stile*). Für Produktivsysteme wird (durch Konfiguration des GeoServers) grundsätzlich empfohlen ein *DATA\_DIR* außerhalb der Webapplikation zu verwenden, da sich der GeoServer auf diese Weise zu neueren Versionen updaten lässt ohne dass die Konfigurationsdaten verloren gehen. Details gibt es [hier](http://docs.geoserver.org/latest/en/user/datadirectory/index.html).|
|data\_dir/logs/|Enthält die Log-Dateien des GeoServers. Auf das Logging wird zum Ende des Workshops auch [hier](../troubleshooting/logging.md) eingegangen.|
|webapps/geoserver/WEB-INF/lib/|Enthält .jar-Dateien, d.h. Java-Kompilate, die beim Starten des Servers in den *ClassPath* geladen werden. Dabei handelt es sich einerseits um Abhängigkeiten (*Dependencies*) des GeoServers zu anderen (OpenSource-)Bibliotheken, die benötigt werden, damit der GeoServer lauffähig ist, z.B. das [Spring Framework](http://spring.io/). Andererseits werden Erweiterungen (ebenfalls in Form von .jar-Dateien) in diesen Ordner installiert.|

> **note**
>
> Die hier erläuterte Struktur bezieht sich auf die Jetty-Umgebung im OSGeoLive-System.
> In anderen Umgebungen (z.B. auf einem Tomcat mit klassischer .war-Datei-Installation)
> kann die Struktur abweichen.

Im folgenden Abschnitt\<basics.installextensions\> wird erklärt wie sich die
Funktionalität des GeoServers durch das Einbinden zusätzlicher Module erweitern lässt.<commit_msg>fix broken link<commit_after># Ordnerstruktur des GeoServers

Im Folgenden wird die Ordnerstruktur des GeoServers erläutert. Ausgangspunkt
ist das GeoServer-Verzeichnis:

<pre><xmp style="margin:0; font-size: .85em;">{{ book.geoServerPhysicalPath }}
</xmp></pre>

Dabei sind die folgenden Unterordner von besonderer Bedeutung:


|Verzeichnis|Bedeutung|
|-----------|---------|
|bin/|Enthält Skripte zum Starten und Stoppen des GeoServers (Jetty-Variante/OSGeoLive).|
|data\_dir/|Konfiguration der GeoServer-Daten (z.B. *Arbeitsbereiche, Datenquellen, Layer oder Stile*). Für Produktivsysteme wird (durch Konfiguration des GeoServers) grundsätzlich empfohlen ein *DATA\_DIR* außerhalb der Webapplikation zu verwenden, da sich der GeoServer auf diese Weise zu neueren Versionen updaten lässt ohne dass die Konfigurationsdaten verloren gehen. Details gibt es [hier](http://docs.geoserver.org/latest/en/user/datadirectory/index.html).|
|data\_dir/logs/|Enthält die Log-Dateien des GeoServers. Auf das Logging wird zum Ende des Workshops auch [hier](../troubleshooting/logging.md) eingegangen.|
|webapps/geoserver/WEB-INF/lib/|Enthält .jar-Dateien, d.h. Java-Kompilate, die beim Starten des Servers in den *ClassPath* geladen werden. Dabei handelt es sich einerseits um Abhängigkeiten (*Dependencies*) des GeoServers zu anderen (OpenSource-)Bibliotheken, die benötigt werden, damit der GeoServer lauffähig ist, z.B. das [Spring Framework](http://spring.io/). Andererseits werden Erweiterungen (ebenfalls in Form von .jar-Dateien) in diesen Ordner installiert.|

> **note**
>
> Die hier erläuterte Struktur bezieht sich auf die Jetty-Umgebung im OSGeoLive-System.
> In anderen Umgebungen (z.B. auf einem Tomcat mit klassischer .war-Datei-Installation)
> kann die Struktur abweichen.

Im [folgenden Abschnitt](installextensions.md) wird erklärt wie sich die
Funktionalität des GeoServers durch das Einbinden zusätzlicher Module erweitern lässt.
{'fraction_non_alphanumeric': 0.1001031991744066, 'fraction_numerical': 0.0015479876160990713, 'mean_word_length': 5.304065040650406, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 22, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2949411', 'n_tokens_mistral': 1340, 'n_tokens_neox': 1339, 'n_words': 397}