Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There are a number of interdependencies between the Spring configuration files in various locations and in system that are like a contract between the user-modifiable configuration and the system configuration. In most cases, these dependencies can be identified via the use of Spring bean names that contain the prefix "shibboleth." When in doubt, don't remove a bean name that contains such a prefix, or comment it out (unless it starts out commented).

Directory

Explanation

bin

Contains command line tools, and any Java libraries needed during installation.  

During upgrades files from the distribution will be overwritten, but additional files that you add will be preserved, so you can store your own command line scripts here.

conf

The main configuration tree.

During any installation (first time or upgrades), files are never replaced in this directory.  New files required by the IdP version being installed will be populated if and only if they do not exist.

credentials    

Contains your keys, certificates, and keystores, as well as credentials on which you rely such as for metadata signature validation. Files in this directory should generally be readable only by the user account the IdP will run under (certificates aren't secret, but it's easiest to just lock down everything).

During any installation (first time or upgrades), files are never replaced in this directory. In unusual cases, new files may be created if they do not exist.

dist

Contains the original/default versions of the contents of the conf, flows, messages, and view directories.

This folder is always deleted and re-created from the distribution on every install. This directory can be used as a reference against any locally modified copies of these files.

doc

Contains documentation, licenses, and the like.

This folder is always deleted and re-created from the distribution on every install.

edit-webapp

This directory is created on initial install and thereafter

not touched

files may (rarely) be added during upgrades but not overwritten. You may place any local configuration you wish to include in your packed warfile. During warfile creation, the contents of this tree are copied over top of the webapp directory, from which the war file is then built. Thus, it is an overlay tool for your local modifications and extensions.

flows

Contains any user-editable Spring Web Flow definitions.

During any installation (first time or upgrades), files are never replaced in this directory. New files required by the IdP version being installed will be populated if and only if they do not exist.

logs

Contains the IdP diagnostic and audit logs by default.

messages

Contains internationalized message properties used in various UI templates. This contains only new or overriden message properties or post-install translations; all of the default messages and translations are in the system tree.

During any installation (first time or upgrades), files are never replaced in this directory.  New files required by the IdP version being installed will be populated if and only if they do not exist.

metadata

A storage location for SAML metadata used by the IdP (see MetadataConfiguration). During initial installation, some representative SAML metadata for the IdP is generated based on the installation inputs and placed in this directory in a file named idp-metadata.xml.

Note that the IdP does not need to load its own metadata. Also note that the metadata is generated as a one-time operation during installation. It does not result from an in-depth analysis of the IdP configuration and does not change when the configuration changes. It's a starter example, not a real metadata source.

system

Contains read-only internal system configuration that should not be modified.

The contents of this directory tree will be deleted and re-created by an install or upgrade.

views

Contains Velocity page templates displayed to users of the IdP. While JSP views (and the older taglibs) are generally supported, most of the default webflow views provided are now Velocity templates that can be maintained outside the warfile and changed at runtime.

During any installation (first time or upgrades), files are never replaced in this directory.  New files required by the IdP version being installed will be populated if and only if they do not exist.

war

Contains the packed IdP warfile for container deployment.

The warfile can be rebuilt at any time by running the build.sh or build.bat script in the bin directory. It wll prompt you to verify the installation directory (which in theory allows for multiple installations).

Backup Directories

Except on Windows, the installation process always preserves old files in a directory called 'old-[date][timestamp]'. This can be helpful for reverting upgrades (but note that the contents of conf, flows, messages, and views are never replaced, though new files may be added).

...

On Windows, if Jetty has been installed there will be extra directories created.

Directory

Explanation

jetty-base

Contains the Jetty configuration.  The only file which may be edited and which is guaranteed to survive upgrades is start.d\idp.ini

If you need to edit anything else in this directory, you should deploy your own container.

static

Contains and data you want to serve statically from the Jetty installation (https://yourHost/). Examples might be favicon.ico

C:\Program Files\Shibboleth\Jetty
or
C:\Program Files (x86)\Shibboleth\Jetty

Contains the Jetty installation.

None of its contents should be edited; it is always deleted and recreated during an upgrade. The file JETTY_VERSION.TXT contains the precise Jetty version.

The log files for the jetty instance are locate in this directory. The can be of interest to debug IdP initialization issues.

C:\Program Files\Shibboleth\ProcRun
or
C:\Program Files (x86)\Shibboleth\ProcRun

--------------------------------------------------------------

Contains the executables that allow the IdP to run as a user mode system service.

None of its contents should be edited; it is always deleted and recreated during an upgrade. The executable shibd_idpw.exe can control the configuration of the user mode system service, but any configuration is not guaranteed to survive an upgrade.

The log file for the procrun service are located in this directory. This records any output from the process until such time as the jetty logging occurs. It is unusual that this has any data of interest.

Configuration Changes (and Non-Changes) from Earlier Versions

...