Skip to content

Instalação do Trac no AOLServer

01/08/2009

Como o AOLServer não tem um módulo nativo para o Trac como o Apache, o processo de configuração do é um pouco mais complicado. Acresentamos ainda a complexidade de fazê-lo funcionar de maneira integrada como OpenACS. Na verdade, a única dificuldade é entender a configuração dos scripts CGI e fazer o Trac ser executado dessa forma pelo servidor. Ainda não consegui fazer a autenticação funcionar, mas esse deve ser o próximo passo do meu trabalho.

Instalação do Trac e SVN

Instalação do setuptools

# apt-get install python-setuptools

Genshi

# apt-get install python-genshi

Clear silver (parece opcional, mas vamos instalar)

# apt-get install python-clearsilver

Psycopg2

# apt-get install python-psycopg2

Subversion

# apt-get install python-subversion

Trac

# easy_install --prefix=/usr/local http://svn.edgewall.org/repos/trac/tags/trac-0.11

Atualização

Atualizei minha versão do Debian do Etch para o Lenny e o Trac parou de funcionar. O easy_install também não funcionou mais e precisei alterar um pouco os procedimentos de instalação:

# cd /usr/local
# svn co http://svn.edgewall.org/repos/trac/tags/trac-0.11
#  ln -s trac-0.11/ trac
# cd trac
#  python ./setup.py install

Obs.: Temos que sair e entrar para recarregar o bash, já que o caminho dos executáveis mudou.

Executamos o comando para configurar o Trac. No caso, considero o banco acessado em máquina local pelo usuário padrão do OpenACS (service0).

trac-admin /srv/trac/openacs initenv

Trac will first ask a few questions about your environment
in order to initalize and prepare the project database.

Please enter the name of your project.
This name will be used in page titles and descriptions.

Project Name [My Project]> OpenACS Fixes
Please specify the connection string for the database to use.
By default, a local SQLite database is created in the environment
directory. It is also possible to use an already existing
PostgreSQL database (check the Trac documentation for the exact
connection string syntax).

Database connection string [sqlite:db/trac.db]>  postgres://service0:@localhost:5432/trac?schema=trac

O banco de dados deve estar criado. Ele vai criar um novo esquema. Precisa ser um que não exista ainda.

Please specify the type of version control system,
By default, it will be svn.

If you don't want to use Trac with version control integration,
choose the default here and don't specify a repository directory.
in the next question.
Repository type [svn]>

Please specify the absolute path to the version control
repository, or leave it blank to use Trac without a repository.
You can also set the repository location later.

Path to repository [/path/to/repos]> /srv/svn/openacs
Aqui é necessário colocar o caminho para o seu repositório.

Alterações na Configuração

No OpenACS, será necessário alterar o arquivo config.tcl

ns_section "ns/server/${server}/module/nscgi"
ns_param map "GET /trac /usr/local/trac/cgi-bin/trac.fcgi"
ns_param map "POST /trac /usr/local/trac/cgi-bin/trac.fcgi"
ns_param map "HEAD /trac /usr/local/trac/cgi-bin/trac.fcgi"
ns_param environment cgi ;# Config. section which defines
;# additional environment variables.
# ns_param Interps CGIinterps

ns_section "ns/environment/cgi"
ns_param TRAC_ENV /srv/trac/openacs ;# defines env. var "FOO=BAR"

Parece fácil, mas levei quase dois dias para conseguir fazer isso. Os truques envolvidos são:

  1. Mapear o endereço certo para o script. O secreto é fazer que, para qualquer URL que tenha /trac, seja executado o script no local informado. O meu problemafoi que /trac/ não funciona, e não adianta tentar fornecer o caminho do script na mão. Ele deve ser executado para cada requisição de URL.
  2. Inserir a variável de ambiente. É fácil, mas pode dar algum trabalho.
  3. Inserir a carga do módulo nscgi:
    ns_param   nscgi              ${bindir}/nscgi.so

Múltiplos ambientes

Para ajustar mais de um ambiente do Trac, basta alterar a configuração da variável de ambiente dos scripts cgi:

ns_section "ns/environment/cgi"
ns_param   TRAC_ENV_PARENT_DIR    /srv/trac     ;# defines env. var "FOO=BAR"

Anúncios
No comments yet

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: