|  | 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 |