| | 1 | = Trac Installation Guide = |
| | 2 | [[TracGuideToc]] |
| | 3 | |
| | 4 | The Trac web-based project management tool is implemented as a CGI- or standalone program. Trac is written in the [http://www.python.org/ Python] programming language |
| | 5 | and uses the [http://www.sqlite.org/ SQLite] embedded database for persistant storage. For HTML rendering, Trac uses the [http://www.clearsilver.net/ Clearsilver] template system. |
| | 6 | |
| | 7 | |
| | 8 | == Requirements == |
| | 9 | |
| | 10 | To install Trac, the following software packages must be installed: |
| | 11 | |
| | 12 | * [http://www.python.org/ Python], version >= 2.1 (>=2.3 recommended). |
| | 13 | * Please keep in mind, that for RPM-based systems you will also need python-devel and python-xml packages. |
| | 14 | * [http://subversion.tigris.org/ Subversion], version >= 1.0. (>=1.1 recommended) |
| | 15 | * [http://svnbook.red-bean.com/svnbook-1.1/ch08s02.html#svn-ch-8-sect-2.3 Subversion Python bindings] (Caveat: Trac uses the [http://www.swig.org/ SWIG] bindings included in the Subversion distribution, '''not''' the [http://pysvn.tigris.org/ PySVN] package!) |
| | 16 | * [http://www.sqlite.org/ SQLite], version 2.8.x or 3.0.x |
| | 17 | * [http://pysqlite.sf.net/ PySQLite], version >= 0.5 but < 1.1.0 (for SQLite 2.8.x), version >= 1.1.1 (for SQLite 3.0.x) |
| | 18 | * [http://clearsilver.net/ Clearsilver], version >= 0.9.3 |
| | 19 | * [http://docutils.sourceforge.net/ docutils], version >= 0.3.3 (??) |
| | 20 | * A CGI-capable web server (tested on [http://httpd.apache.org/ Apache] ) |
| | 21 | |
| | 22 | === Optional Packages === |
| | 23 | |
| | 24 | * [http://www.modpython.org/ mod_python] (see TracModPython) |
| | 25 | |
| | 26 | == Installing Trac == |
| | 27 | Like most Python programs, install the Trac python modules by running the following command at the top of the source directory: |
| | 28 | {{{ |
| | 29 | $ python ./setup.py install |
| | 30 | }}} |
| | 31 | |
| | 32 | This will byte-compile the python source code and install it in the {{{site-packages}}} directory |
| | 33 | of your python installation. The directories {{{cgi-bin}}}, {{{templates}}}, {{{htdocs}}} and {{{wiki-default}}} are all copied to $prefix/share/trac/ . |
| | 34 | |
| | 35 | The script will also install the [wiki:TracAdmin trac-admin] command-line tool, used to create and maintain [wiki:TracEnvironment project environments]. |
| | 36 | |
| | 37 | The [wiki:TracAdmin trac-admin] program is the ''control center'' for Trac. |
| | 38 | |
| | 39 | '''Note:''' you'll need root permissions or equivalent for this step. |
| | 40 | |
| | 41 | For more information on installing Trac on specific platforms, see the [http://projects.edgewall.com/trac/wiki/TracInstallPlatforms TracInstallPlatforms] page (on the main project web site). |
| | 42 | |
| | 43 | === Advanced Users === |
| | 44 | To install Trac in a custom location, and view other advanced install options, run: |
| | 45 | {{{ |
| | 46 | $ python ./setup.py --help |
| | 47 | }}} |
| | 48 | |
| | 49 | == Creating a Project Environment == |
| | 50 | |
| | 51 | TracEnvironment is the backend storage format where Trac stores |
| | 52 | information like wiki pages, tickets, reports, settings, etc. |
| | 53 | An environment consist of a directory containing an SQLite database, |
| | 54 | human-readable configuration file, log-files and attachments. |
| | 55 | |
| | 56 | A new Trac environment is created using [wiki:TracAdmin trac-admin], like: |
| | 57 | |
| | 58 | {{{ |
| | 59 | $ trac-admin /path/to/projectenv initenv |
| | 60 | }}} |
| | 61 | |
| | 62 | [wiki:TracAdmin trac-admin] will ask you where your subversion repository is located and |
| | 63 | where it can find the trac templates directory (the default value should work for a typical install). |
| | 64 | |
| | 65 | '''Note:''' The web server user will require file system write permission to the environment |
| | 66 | directory and all the files inside. '''Remember to set the appropriate permissions.'' |
| | 67 | |
| | 68 | The same applies for the subversion repository files (unless using the [http://svn.collab.net/repos/svn/trunk/notes/fsfs FSFS Subversion backend], something we highly recommend. |
| | 69 | |
| | 70 | == Configuring Apache == |
| | 71 | |
| | 72 | Make "{{{trac/cgi-bin/trac.cgi}}}" accessible to your web server at {{{/cgi-bin/}}}, either by copying/symlinking or use the "{{{trac/cgi-bin/}}}" directory directly. |
| | 73 | |
| | 74 | Edit the apache config and add this snippet, filenames edited to match your installation: |
| | 75 | |
| | 76 | {{{ |
| | 77 | Alias /trac/ "/usr/share/trac/htdocs/" #or where you installed the trac htdocs |
| | 78 | #You have to allow people to read the files in htdocs |
| | 79 | <Directory "/usr/share/trac/htdocs"> |
| | 80 | Options Indexes MultiViews |
| | 81 | AllowOverride None |
| | 82 | Order allow,deny |
| | 83 | Allow from all |
| | 84 | </Directory> |
| | 85 | |
| | 86 | |
| | 87 | # Trac need to know where the database is located |
| | 88 | <Location "/cgi-bin/trac.cgi"> |
| | 89 | SetEnv TRAC_ENV "/path/to/projectenv" |
| | 90 | </Location> |
| | 91 | |
| | 92 | # You need this to allow users to authenticate |
| | 93 | # trac.htpasswd can be created with |
| | 94 | # cmd 'htpasswd -c trac.htpasswd' (UNIX) |
| | 95 | # do 'man htpasswd' to see all the options |
| | 96 | <Location "/cgi-bin/trac.cgi/login"> |
| | 97 | AuthType Basic |
| | 98 | AuthName "trac" |
| | 99 | AuthUserFile /somewhere/trac.htpasswd |
| | 100 | Require valid-user |
| | 101 | </Location> |
| | 102 | }}} |
| | 103 | |
| | 104 | '''Note:''' If Apache complains about the Set''''''Env line make sure you have the Load''''''Module for mod_env uncommented (Apache 1.3). |
| | 105 | |
| | 106 | '''Note:''' When creating a new environment, {{{trac-admin}}} will print a config snippet customized for your project. |
| | 107 | |
| | 108 | '''Note:''' If you are using [http://httpd.apache.org/docs/suexec.html Apache suEXEC] feature see [http://projects.edgewall.com/trac/wiki/ApacheSuexec ApacheSuexec] (on the project web site). |
| | 109 | |
| | 110 | == Using Trac == |
| | 111 | |
| | 112 | '''Congratulations!''' You should now have a running Trac installation at: |
| | 113 | |
| | 114 | http://<yourhostname>/cgi-bin/trac.cgi |
| | 115 | |
| | 116 | You should be able to browse your subversion repository, create tickets, |
| | 117 | view the timeline and use all the features of Trac. |
| | 118 | |
| | 119 | Keep in mind that anonymous users (not logged in) can only access a restricted subset of all Trac features by default. |
| | 120 | |
| | 121 | '''Note:''' If you don't want long, and relatively ugly, URLs, you can prettify them by changing your Apache config. See [http://projects.edgewall.com/trac/wiki/TracPrettyUrls TracPrettyUrls] (on the project website). |
| | 122 | |
| | 123 | Please continue to TracPermissions to learn how to grant additional privileges to authenticated users. |
| | 124 | |
| | 125 | For user documentation, see TracGuide. |
| | 126 | |
| | 127 | ''Enjoy!'' |
| | 128 | |
| | 129 | [http://projects.edgewall.com/trac/wiki/TracTeam The Trac Team] |
| | 130 | |
| | 131 | ---- |
| | 132 | See also: TracGuide, TracUpgrade, TracPermissions, TracInstallPlatforms, TracModPython |