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