| 1 | = The Trac Configuration File |
| 2 | |
| 3 | [[TracGuideToc]] |
| 4 | [[PageOutline]] |
| 5 | |
| 6 | Trac is configured by editing the **`trac.ini`** file, located in the `<projectenv>/conf` directory. The `trac.ini` configuration file and its parent directory should be writable by the web server. |
| 7 | |
| 8 | Trac monitors the timestamp of the file to trigger a complete environment reload and flush its caches when the timestamp changes. Most changes to the configuration will be reflected immediately, though changes to the `[components]` or `[logging]` sections will require restarting the web server. You may also need to restart the web server after creating a [#GlobalConfiguration global configuration] file when none was previously present. |
| 9 | |
| 10 | == Global Configuration |
| 11 | |
| 12 | Configuration can be shared among environments using one or more global configuration files. Options in the global configuration will be merged with the environment-specific options, with local options overriding global options. The global configuration file is specified as follows: |
| 13 | {{{#!ini |
| 14 | [inherit] |
| 15 | file = /path/to/global/trac.ini |
| 16 | }}} |
| 17 | Multiple files can be specified using a comma-separated list. |
| 18 | |
| 19 | Note that you can also specify a global option file when creating a new project, by adding the option `--inherit=/path/to/global/trac.ini` to [TracAdmin#initenv trac-admin]'s `initenv` command. If you do not do this but nevertheless intend to use a global option file with your new environment, you will have to go through the newly generated `conf/trac.ini` file and delete the entries that will otherwise override those set in the global file. |
| 20 | |
| 21 | There are two more entries in the [[#inherit-section| [inherit] ]] section, `templates_dir` for sharing global templates and `plugins_dir`, for sharing plugins. Those entries can themselves be specified in the shared configuration file, and in fact, configuration files can even be chained if you specify another `[inherit] file` there. |
| 22 | |
| 23 | Note that the templates found in the `templates/` directory of the TracEnvironment have precedence over those found in `[inherit] templates_dir`. In turn, the latter have precedence over the installed templates, so be careful about what you put there. Notably, if you override a default template, refresh your modifications when you upgrade to a new version of Trac. The preferred way to perform TracInterfaceCustomization is still to write a custom plugin doing an appropriate `ITemplateStreamFilter` transformation. |
| 24 | |
| 25 | == Reference for settings |
| 26 | |
| 27 | This is a brief reference of available configuration options, and their default settings. |
| 28 | |
| 29 | Documentation improvements should be discussed on the [trac:MailingList#Trac-dev trac-dev mailing list] or described in a [trac:NewTicket ticket]. Even better, [trac:TracDev/SubmittingPatches submit a patch] against the docstrings in the code. |
| 30 | {{{ #!comment |
| 31 | Please don't waste your time by editing the HTML code below, changes won't be picked up. Instead, follow the above guidance for suggesting documentation improvements. |
| 32 | }}} |
| 33 | [[TracIni]] |
| 34 | |
| 35 | ---- |
| 36 | See also: TracGuide, TracAdmin, TracEnvironment |