Structure of the Data Directory

This section gives an overview of the structure and contents of the GeoServer data directory.

This is not intended to be a complete reference to the GeoServer configuration information, since generally the data directory configuration files should not be accessed directly. Instead, the Web Administration Interface can be used to view and modify the configuration manually, and for programmatic access and manipulation the REST Configuration API should be used.

The directories that do contain user-modifiable content are: logs, palettes, templates, user-projection, and www.

The following figure shows the structure of the GeoServer data directory:

<data_directory>/

   global.xml
   logging.xml
   wms.xml
   wfs.xml
   wcs.xml

   data/
   demo/
   geosearch/
   gwc/
   layergroups/
   logs/
   palettes/
   plugIns/
   security/
   styles/
   templates/
   user_projections/
   workspaces/
     |
     +- workspace dirs...
        |
        +- datastore dirs...
           |
           +- layer dirs...
   www/

The .xml files

The top-level .xml files contain information about the services and various global options for the server instance.

File Description
global.xml Contains settings common to all services, such as contact information, JAI settings, character sets and verbosity.
logging.xml Specifies logging parameters, such as logging level, logfile location, and whether to log to stdout.
wcs.xml Contains the service metadata and various settings for the WCS service.
wfs.xml Contains the service metadata and various settings for the WFS service.
wms.xml Contains the service metadata and various settings for the WMS service.

workspaces

The workspaces directory contain metadata about the layers published by GeoServer. It contains a directory for each defined workspace. Each workspace directory contains directories for the datastores defined in it. Each datastore directory contains directories for the layers defined for the datastore. Each layer directory contains a layer.xml file, and either a coverage.xml or a featuretype.xml file depending on whether the layer represents a raster or vector dataset.

data

The data directory can be used to store file-based geospatial datasets being served as layers. (This should not be confused with the main “GeoServer data directory”.) This directory is commonly used to store shapefiles and raster files, but can be used for any data that is file-based.

The main benefit of storing data files under the data directory is portability. Consider a shapefile stored external to the data directory at a location C:\gis_data\foo.shp. The datastore entry in catalog.xml for this shapefile would look like the following:

<datastore id="foo_shapefile">
   <connectionParams>
     <parameter name="url" value="file://C:/gis_data/foo.shp" />
   </connectionParams>
 </datastore>

Now consider trying to port this data directory to another host running GeoServer. The location C:\gis_data\foo.shp probably does not exist on the second host. So either the file must be copied to this location on the new host, or catalog.xml must be changed to reflect a new location.

This problem can be avoided by storing foo.shp in the data directory. In this case the datastore entry in catalog.xml becomes:

<datastore id="foo_shapefile">
  <connectionParams>
    <parameter name="url" value="file:data/foo.shp"/>
  </connectionParams>
</datastore>

The value attribute is rewritten to be relative to the data directory. This location independence allows the entire data directory to be copied to a new host and used directly with no additional changes.

demo

The demo directory contains files which define the sample requests available in the Sample Request Tool (http://localhost:8080/geoserver/demoRequest.do). See the Demos page for more information.

geosearch

The geosearch directory contains information for regionation of KML files.

gwc

The gwc directory holds the cache created by the embedded GeoWebCache service.

layergroups

The layergroups directory contains configuration information for the defined layergroups.

logs

The logs directory contains configuration information for logging profiles, and the default geoserver.log log file. See also Advanced log configuration.

palettes

The palettes directory is used to store pre-computed Image Palettes. Image palettes are used by the GeoServer WMS as way to reduce the size of produced images while maintaining image quality. See also Paletted Images.

security

The security directory contains the files used to configure the GeoServer security subsystem. This includes a set of property files which define access roles, along with the services and data each role is authorized to access. See the Security section for more information.

styles

The styles directory contains Styled Layer Descriptor (SLD) files which contain styling information used by the GeoServer WMS. For each file in this directory there is a corresponding entry in catalog.xml:

<style id="point_style" file="default_point.sld"/>

See the Styling section for more information about styling and SLD .

templates

The templates directory contains files used by the GeoServer templating subsystem. Templates are used to customize the output of various GeoServer operations. See also Freemarker Templates.

user_projections

The user_projections directory contains a file called epsg.properties which is used to define custom spatial reference systems that are not part of the official EPSG database. See also Custom CRS Definitions.

www

The www directory is used to allow GeoServer to serve files like a regular web server. The contents of this directory are served at http:/<host:port>/geoserver/www. While not a replacement for a full blown web server, this can be useful for serving client-side mapping applications. See also Serving Static Files.