5 | | Trac is written in the Python programming language and needs a database, [http://sqlite.org/ SQLite], [http://www.postgresql.org/ PostgreSQL], or [http://mysql.com/ MySQL]. For HTML rendering, Trac uses the [http://genshi.edgewall.org Genshi] templating system. |
6 | | |
7 | | Since version 0.12, Trac can also be localized, and there is probably a translation available in your language. If you want to use the Trac interface in other languages, then make sure you have installed the optional package [#OtherPythonPackages Babel]. Pay attention to the extra steps for localization support in the [#InstallingTrac Installing Trac] section below. Lacking Babel, you will only get the default English version. |
8 | | |
9 | | If you're interested in contributing new translations for other languages or enhancing the existing translations, then please have a look at [trac:wiki:TracL10N TracL10N]. |
10 | | |
11 | | What follows are generic instructions for installing and setting up Trac. While you may find instructions for installing Trac on specific systems at [trac:TracInstallPlatforms TracInstallPlatforms] on the main Trac site, please '''first read through these general instructions''' to get a good understanding of the tasks involved. |
| 4 | Trac is written in the Python programming language and needs a database, [https://sqlite.org/ SQLite], [https://www.postgresql.org/ PostgreSQL], or [https://mysql.com/ MySQL]. For HTML rendering, Trac uses the [http://jinja.pocoo.org Jinja2] templating system, though Genshi templates are supported until Trac 1.5.1. |
| 5 | |
| 6 | Trac can also be localized, and there is probably a translation available in your language. If you want to use the Trac interface in other languages, then make sure you have installed the optional package [#OtherPythonPackages Babel]. Pay attention to the extra steps for localization support in the [#InstallingTrac Installing Trac] section below. Lacking Babel, you will only get the default English version. |
| 7 | |
| 8 | If you're interested in contributing new translations for other languages or enhancing the existing translations, please have a look at [trac:wiki:TracL10N TracL10N]. |
| 9 | |
| 10 | These are generic instructions for installing and setting up Trac. While you may find instructions for installing Trac on specific systems at [trac:TracInstallPlatforms TracInstallPlatforms], please '''first read through these general instructions''' to get a good understanding of the tasks involved. |
21 | | * [http://www.python.org/ Python], version >= 2.5 and < 3.0 |
22 | | (note that we dropped the support for Python 2.4 in this release) |
23 | | * [http://pypi.python.org/pypi/setuptools setuptools], version >= 0.6 |
24 | | * [http://genshi.edgewall.org/wiki/Download Genshi], version >= 0.6 |
25 | | |
26 | | You also need a database system and the corresponding python bindings. The database can be either SQLite, PostgreSQL or MySQL. |
| 19 | * [https://www.python.org/ Python], version >= 3.5 |
| 20 | * [https://pypi.org/project/setuptools setuptools], version > 5.6 |
| 21 | * [https://pypi.org/project/Jinja2 Jinja2], version >= 2.9.3 |
| 22 | |
| 23 | You also need a database system and the corresponding Python bindings. The database can be either SQLite, PostgreSQL or MySQL. |
44 | | Trac works well with MySQL, provided you follow the guidelines: |
45 | | |
46 | | * [http://mysql.com/ MySQL] or [http://mariadb.org/ MariaDB], version 5.0 or later |
47 | | * [http://sf.net/projects/mysql-python MySQLdb], version 1.2.2 or later |
48 | | |
49 | | Given the caveats and known issues surrounding MySQL, read the [trac:MySqlDb] page before creating the database. |
| 41 | Trac works well with MySQL, provided you use the following: |
| 42 | |
| 43 | * [https://mysql.com/ MySQL], version 5.0 or later |
| 44 | * [https://pypi.org/project/PyMySQL PyMySQL] |
| 45 | |
| 46 | Given the caveats and known issues surrounding MySQL, read carefully the [trac:MySqlDb] page before creating the database. |
53 | | ==== Version Control System |
54 | | |
55 | | ===== Subversion |
56 | | * [http://subversion.apache.org/ Subversion], 1.5.x or later and the '''corresponding''' Python bindings. Older versions starting from 1.0, like 1.2.4, 1.3.2 or 1.4.2, etc. may still work. For troubleshooting information, check the [trac:TracSubversion#Troubleshooting TracSubversion] page. |
57 | | |
58 | | There are [http://subversion.apache.org/packages.html pre-compiled SWIG bindings] available for various platforms. (Good luck finding precompiled SWIG bindings for any Windows package at that listing. [trac:TracSubversion] points you to [http://alagazam.net Alagazam], which works for me under Python 2.6.) |
59 | | |
60 | | Note that Trac '''doesn't''' use [http://pysvn.tigris.org/ PySVN], neither does it work yet with the newer `ctype`-style bindings. |
61 | | |
62 | | '''Note:''' if using Subversion, Trac must be installed on the '''same machine'''. Remote repositories are currently [trac:ticket:493 not supported]. |
63 | | |
64 | | ===== Git |
65 | | * [http://git-scm.com/ Git] 1.5.6 or later. |
66 | | |
67 | | More information is available on the [trac:TracGit] page. |
68 | | |
69 | | ===== Others |
70 | | |
71 | | Support for other version control systems is provided via third-parties. See [trac:PluginList#VersionControlSystems] and [trac:VersionControlSystem]. |
| 50 | ==== Subversion |
| 51 | |
| 52 | [https://subversion.apache.org/ Subversion], 1.14.x or later and the '''corresponding''' Python bindings. |
| 53 | |
| 54 | There are [https://subversion.apache.org/packages.html pre-compiled SWIG bindings] available for various platforms. See [trac:TracSubversion#GettingSubversion getting Subversion] for more information. |
| 55 | |
| 56 | {{{#!div style="border: 1pt dotted; margin: 1em" |
| 57 | **Note:** |
| 58 | * Trac '''doesn't''' use [https://pypi.org/project/PySVN PySVN], nor does it work yet with the newer `ctype`-style bindings. |
| 59 | * If using Subversion, Trac must be installed on the '''same machine'''. Remote repositories are [trac:ticket:493 not supported]. |
| 60 | }}} |
| 61 | |
| 62 | For troubleshooting information, see the [trac:TracSubversion#Troubleshooting TracSubversion] page. |
| 63 | |
| 64 | ==== Git |
| 65 | |
| 66 | [https://git-scm.com/ Git] 1.5.6 or later is supported. More information is available on the [trac:TracGit] page. |
| 67 | |
| 68 | ==== Other Version Control Systems |
| 69 | |
| 70 | Support for other version control systems is provided via third-party plugins. See [trac:PluginList#VersionControlSystems] and [trac:VersionControlSystem]. |
82 | | * a [http://www.fastcgi.com/ FastCGI]-capable web server (see TracFastCgi) |
83 | | * an [http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP]-capable web |
84 | | server (see [trac:TracOnWindowsIisAjp TracOnWindowsIisAjp]) |
85 | | * a FastCGI and FastCGI-to-WSGI gateway (see [trac:TracOnWindowsIisWfastcgi]) |
86 | | * a CGI-capable web server (see TracCgi), but //usage of Trac as a cgi script |
87 | | is highly discouraged//, better use one of the previous options. |
88 | | |
| 81 | * a [https://fastcgi-archives.github.io FastCGI]-capable web server (see TracFastCgi) |
| 82 | * an [https://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP]-capable web server (see [trac:TracOnWindowsIisAjp TracOnWindowsIisAjp]) |
| 83 | * Microsoft IIS with FastCGI and a FastCGI-to-WSGI gateway (see [trac:CookBook/Installation/TracOnWindowsIisWfastcgi IIS with FastCGI]) |
| 84 | * a CGI-capable web server (see TracCgi), '''but usage of Trac as a cgi script is highly discouraged''', better use one of the previous options. |
| 85 | |
91 | | * [http://babel.edgewall.org Babel], version 0.9.5, 0.9.6 or >= 1.3 |
92 | | needed for localization support |
93 | | * [http://docutils.sourceforge.net/ docutils], version >= 0.3.9 |
94 | | for WikiRestructuredText. |
95 | | * [http://pygments.org Pygments] for |
96 | | [TracSyntaxColoring syntax highlighting]. |
97 | | [http://silvercity.sourceforge.net/ SilverCity] and/or |
98 | | [http://gnu.org/software/enscript/enscript.html Enscript] may still be used |
99 | | but are deprecated and you really should be using Pygments. |
100 | | * [http://pytz.sf.net pytz] to get a complete list of time zones, |
101 | | otherwise Trac will fall back on a shorter list from |
102 | | an internal time zone implementation. |
| 88 | * [http://babel.pocoo.org Babel], version >= 2.2, needed for localization support |
| 89 | * [http://pytz.sourceforge.net pytz] to get a complete list of time zones, otherwise Trac will fall back on a shorter list from an internal time zone implementation. Installing Babel will install pytz. |
| 90 | * [http://docutils.sourceforge.net docutils], version >= 0.14, for WikiRestructuredText. |
| 91 | * [http://pygments.org Pygments], version >= 1.0, for [TracSyntaxColoring syntax highlighting]. |
| 92 | * [https://pypi.org/project/textile Textile], version >= 2.3, for rendering the [https://github.com/textile/python-textile Textile markup language]. |
| 93 | * [https://pypi.org/project/passlib passlib] on Windows to decode [TracStandalone#BasicAuthorization:Usingahtpasswdpasswordfile htpasswd formats] other than `SHA-1`. |
| 94 | * [https://pypi.org/project/pyreadline pyreadline] on Windows for trac-admin [TracAdmin#InteractiveMode command completion]. |
114 | | It is assumed throughout this guide that you have elevated permissions as the `root` user, or by prefixing commands with `sudo`. The umask `0022` should be used for a typical installation on a Unix-based platform. |
115 | | |
116 | | === Using `easy_install` |
117 | | |
118 | | Trac can be installed from [https://pypi.python.org/pypi/Trac PyPI] or the Subversion repository using [http://pypi.python.org/pypi/setuptools setuptools]. |
119 | | |
120 | | A few command-line examples: |
121 | | |
122 | | - Install the latest stable version of Trac: |
123 | | {{{#!sh |
124 | | $ easy_install Trac |
125 | | }}} |
126 | | - Install latest development version: |
127 | | {{{#!sh |
128 | | $ easy_install http://download.edgewall.org/trac/Trac-latest-dev.tar.gz |
129 | | }}} |
130 | | Note that in this case you won't have the possibility to run a localized version of Trac; |
131 | | either use a released version or install from source. |
132 | | |
133 | | More information can be found on the [trac:wiki:setuptools setuptools] page. |
134 | | |
135 | | {{{#!div style="border: 1pt dotted; margin: 1em" |
136 | | **Setuptools Warning:** If the version of your setuptools is in the range 5.4 through 5.6, the environment variable `PKG_RESOURCES_CACHE_ZIP_MANIFESTS` must be set in order to avoid significant performance degradation. More information may be found in [#DeployingTrac Deploying Trac]. |
137 | | }}} |
| 106 | It is assumed throughout this guide that you have elevated permissions as the `root` user or by prefixing commands with `sudo`. The umask `0002` should be used for a typical installation on a Unix-based platform. |
141 | | 'pip' is an easy_install replacement that is very useful to quickly install Python packages. |
142 | | To get a Trac installation up and running in less than 5 minutes: |
143 | | |
144 | | Assuming you want to have your entire pip installation in `/opt/user/trac`: |
145 | | |
146 | | - |
147 | | {{{#!sh |
148 | | $ pip install trac psycopg2 |
149 | | }}} |
150 | | or: |
151 | | - |
152 | | {{{#!sh |
153 | | $ pip install trac mysql-python |
154 | | }}} |
155 | | |
156 | | Make sure your OS specific headers are available for pip to automatically build PostgreSQL (`libpq-dev`) or MySQL (`libmysqlclient-dev`) bindings. |
157 | | |
158 | | pip will automatically resolve all dependencies (like Genshi, pygments, etc.), download the latest packages from pypi.python.org and create a self contained installation in `/opt/user/trac`. |
159 | | |
160 | | All commands (`tracd`, `trac-admin`) are available in `/opt/user/trac/bin`. This can also be leveraged for `mod_python` (using `PythonHandler` directive) and `mod_wsgi` (using `WSGIDaemonProcess` directive). |
161 | | |
162 | | Additionally, you can install several Trac plugins (listed [https://pypi.python.org/pypi?:action=browse&show=all&c=516 here]) through pip. |
163 | | |
164 | | === From source |
165 | | |
166 | | Using the python-typical setup at the top of the source directory also works. You can obtain the source for a .tar.gz or .zip file corresponding to a release (e.g. `Trac-1.0.tar.gz`) from the [trac:TracDownload] page, or you can get the source directly from the repository. See [trac:TracRepositories#OfficialSubversionrepository TracRepositories] for details. |
167 | | |
168 | | {{{#!sh |
169 | | $ python ./setup.py install |
170 | | }}} |
171 | | |
172 | | You will need root permissions or equivalent for this step. |
173 | | |
174 | | This will byte-compile the Python source code and install it as an .egg file or folder in the `site-packages` directory |
175 | | of your Python installation. The .egg will also contain all other resources needed by standard Trac, such as `htdocs` and `templates`. |
176 | | |
177 | | If you install from source and want to make Trac available in other languages, make sure Babel is installed. Only then, perform the `install` (or simply redo the `install` once again afterwards if you realize Babel was not yet installed): |
178 | | {{{#!sh |
179 | | $ python ./setup.py install |
180 | | }}} |
181 | | |
182 | | Alternatively, you can run `bdist_egg` and copy the .egg from `dist/` to the place of your choice, or you can create a Windows installer (`bdist_wininst`). |
| 110 | `pip` is the modern Python package manager and is included in Python distributions. `pip` will automatically resolve the //required// dependencies (Jinja2 and setuptools) and download the latest packages from pypi.org. |
| 111 | |
| 112 | You can also install directly from a source package. You can obtain the source in a tar or zip from the [trac:TracDownload] page. After extracting the archive, change to the directory containing `setup.py` and run: |
| 113 | |
| 114 | {{{#!sh |
| 115 | $ pip install . |
| 116 | }}} |
| 117 | |
| 118 | `pip` supports numerous other install mechanisms. It can be passed the URL of an archive or other download location. Here are some examples: |
| 119 | |
| 120 | * Install the latest development version from a tar archive: |
| 121 | {{{#!sh |
| 122 | $ pip install https://download.edgewall.org/trac/Trac-latest-dev.tar.gz |
| 123 | }}} |
| 124 | * Install the unreleased 1.4-stable from subversion: |
| 125 | {{{#!sh |
| 126 | $ pip install svn+https://svn.edgewall.org/repos/trac/branches/1.4-stable |
| 127 | }}} |
| 128 | * Install the latest development preview (//not recommended for production installs//): |
| 129 | {{{#!sh |
| 130 | $ pip install --find-links=https://trac.edgewall.org/wiki/TracDownload Trac |
| 131 | }}} |
| 132 | |
| 133 | The optional dependencies can be installed from PyPI using `pip`: |
| 134 | {{{#!sh |
| 135 | $ pip install babel docutils pygments textile |
| 136 | }}} |
| 137 | |
| 138 | The optional dependencies can alternatively be |
| 139 | specified using the `extras` keys in the setup file: |
| 140 | {{{#!sh |
| 141 | $ pip install Trac[babel,rest,pygments,textile] |
| 142 | }}} |
| 143 | |
| 144 | `rest` is the extra that installs the `docutils` |
| 145 | dependency. |
| 146 | |
| 147 | Include `mysql` or `psycopg2-binary` in the |
| 148 | list if using the MySQL or PostgreSQL database. |
| 149 | |
| 150 | Additionally, you can install several Trac plugins from PyPI (listed [https://pypi.org/search/?c=Framework+%3A%3A+Trac here]) using pip. See TracPlugins for more information. |
190 | | Trac may be available in the package repository for your platform. Note however, that the version provided by the package manager may not be the latest release. |
191 | | |
192 | | === Advanced `easy_install` Options |
193 | | |
194 | | To install Trac to a custom location, or find out about other advanced installation options, run: |
195 | | {{{#!sh |
196 | | $ easy_install --help |
197 | | }}} |
198 | | |
199 | | Also see [http://docs.python.org/2/install/index.html Installing Python Modules] for detailed information. |
200 | | |
201 | | Specifically, you might be interested in: |
202 | | {{{#!sh |
203 | | $ easy_install --prefix=/path/to/installdir |
204 | | }}} |
205 | | |
206 | | or, if installing Trac on a Mac OS X system: |
207 | | {{{#!sh |
208 | | $ easy_install --prefix=/usr/local --install-dir=/Library/Python/2.5/site-packages |
209 | | }}} |
210 | | |
211 | | '''Note''': If installing on Mac OS X 10.6 running {{{ easy_install http://svn.edgewall.org/repos/trac/trunk }}} will install into {{{ /usr/local }}} and {{{ /Library/Python/2.5/site-packages }}} by default. |
212 | | |
213 | | The above will place your `tracd` and `trac-admin` commands into `/usr/local/bin` and will install the Trac libraries and dependencies into `/Library/Python/2.5/site-packages`, which is Apple's preferred location for third-party Python application installations. |
| 158 | Trac may be available in your platform's package repository. However, your package manager may not provide the latest release of Trac. |
224 | | [TracAdmin trac-admin] will prompt you for the information it needs to create the environment, such as the name of the project and the [TracEnvironment#DatabaseConnectionStrings database connection string]. If you're not sure what to specify for one of these options, just press `<Enter>` to use the default value. |
225 | | |
226 | | Using the default database connection string in particular will always work as long as you have SQLite installed. |
227 | | For the other [trac:DatabaseBackend database backends] you should plan ahead and already have a database ready to use at this point. |
228 | | |
229 | | Since 0.12, Trac doesn't ask for a [TracEnvironment#SourceCodeRepository source code repository] anymore when creating an environment. Repositories can be [TracRepositoryAdmin added] afterwards, and support for specific version control systems is disabled by default. |
230 | | |
231 | | Also note that the values you specify here can be changed later by directly editing the [TracIni conf/trac.ini] configuration file. |
232 | | |
233 | | {{{#!div style="border: 1pt dotted; margin: 1em" |
234 | | **Filesystem Warning:** When selecting the location of your environment, make sure that the filesystem on which the environment directory resides supports sub-second timestamps (i.e. **not** `ext2` or `ext3` on Linux, or HFS+ on OSX), as the modification time of the `conf/trac.ini` file will be monitored to decide whether an environment restart is needed or not. A too coarse-grained timestamp resolution may result in inconsistencies in Trac < 1.0.2. The best advice is to opt for a platform with sub-second timestamp resolution, regardless of the Trac version. |
235 | | }}} |
| 169 | [TracAdmin trac-admin] will prompt you for the information it needs to create the environment: the name of the project and the [TracEnvironment#DatabaseConnectionStrings database connection string]. If you're not sure what to specify for any of these options, just press `<Enter>` to use the default value. |
| 170 | |
| 171 | Using the default database connection string will always work as long as you have SQLite installed. For the other [trac:DatabaseBackend database backends] you should plan ahead and already have a database ready to use at this point. |
| 172 | |
| 173 | Also note that the values you specify here can be changed later using TracAdmin or directly editing the [TracIni conf/trac.ini] configuration file. |
250 | | {{{#!div style="border: 1pt dotted; margin: 1em" |
251 | | **Setuptools Warning:** If the version of your setuptools is in the range 5.4 through 5.6, the environment variable `PKG_RESOURCES_CACHE_ZIP_MANIFESTS` must be set in order to avoid significant performance degradation. |
252 | | |
253 | | If running `tracd`, the environment variable can be set system-wide or for just the user that runs the `tracd` process. There are several ways to accomplish this in addition to what is discussed here, and depending on the distribution of your OS. |
254 | | |
255 | | To be effective system-wide a shell script with the `export` statement may be added to `/etc/profile.d`. To be effective for a user session the `export` statement may be added to `~/.profile`. |
256 | | {{{#!sh |
257 | | export PKG_RESOURCES_CACHE_ZIP_MANIFESTS=1 |
258 | | }}} |
259 | | |
260 | | Alternatively, the variable can be set in the shell before executing `tracd`: |
261 | | {{{#!sh |
262 | | $ PKG_RESOURCES_CACHE_ZIP_MANIFESTS=1 tracd --port 8000 /path/to/myproject |
263 | | }}} |
264 | | |
265 | | If running the Apache web server, !Ubuntu/Debian users should add the `export` statement to `/etc/apache2/envvars`. !RedHat/CentOS/Fedora should can add the `export` statement to `/etc/sysconfig/httpd`. |
266 | | }}} |
267 | | |
292 | | In order for Trac to function properly with FastCGI you need to have a `trac.fcgi` file and for mod_wsgi a `trac.wsgi` file. These are Python scripts which load the appropriate Python code. They can be generated using the `deploy` option of [TracAdmin trac-admin]. |
293 | | |
294 | | There is, however, a bit of a chicken-and-egg problem. The [TracAdmin trac-admin] command requires an existing environment to function, but complains if the deploy directory already exists. This is a problem, because environments are often stored in a subdirectory of the deploy. The solution is to do something like this: |
295 | | {{{#!sh |
296 | | $ mkdir -p /usr/share/trac/projects/my-project |
297 | | $ trac-admin /usr/share/trac/projects/my-project initenv |
298 | | $ trac-admin /usr/share/trac/projects/my-project deploy /tmp/deploy |
299 | | $ mv /tmp/deploy/* /usr/share/trac |
300 | | }}} |
301 | | |
302 | | Don't forget to check that the web server has the execution right on scripts in the `/usr/share/trac/cgi-bin` directory. |
| 212 | Application scripts for CGI, FastCGI and mod-wsgi can be generated using the [TracAdmin trac-admin] `deploy` command: |
| 213 | [[TracAdminHelp(deploy)]] |
| 214 | |
| 215 | Grant the web server execution right on scripts in the `cgi-bin` directory. |
| 216 | |
| 217 | For example, the following yields a typical directory structure: |
| 218 | {{{#!sh |
| 219 | $ mkdir -p /var/trac |
| 220 | $ trac-admin /var/trac/<project> initenv |
| 221 | $ trac-admin /var/trac/<project> deploy /var/www |
| 222 | $ ls /var/www |
| 223 | cgi-bin htdocs |
| 224 | $ chmod ugo+x /var/www/cgi-bin/* |
| 225 | }}} |
312 | | A single `/chrome` alias can used if the static resources are extracted for all plugins. This means that the `deploy` command must be executed after installing or updating a plugin that provides static resources, or after modifying resources in the `$env/htdocs` directory. This is probably appropriate for most installations but may not be what you want if, for example, you wish to upload plugins through the //Plugins// administration page. |
313 | | |
314 | | The resources are extracted using the [TracAdmin trac-admin]` <environment> deploy` command: |
315 | | [[TracAdminHelp(deploy)]] |
316 | | |
317 | | The target `<directory>` will contain an `htdocs` directory with: |
| 235 | A single `/chrome` alias can used if the static resources are extracted for all plugins. This means that the `deploy` command (discussed in the previous section) must be executed after installing or updating a plugin that provides static resources, or after modifying resources in the `$env/htdocs` directory. This is probably appropriate for most installations but may not be what you want if, for example, you wish to upload plugins through the //Plugins// administration page. |
| 236 | |
| 237 | The `deploy` command creates an `htdocs` directory with: |
404 | | * [wiki:TracModWSGI#ConfiguringAuthentication TracModWSGI#ConfiguringAuthentication] if you use the Apache web server, with any of its front end: `mod_wsgi` of course, but the same instructions applies also for `mod_python`, `mod_fcgi` or `mod_fastcgi`. |
405 | | * TracFastCgi if you are using another web server with FCGI support, such as Cherokee, Lighttpd, !LiteSpeed, nginx. |
406 | | |
407 | | The following document also contains some useful information for beginners: [trac:TracAuthenticationIntroduction]. |
| 324 | * [wiki:TracModWSGI#ConfiguringAuthentication TracModWSGI#ConfiguringAuthentication] if you use the Apache web server, with any of its front end: `mod_wsgi`, `mod_python`, `mod_fcgi` or `mod_fastcgi`. |
| 325 | * TracFastCgi if you're using another web server with FCGI support (Cherokee, Lighttpd, !LiteSpeed, nginx) |
| 326 | |
| 327 | [trac:TracAuthenticationIntroduction] also contains some useful information for beginners. |
416 | | This user will have an "Admin" entry menu that will allow you to administrate your Trac project. |
417 | | |
418 | | == Finishing the install |
419 | | |
420 | | === Enable version control components |
421 | | |
422 | | Support for version control systems is provided by optional components in Trac and the components are disabled by default //(since 1.0)//. Subversion and Git must be explicitly enabled if you wish to use them. See TracRepositoryAdmin for more details. |
423 | | |
424 | | The version control systems are enabled by adding the following to the `[components]` section of your [TracIni#components-section trac.ini], or enabling the components in the "Plugins" admin panel: |
425 | | |
426 | | {{{#!ini |
427 | | [components] |
428 | | tracopt.versioncontrol.svn.* = enabled |
429 | | }}} |
430 | | |
431 | | {{{#!ini |
432 | | [components] |
433 | | tracopt.versioncontrol.git.* = enabled |
434 | | }}} |
435 | | |
436 | | After enabling the components, repositories can be configured through the //Repositories// admin panel or by editing [TracIni#repositories-section trac.ini]. Automatic changeset references can be inserted as ticket comments by configuring [TracRepositoryAdmin#Automaticchangesetreferencesintickets CommitTicketUpdater]. |
437 | | |
438 | | === Using Trac |
| 335 | This user will have an //Admin// navigation item that directs to pages for administering your Trac project. |
| 336 | |
| 337 | == Configuring Trac |
| 338 | |
| 339 | Configuration options are documented on the TracIni page. |
| 340 | |
| 341 | TracRepositoryAdmin provides information on configuring version control repositories for your project. |
| 342 | |
| 343 | In addition to the optional version control backends, Trac provides several optional features that are disabled by default: |
| 344 | * [TracFineGrainedPermissions#AuthzPolicy Fine-grained permission policy] |
| 345 | * [TracPermissions#CreatingNewPrivileges Custom permissions] |
| 346 | * [TracTickets#deleter Ticket deletion] |
| 347 | * [TracTickets#cloner Ticket cloning] |
| 348 | * [TracRepositoryAdmin#CommitTicketUpdater Ticket changeset references] |
| 349 | |
| 350 | == Using Trac |