Files & Folders

This article gives a description about key files and folders within PhenixID Server. Files or folders not mentioned in this article is still a part of the system and should be left alone. 

Folder structure

After installing the PhenixID server the root directory should look like the image below.

Folder structure

Folder

  • bin - contains start- and stop executables. Content will differ depending on platform.
    Any changes made to files in this folder or any additions to this folder will be overwritten during upgrade.
  • classes - contains system configuration files. Files within this directory should not be changed unless instructed by PhenixID.
  • config - contains system configuration files. The files control default settings for logging, clustering and bootstraping.
  • data - will at installation be empty. After first startup the system will create a default database structure used for reporting, tokens & lockout.
  • lib - contains minimum required jar files to start PhenixID server. Adding jar files in this directory will allow for addons or extensions to PhenixID server.
  • license - must contain the license file provided by PhenixID
  • logs - default location for log files
  • mods - will be empty at startup. After a successful start-up, deployed modules are unpacked and installed to this folder
  • repo - contains entire catalogue of modules. Modules are stored compressed to save diskspace. Modules removed from mods will be extracted from repo at restart.
  • resources - contains files to be used during runtime execution. Files placed here will be exposed by the system to other modules and can be referenced by filename. These files are typically keystores, saml metadata files and certificates.

Explanation of important files

  • classes/cluster.xml - contains default settings when running PhenixID server in a clustered state.
  • config/boot.json - contains bootstrap configuration such as default modules to deploy and the http port for the admin UI. Settings in this file will not be shown in UI.
  • config/log4j.xml - log settings file. The default log setting is INFO. This setting will only provide error messages and limited runtime information. By changing settings in this file you can get more detailed information. Note that changes in this file will be picked up without system restart. Recommended   log setting is INFO.
  • config/phenix-store.json - The system configuration file. Contains all additional runtime configuration not found in boot.json. The admin UI reads and saves changes from/to this file. Changes in this file is picked up without system restart.