Home Page do Portal
Brasil, um país de todos

Trac e mod_python

Trac 0.7.1 e posteriores suportam mod_python, que aumenta consideravelmente a velocidade de resposta do Trac e permite o uso de muitas funcionalidades do Apache que não são possíveis com tracd/mod_proxy.

Configuração Simples

Aqui está uma configuração típica para Trac CGI/Apache:

ScriptAlias /projects/myproject /path/to/python/share/trac/cgi-bin/trac.cgi
<Location /projects/myproject>
   SetEnv TRAC_ENV /var/trac/myproject
</Location>

A configuração equivalente para mod_python é:

<Location /projects/myproject>
   SetHandler mod_python
   PythonHandler trac.ModPythonHandler
   PythonOption TracUriRoot "/projects/myproject"
   PythonOption TracEnv /var/trac/myproject
</Location>

Note que a opção TracUriRoot pode ou não ser necessária na sua configuração. Primeiramente tente sem, e se as URLs produzidas pelo Trac não fores exibidas corretamente, adicione a opção TracUriRoot.

Configurando múltiplos projetos

O manipulador Trac mod_python suporta a opção de configuração similar para Subversion's SvnParentPath, chamado TracEnvParentDir:

<Location /projects>
  SetHandler mod_python
  PythonHandler trac.ModPythonHandler
  PythonOption TracUriRoot /projects
  PythonOption TracEnvParentDir "/var/trac"
</LocationMatch>

Quando você solicitar a URL /projects, você pegará uma lista (atualmente muito simples) de todos os subdiretórios do diretório que você configurou como TracEnvParentDir. Selecionando qualquer projeto nesta lista irá trazer a instância correspondente do Trac. Você deve certificar-se de que o diretório configurado contém somente os diretórios de ambiente Trac que sejam da mesma versão do Trac atualmente instalada, porque isso não é verificado antes da geração da lista de projetos.

Adicionando autenticação

Adicionar autenticação é "direto" em ambos os casos. Por exemplo:

<LocationMatch /projects/[[:alnum:]]+/login>
  AuthType Basic
  AuthName "Trac"
  AuthUserFile /var/www/passwd
  Require valid-user
</LocationMatch>

Edições Win32

Se você executar Trac com mod_python no Widows, os anexos não funcionarão.

Existe uma simples tarefa para isso que é a aplicação da atualização anexada ao ticket #554.


Veja também TracGuide, TracInstall, TracMultipleProjects?