Configuring Trac on Debian
==========================
Trac is a web-based project management tool. It can be run as a
standalone daemon (tracd) or together with a web server, such as
Apache.
The web server needs to support either WSGI (Apache with
libapache2-mod-wsgi), FCGI (Apache, lighttpd), or CGI (most web
servers).
Trac is written in the Python programming language and uses Genshi
(python-genshi) as templating system and, optionally, Pygments
(python-pygments) for source code syntax highlighting.
Trac uses SQLite (python-pysqlite2) as an embedded database, but
can be configured to use PostgreSQL or MySQL instead.
Creating a Project Environment
------------------------------
Trac Environment is the backend storage format where Trac stores
information like wiki pages, tickets, reports, settings, etc.
A Trac environment consists of a directory containing a SQLite
database, human-readable configuration file, log-files and
p_w_uploads.
Trac allows the use of many backend Version Control Systems (vcs).
By default only Subversion is supported. Others like git
(trac-git), bzr (trac-bzr) and Mercurial (trac-mercurial) can be
added as plugin.
Before creating a Trac environment, you need to have a vcs
repository. With Subversion this can be made with:
$ mkdir /path/to/repos
$ svnadmin create /path/to/repos
A new Trac environment is created with trac-admin:
$ trac-admin /path/to/projectenv initenv
NOTE: The web server user needs write permission to the environment directory
and all the files inside. After creating the environment you would need to
execute "chown -R www-data /path/to/projectenv" if trac-admin was executed as
another user.
trac-admin will ask you where your subversion repository is located and where
it can find the trac templates directory (the default value should be fine).
Configuring Apache Web Server
=============================
Apache is the preferred trac's webserver and most used too.
It can be configured in 2 groups: as CGI (CGI, WSGI, FCGI) and with mod-python.
Configuring as CGI, WSGI, FCGI
--------------------------------
For trac >= 0.11 the *gi scripts have to be generated using the deploy command:
trac-admin /path/to/env deploy /path/to/www/trac
To use trac as an executable script in Apache, just add the according entry:
#Trac as CGI on Apache
#extra info in https://coderanger.net/~coderanger/tracdoc/install/cgi.html
ScriptAlias /trac /path/to/www/trac/cgi-bin/trac.cgi
#Trac as FCGI on Apache
#extra info in https://coderanger.net/~coderanger/tracdoc/install/fastcgi.html
ScriptAlias /trac /path/to/www/trac/cgi-bin/trac.fcgi/
#Trac as WSGI on Apache
#extra info on http://trac.edgewall.org/wiki/TracModWSGI
WSGIScriptAlias /trac /path/to/www/trac/cgi-bin/trac.wsgi
Configuring to use Apache with ModPython
----------------------------------------
For Modpython just use the following:
#Extra info https://coderanger.net/~coderanger/tracdoc/install/mod_python.html
# Trac need to know where the database is located
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonInterpreter main
PythonOption TracEnv /path/to/env
PythonOption TracUriRoot /trac
SetEnv PYTHON_EGG_CACHE /tmp
</Location>
Authentication using Apache
------------------------------
# You need this to allow users to authenticate
# trac.htpasswd can be created with
# cmd 'htpasswd -c trac.htpasswd' (UNIX)
# do 'man htpasswd' to see all the options
<Location "/trac/login">
AuthType Basic
AuthName "trac"
PythonOption TracUriRoot /trac
SetEnv PYTHON_EGG_CACHE /tmp
</Location>
Authentication using Apache
------------------------------
# You need this to allow users to authenticate
# trac.htpasswd can be created with
# cmd 'htpasswd -c trac.htpasswd' (UNIX)
# do 'man htpasswd' to see all the options
<Location "/trac/login">
AuthType Basic
AuthName "trac"
AuthUserFile /somewhere/trac.htpasswd
Require valid-user
</location>
Using Trac
----------
You should now have a working Trac installation at:
There you should be able to browse your subversion repository, create tickets,
view the timeline etc. Keep in mind that anonymous users (not logged in) can
only access a restricted subset of all Trac features.
Please read TracPermissions (in the wiki) to learn how to grant additional
privileges to authenticated users.
For further user-documentation, see TracGuide and check coderanger's website [1].
[1] https://coderanger.net/~coderanger/tracdoc/
Enjoy!
/The Trac Team
Please also consider joining the mailing list at
<http://lists.edgewall.com/mailman/listinfo/trac/>.
Visit the Trac open source project at <http://trac.edgewall.com/>
Jonas Borgstrom <jonas@edgewall.com>, Sat, 22 May 2004 20:49:22 +0200
Luis Matos <gass@otiliamatos.ath.cx> Mon, 21 Jul 2008 21:06:36 +0100
转载于:https://blog.51cto.com/steven2/381543