annotate examples/trac/wiki-default/TracInstall @ 39:93b4dcbafd7b trunk

Copy Trac to main branch.
author cmlenz
date Mon, 03 Jul 2006 18:53:27 +0000
parents
children
rev   line source
39
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
1 = Trac Installation Guide =
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
2 [[TracGuideToc]]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
3
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
4 Trac is a lightweight project management tool that is implemented as a web-based application. Trac is written in the Python programming language and can use [http://sqlite.org/ SQLite] or [http://www.postgresql.org/ PostgreSQL] as database. For HTML rendering, Trac uses the [http://www.clearsilver.net/ Clearsilver] templating system.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
5
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
6 What follows are generic instructions for installing and setting up Trac and its requirements. While you can find instructions for installing Trac on specific systems at [http://projects.edgewall.com/trac/wiki/TracInstallPlatforms TracInstallPlatforms] on the main Trac site, please be sure to first read through these general instructions to get a good understanding of the tasks involved.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
7
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
8 == Requirements ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
9
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
10 To install Trac, the following software packages must be installed:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
11
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
12 * [http://www.python.org/ Python], version >= 2.3.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
13 * Python 2.4 is not supported on Windows since there are no Subversion bindings available for it.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
14 * For RPM-based systems you might also need the `python-devel` and `python-xml` packages.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
15 * [http://subversion.tigris.org/ Subversion], version >= 1.0. (>= 1.1 recommended) and corresponding [http://svnbook.red-bean.com/svnbook-1.1/ch08s02.html#svn-ch-8-sect-2.3 Python bindings]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
16 * Trac uses the [http://www.swig.org/ SWIG] bindings included in the Subversion distribution, '''not''' [http://pysvn.tigris.org/ PySVN] (which is sometimes confused with the standard SWIG bindings).
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
17 * If Subversion was already installed without the SWIG bindings, you'll need to re-`configure` Subversion and `make swig-py`, `make install-swig-py`.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
18 * [http://www.clearsilver.net/ ClearSilver], version >= 0.9.3
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
19 * With python-bindings (`./configure --with-python=/usr/bin/python`)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
20
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
21 === For SQLite ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
22
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
23 * [http://www.sqlite.org/ SQLite], version 2.8.x or 3.x
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
24 * [http://pysqlite.org/ PySQLite]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
25 * version 1.0.x (for SQLite 2.8.x)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
26 * version 1.1.x or 2.x (for SQLite 3.x)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
27
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
28 === For PostgreSQL ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
29
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
30 * [http://www.postgresql.org/ PostgreSQL]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
31 * [http://initd.org/projects/psycopg1 psycopg1], [http://initd.org/projects/psycopg2 psycopg2], or [http://pypgsql.sourceforge.net/ pyPgSQL]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
32
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
33 === Optional Requirements ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
34
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
35 * A CGI-capable web server (see TracCgi), or
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
36 * a [http://www.fastcgi.com/ FastCGI]-capable web server (see TracFastCgi), or
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
37 * [http://httpd.apache.org/ Apache] with [http://www.modpython.org/ mod_python 3.1.3+] (see TracModPython)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
38 * [http://peak.telecommunity.com/DevCenter/setuptools setuptools], version >= 0.5a13 for using plugins (see TracPlugins)
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
39 * [http://docutils.sourceforge.net/ docutils], version >= 0.3.3 for WikiRestructuredText.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
40 * [http://silvercity.sourceforge.net/ SilverCity] and/or [http://www.gnu.org/software/enscript/enscript.html Enscript] for [wiki:TracSyntaxColoring syntax highlighting].
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
41
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
42 '''Attention''': The various available versions of these dependencies are not necessarily interchangable, so please pay attention to the version numbers above. If you are having trouble getting Trac to work please double-check all the dependencies before asking for help on the [http://projects.edgewall.com/trac/wiki/MailingList MailingList] or [http://projects.edgewall.com/trac/wiki/IrcChannel IrcChannel].
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
43
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
44 Please refer to the documentation of these packages to find out how they are best installed. In addition, most of the [http://projects.edgewall.com/trac/wiki/TracInstallPlatforms platform-specific instructions] also describe the installation of the dependencies.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
45
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
46 == Installing Trac ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
47
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
48 Like most Python programs, the Trac Python package is installed by running the following command at the top of the source directory:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
49 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
50 $ python ./setup.py install
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
51 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
52
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
53 ''Note: you'll need root permissions or equivalent for this step.''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
54
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
55 This will byte-compile the python source code and install it in the `site-packages` directory
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
56 of your Python installation. The directories `cgi-bin`, `templates`, `htdocs`, `wiki-default` and `wiki-macros` are all copied to `$prefix/share/trac/.`
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
57
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
58 The script will also install the [wiki:TracAdmin trac-admin] command-line tool, used to create and maintain [wiki:TracEnvironment project environments], as well as the [wiki:TracStandalone tracd] standalone server.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
59
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
60 === Advanced Users ===
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
61
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
62 To install Trac to a custom location, or find out about other advanced installation options, run:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
63 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
64 $ python ./setup.py --help
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
65 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
66
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
67 Specifically, you might be interested in:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
68 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
69 $ python ./setup.py install --prefix=/path/you/want
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
70 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
71
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
72
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
73 == Creating a Project Environment ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
74
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
75 A [wiki:TracEnvironment Trac environment] is the backend storage where Trac stores information like wiki pages, tickets, reports, settings, etc. An environment is basically a directory that contains a human-readable configuration file and various other files and directories.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
76
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
77 A new environment is created using [wiki:TracAdmin trac-admin]:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
78 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
79 $ trac-admin /path/to/trac_project_env initenv
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
80 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
81
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
82 [wiki:TracAdmin trac-admin] will prompt you for the information it needs to create the environment, such as the name of the project, the path to an existing subversion repository, the [wiki:TracEnvironment#DatabaseConnectionStrings database connection string], and so on. If you're not sure what to specify for one of these options, just leave it blank to use the default value. The database connection string in particular will always work as long as you have SQLite installed. The only option where the default value is likely to not work is the path to the Subversion repository, so make sure that one's correct.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
83
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
84 Also note that the values you specify here can be changed later by directly editing the [wiki:TracIni] configuration file.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
85
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
86 ''Note: The user account under which the web server runs will require write permissions to the environment
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
87 directory and all the files inside.''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
88
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
89
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
90 == Running the Standalone Server ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
91
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
92 After having created a Trac environment, you can easily try the web interface by running the standalone server [wiki:TracStandalone tracd]:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
93 {{{
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
94 $ tracd --port 8000 /path/to/projectenv
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
95 }}}
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
96
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
97 Then, fire up a browser and visit `http://localhost:8000/`. You should get a simple listing of all environments that tracd knows about. Follow the link to the environment you just created, and you should see Trac in action.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
98
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
99
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
100 == Running Trac on a Web Server ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
101
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
102 Trac provides three options for connecting to a “real” web server: [wiki:TracCgi CGI], [wiki:TracFastCgi FastCGI] and [wiki:TracModPython mod_python]. For decent performance, it is recommended that you use either FastCGI or mod_python.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
103
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
104 == Configuring Authentication ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
105
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
106 The process of adding, removing, and configuring user accounts for authentication depends on the specific way you run Trac. To learn about how to accomplish these tasks, please visit one of the following pages:
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
107
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
108 * TracStandalone if you use the standalone server, `tracd`.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
109 * TracCgi if you use the CGI or FastCGI methods.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
110 * TracModPython if you use the mod_python method.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
111
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
112 == Using Trac ==
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
113
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
114 Once you have your Trac site up and running, you should be able to browse your subversion repository, create tickets, view the timeline, etc.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
115
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
116 Keep in mind that anonymous (not logged in) users can by default access most but not all of the features. You will need to configure authentication and grant additional [wiki:TracPermissions permissions] to authenticated users to see the full set of features.
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
117
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
118 ''Enjoy!''
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
119
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
120 [http://projects.edgewall.com/trac/wiki/TracTeam The Trac Team]
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
121
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
122 ----
93b4dcbafd7b Copy Trac to main branch.
cmlenz
parents:
diff changeset
123 See also: TracGuide, TracCgi, TracFastCgi, TracModPython, TracUpgrade, TracPermissions
Copyright (C) 2012-2017 Edgewall Software