|   | 1 | = The Trac Configuration File =  | 
                  
                          |   | 2 |   | 
                  
                          |   | 3 |  ''[Note To Editors] Please discuss documentation changes in the [#Discussion] section. Even better, send us [TracDev/SubmittingPatches documentation patches] against the ''code'' (i.e. where the configuration entries are documented), either on Trac-dev or on new tickets. ''  | 
                  
                          |   | 4 |   | 
                  
                          |   | 5 | [[TracGuideToc]]  | 
                  
                          |   | 6 | [[PageOutline]]  | 
                  
                          |   | 7 |   | 
                  
                          |   | 8 | Trac configuration is done by editing the '''`trac.ini`''' config file, located in `<projectenv>/conf/trac.ini`.  Changes to the configuration are usually 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 global configuration file when none was previously present.  | 
                  
                          |   | 9 |   | 
                  
                          |   | 10 | The `trac.ini` configuration file and its parent directory should be writable by the web server, as Trac currently relies on the possibility to trigger a complete environment reload to flush its caches.  | 
                  
                          |   | 11 |   | 
                  
                          |   | 12 | == Global Configuration ==  | 
                  
                          |   | 13 |   | 
                  
                          |   | 14 | In versions prior to 0.11, the global configuration was by default located in `$prefix/share/trac/conf/trac.ini` or /etc/trac/trac.ini, depending on the distribution. If you're upgrading, you may want to specify that file to inherit from.  Literally, when you're upgrading to 0.11, you have to add an `[inherit]` section to your project's `trac.ini` file. Additionally, you have to move your customized templates and common images from `$prefix/share/trac/...` to the new location.  | 
                  
                          |   | 15 |   | 
                  
                          |   | 16 | Global options will be merged with the environment-specific options, where local options override global options. The options file is specified as follows:  | 
                  
                          |   | 17 | {{{  | 
                  
                          |   | 18 | [inherit]  | 
                  
                          |   | 19 | file = /path/to/global/trac.ini  | 
                  
                          |   | 20 | }}}  | 
                  
                          |   | 21 | Multiple files can be specified using a comma-separated list.  | 
                  
                          |   | 22 |   | 
                  
                          |   | 23 | 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.  | 
                  
                          |   | 24 |   | 
                  
                          |   | 25 | 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.  | 
                  
                          |   | 26 |   | 
                  
                          |   | 27 | 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 be sure to refresh your modifications when you upgrade to a new version of Trac (the preferred way to perform TracInterfaceCustomization being still to write a custom plugin doing an appropriate `ITemplateStreamFilter` transformation).  | 
                  
                          |   | 28 |   | 
                  
                          |   | 29 | == Reference for settings  | 
                  
                          |   | 30 |   | 
                  
                          |   | 31 | This is a brief reference of available configuration options, and their default settings.  | 
                  
                          |   | 32 |   | 
                  
                          |   | 33 | [[TracIni]]  | 
                  
                          |   | 34 |   | 
                  
                          |   | 35 | ----  | 
                  
                          |   | 36 | See also: TracGuide, TracAdmin, TracEnvironment  |