Configurando e Instalando o TRAC Projeto LibertasBR http://www.libertasbr.org.br 27 de outubro de 2005 É comum a projetos, independente da natureza dos mesmos, passar por diversas fases de desenvolvimento. Essas fases de desenvolvimento abrangem etapas de criação, de desenvolvimento propriamente dito, de verificação de erros (entre outras), e ocorrem, normalmente, antes de o projeto ser disponibilizado para uso comum. Tratando mais especificamente de softwares, é normal se ter um processo semelhante de desenvolvimento, entretanto, após o software ter sido disponibilizado, alguns erros não previstos podem ser detectados devido ao seu uso, sendo necessário consertá-los para garantir a evolução do projeto. É especialmente nesta fase que um sistema de gerenciamento de erros, como o Trac, por exemplo, pode ser bastante útil. O Trac organiza e gerencia falhas, permitindo a usuários comuns relatar as encontradas por ele. O objetivo deste documento é relatar a instalação, a configuração e a administração de projetos no Trac. 1
1 Características do Trac Dentre as diversas vantagens do Trac, as seguintes podem ser destacadas: ˆ Pode ser executado em qualquer servidor web; ˆ Configuração de um projeto através de um aplicativo em modo texto (trac-admin) e do arquivo trac.ini, presente no diretório do projeto; ˆ Escrito em Python; ˆ Permite gerenciar vários projetos; ˆ Permite organizar os erros por versão, nível de gravidade, etc...; ˆ Permite exibir um repositório SVN; ˆ Permite criar e exibir páginas WIKI; ˆ Usa o SGBD SQLite ou PostgreSQL. 1.1 Instalando o Trac Recomenda-se, enfaticamente, a instalação do Trac via aptitude para evitar maiores preocupações com este quesito, mas é necessário observar que para uma correta instalação e um perfeito funcionamento do Trac, os seguintes requisitos são necessários: ˆ python(>=2.3) ˆ subversion(svn) (>=1.0.1 Obs: Recomenda-se a versão 1.1) ˆ python2.3-subversion(>= 0.37) ˆ python-clearsilver(>= 0.9.3) ˆ python-sqlite(>= 0.4.3) Para a instalação do Trac em um sistema Debian, execute o seguinte comando: aptitude install trac Para outros sistemas (ou se você possuir o fonte), execute o seguinte comando no diretório onde está o código: python./setup.py install Vale lembrar que para executar tal procedimento é necessário ter priviégios de usuário administrador (root). Este documento não ensina como se proceder para instalar um pacote. Se houver dúvida, consulte o endereço http://focalinux.cipsga.org.br/guia/inic_interm/ch-dpkg. htm. 2
1.2 Criando um projeto no Trac Com o Trac, é possível criar vários projetos, independentes entre si e em diretórios diferentes. Para criar um projeto, execute o seguinte comando: trac-admin /diretorio/do/projeto initenv Serão feitas três perguntas a respeito do projeto: ˆ Project Name [My Project] Nome que será atribuído ao projeto. ˆ Path to repository [/svn/exemplo] Diretório onde está localizado o repositório svn a ser exibido Observação: Para criar um repositório svn, execute o seguinte comando: svnadmin create fs-type=fsfs /pasta/do/repositorio ˆ Templates directory [/usr/share/trac/templates] Por padrão, os templates do trac estão localizados em /usr/share/trac/templates, não havendo, portanto, necessidade de se digitar nada nessa pergunta. 1.3 Configurando o Apache para exibir o Trac Considerando que o Trac já se encontra instalado e que algum projeto já foi previamente criado, passa-se então para um momento em que se faz necessário configurar o apache para exibir corretamente a interface do Trac. Será aqui mostrado um caminho prático para exibir vários projetos em caminhos diferentes usando um script cgi. Inicialmente, é necessário que o servidor web tenha permissão de acesso e escrita para o arquivo /usr/share/trac/cgi-bin/trac.cgi. Esse arquivo é o responsável pela exibição de um determindo projeto, podendo ser usado várias vezes, desde que algumas configurações sejam feitas no apache. Aqui será mostrada uma maneira de exibir a interface gráfica do Trac para vários projetos. Supondo que o endereço visado para um projeto seja www.meusite.org.br/projeto, então siga o procedimento abaixo: ˆ Primeiro, crie um diretório /var/www/projeto, com os comandos abaixo: cd /var/www/ mkdir projeto ˆ Crie um link simbólico do arquivo /usr/share/trac/cgi-bin/trac.cgi chamado index.cgi dentro do diretório criado. Assim, não é necessário digitar o nome do arquivo.cgi na url. O comando no bash será root@debian:/var/www/projeto# ln -s /usr/share/trac/cgi-bin/trac.cgi index.cgi 3
Não se esqueça de alterar o usuário e o grupo aos quais o link pertence para www-data, usando o seguinte comando: root@debian:/var/www/projeto# chown www-data:www-data index.cgi Tal alteração deverá ser feita também no arquivo /usr/share/trac/cgi-bin/trac.cgi: root@debian:/usr/share/trac/cgi-bin# chown www-data:www-data trac.cgi ˆ Crie um arquivo de configuração em /etc/apache2/conf.d/ e insira as seguintes linhas: Alias /trac/ /usr/share/trac/htdocs/ #ou onde os htdocs do trac est~ao instalados, sendo o padr~ao #o diretório /usr/share/trac/htdocs/. <Directory "/usr/share/trac/htdocs"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> <Directory "/var/www/projeto/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch AddHandler cgi-script.cgi Order allow,deny Allow from all </Directory> <Location "/projeto/index.cgi"> SetEnv TRAC_ENV "/caminho/do/projeto" </Location> #Necessário para autenticar usuários <Location "/projeto/index.cgi/login"> AuthType Basic AuthName "trac" AuthUserFile /caminho/do/projeto/trac.htpasswd Require valid-user </location> 4
É recomendável não referenciar o projeto no endereço www.meuprojeto.org.br/trac, pois o Trac utiliza-o para referenciar as suas folhas de estilo e figuras. O arquivo /caminho/do/projeto/trac.htpasswd armazena as informações relativas a usuários que podem autenticar no trac. Para criá-lo e adicionar um usuário, execute o comando: root@debian:/ caminho/do/projeto # htpasswd -c trac.htpasswd <nome do usuario> Para adicionar outros usuários, execute o mesmo comando, porém sem adicionar a opção -c, já que o arquivo já estará criado. 1.4 Administrando um projeto no Trac A configuração de um projeto no trac é feita pelo programa trac-admin e pelo arquivo trac.ini. 1.4.1 O arquivo trac.ini Localizado em / <pasta do projeto> /conf/, o arquivo trac.ini contém configurações gerais de exibição e permissões. Abaixo, as linhas, e seus respectivos significados [header_logo] #Corresponde ao cabeçalho do projeto src = trac_banner.png - Figura a ser exibida no cabeçalho do projeto alt = Trac height = 73 link = http://trac.edgewall.com/ - Url relacionada à figura do cabeçalho width = 236 [logging] log_file = trac.log - Onde ser~ao armazenados as mensagens de log do projeto. log_level = DEBUG - Nível de verbosidade no log. log_type = none - Método de autenticaç~ao a ser usado. [trac] default_charset = iso-8859-15 - Codificaç~ao usada nos caracteres do projeto templates_dir = /usr/share/trac/templates - Diretório onde se localizam as páginas repository_dir = /svn/teste - Repositório svn htdocs_location = /trac/ - Htdocs database = sqlite:db/trac.db - String de conex~ao da base de dados [notification] smtp_enabled = false - habilitar/desabilitar notificaç~ao por e-mail smtp_replyto = trac@localhost - e-mail de resposta 5
smtp_always_cc = - e-mail que sempre receberá uma cópia do e-mail smtp_server = localhost - servidor smtp usado para o envio de notificaç~oes smtp_from = trac@localhost - remetente dos e-mails always_notify_reporter = false - sempre enviar e-mail para a pessoa que relatou o erro [project] - configuraç~oes do rodapé url = http://example.com/ footer = Visit the Trac open source project at<br /><a href="http://trac.edgewall.com/">http://trac.edgewall.com/</a> name = teste descr = My example project icon = trac.ico [mimeviewer] enscript_path = enscript [attachment] max_size = 262144 - tamanho máximo para um anexo [timeline] changeset_show_files = 0 - número de arquivos a ser exibido (0 para desativado) [diff] tab_width = 8 - dimens~oes da tabela de diff [ticket] - valores padr~ao para um ticket default_version = default_severity = normal default_component = component1 default_priority = normal default_milestone = Outros parâmetros podem ser consultados pelo endereço http://projects.edgewall.com/trac/wiki/tracini 1.4.2 O trac-admin Para administrar um projeto no trac, execute o seguinte comando: trac-admin /caminho/do/projeto/ Feito isso, digite help para visualizar a relação dos comandos existentes. 6
A Créditos Documento Instalação e Configuração do TRAC Direitos Autorais Reservados (c) Universidade Federal de Minas Gerais Departamento de Ciência da Computação Projeto LibertasBR Daniel Xavier Wolbert - danielxw@gmail.com Esta documentação é livre; você pode redistribuí-la e/ou modificá-la sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; tanto na sua versão 2, como qualquer versão posterior (a seu critério). A distribuição desta documentação é feita na expectativa de que ela seja útil, porém, sem nenhuma garantia; nem mesmo a garantia implícita de comerciabilidade ou adequação a uma finalidade específica. Consulte a Licença Pública Geral do GNU para mais detalhes. http://creativecommons.org/licenses/gpl/2.0/ http://creativecommons.org/licenses/gpl/2.0/legalcode.pt 7