Apache + Web_dav + AD/LDAP + subversion (SVN) + trac, parte II

Dependências


redhat-like:
yum install sqlite sqlite3
debian-like:
aptitude install sqlite sqlite3

Trac Instalação

O trac pode ser instalado pelos fontes, pelo repositório da distribuição, e pelo easy_install do python.

Instalação do Trac, através do repositório no redhat-like:
  1. cat > /etc/yum.repos.d/atrpms.repo << eof

    [atrpms]
    name=Fedora Core $releasever - $basearch - ATrpms
    baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
    gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
    gpgcheck=1
    eof
  2. yum install trac
A instalação via repositório pode apresentar alguns conflitos de pacotes, sugiro que seja utilizada a instalação através do easy_install, para um melhor resultado.

Instalação do Trac, através do repositório no debian-like:
aptitude install trac


Instalação do Trac, através do easy_install:
easy_install Babel==0.9.5
easy_install Trac

Trac Criando a Base

Da mesma forma que criamos o repositório SVN precisamos criar a base para o nosso Trac.

Ex:
trac-admin /storage/trac/projeto initenv
Ou o comando abaixo se já dispor de uma pré-configuração:
trac-admin /storage/trac/projeto initenv --inherit=/path/to/global/trac.ini
Responda as perguntas com o que se pede:

Project Name [My Project]> Trac Projeto
Path to repository [/var/svn/test]> /storage/svn/projeto
Templates directory [/usr/share/trac/templates]> (enter)


Trac Configuração

Como todo aplicativo, o Trac também possui suas particularidades nas configurações.


O arquivo de configuração localiza-se dentro do projeto criado, no arquivo conf/trac.ini.

vim /storage/trac/projeto/conf/trac.ini

Tal arquivo apresenta diversas diretivas para personalização, tal como abaixo:



Abaixo segue um trecho que configura o icon e logo de todos os projetos:

Trac + Apache Configuração


Para o Trac iremos seguir a mesma filosofia aplicada ao Subversion, uma arvore estrutural com autenticação unificada, com permissões faccionadas.



No RedHat e suas variantes, habilite o módulo python, como abaixo.
cat > conf.d/mod_python.conf<< eof
LoadModule python_module modules/mod_python.so
eof
No Debian-like, utilize o comando a2moden
a2moden mod_python

Trac Migração/Importação

  1. Cópia de segurança da base antigao do Projeto Trac:
    cp trac.db trac.db-$(date +%s)
  2. Se por ventura a base de dados estiver na versão 2, faz-se necessário uma conversão para versão 3:
    sqlite trac.db .dump | sqlite3 trac3.db
  3. Backup do Trac com dump:
    sqlite3 /storage/trac/projetoold/db/trac.db .dump > trac.sql
    ou
    sqlite3 /storage/trac/projetoold/db/trac3.db .dump > trac.sql
  4. No ambiente novo:
    Realize backup da base de dados:
    sqlite3 /storage/trac/projeto/db/trac.db .dump > projeto.sqlitedump
    Remova a base de dados:
    rm /storage/trac/projeto/db/trac.db
    ou zere seu conteudo:
    > /storage/trac/projeto/db/trac.db
  5. Execute o restore do projeto:
    sqlite3 /storage/trac/projeto/db/trac.db ".read trac.sql"
  6. Atualize a instância do projeto:
    trac-admin /storage/trac/projeto upgrade
  7. No caso do Trac estar operando com svn:
    trac-admin /storage/trac/projeto resync

Trac permissões

Assim como no SVN o Trac, precisará de permissões no sistema de arquivos para funcionar adquadamente.
redhat-like:
find /storage/trac -type d -exec chown 48.48 -R {} \;
find /storage/trac -type d -exec chmod 2775 {} \;
find /storage/trac -type f -exec chmod 0664 {} \;
debian-like:
find /storage/trac -type d -exec chown 33.33 -R {} \;
find /storage/trac -type d -exec chmod 2775 {} \;
find /storage/trac -type f -exec chmod 0664 {} \;

Habilitar o Trac

Para hatilitar o Trac, usa-se o mesmo principio do SVN, a diretiva Include, no arquivo vhosts_svn_ldap.conf.
  1. Localize o trecho:
    73 [..]
    74 Include vhosts/svn_ldap.conf
    75 [..]
  2. Acrescente a configuração do Trac:
    73 [..]
    74 Include vhosts/svn_ldap.conf
    75 Include vhosts/trac_ldap.conf
    76 [..]
  3. Recarregue o apache:
    service [apache2|httpd] force-reload

    Ou Reinicie
    service [apache2|httpd] restart

Ocorrências Indesejáveis

Infelizmente para o redhat-like, e foram testados SL 6.3 e Centos 6.3, há um bug relatado que impede o correto funcionamento do ldaps e a diretiva require ldap-groups.

Relacionados

Continuação em Apache + Web_dav + AD/LDAP + subversion (SVN) + trac, parte I

Referências

http://trac.edgewall.org/wiki/TracUpgrade#UpgradingfromTrac0.10toTrac0.11 http://trac.edgewall.org/wiki/TracUpgrade#to1.0 http://trac.edgewall.org/wiki/TracIni#trac-section http://trac.edgewall.org/wiki/PySqlite#UpgradingSQLitefrom2.xto3.x http://trac.edgewall.org/wiki/TracInterfaceCustomization http://www.vivaolinux.com.br/dica/Migracao-do-Trac

Comentários