The most common location for the configuration files will be /etc/fusionforge/config.ini and the files under /etc/fusionforge/config.ini.d/*. Note that in that directory, only files with extension ".ini" and those without an extension will be taken into account (so that files such as foo.old, foo.bak and so on are ignored). Note also that you can reference other files and directories by adding extra_config_files and extra_config_dirs variables (see below) to one of the standard files.
The config files are standard *.ini files as widely used in Windows, PHP and other systems. It's basically a key/value store, where there are different namespaces for the keys called sections. The variables controlling the features in the core of FusionForge are in section [core], the variables controlling the "extratabs" plugin are in section [extratabs], and so on.
For values storing a string, quoting is required when the string contains spaces, or quotes, or any kind of special character. For boolean variables, some flexibility is available, and the value can be stored as "true", "1", "on", "yes", "false", "0", "off" or "no".
Comments start with a semicolon and extend to the end of the line. Empty lines are ignored.
Variables can reference one another with the "$section/variable" syntax. For instance, in section [scmsvn], the default value for repos_path is defined in relation to the value of chroot in section [core] with the following syntax: repos_path = "$core/chroot/scmrepos/svn". If the chroot variable is set to /srv/fusionforge/chroot, then the repos_path value will automatically contain /srv/fusionforge/chroot/scmrepos/svn; other variables will also be updated accordingly, without needing to set their individual values in the config files.
- extra_config_dirs: directories containing other configuration files to read.
- extra_config_files: other individual configuration files to read.
- project_registration_restricted (boolean): whether to allow any registered user to request projects (false) or restrict project registration to those users that are allowed to approve projects (true).
- use_ssl (boolean): whether to use https:// URLs (instead of http:// ones) when possible.