Instruções para Montar o Ambiente de Teste
Conteúdo
OBS: Substituir o IP 172.16.9.136 pelo IP da máquina onde o ambiente está sendo instalado.
Pré-requisitos
- Debian 5.0.4
- Test Link 1.9beta4
- Trac 0.11.7 com plugin xmlrpc-r8009
Instalar Debian 5.0.4 com os seguintes módulos
- Base system
- Web server
Instalar os seguintes pacotes usando apt-get install
- ssh
- unzip
- php5
- postgresql
- php5-pgsql
- php5-gd
- php5-ldap
- slapd
- subversion
- libapache2-svn
- python-genshi
- python-setuptools
- python-subversion
- python-psycopg
- libapache2-mod-python
- libapache2-mod-wsgi
Criar senha padrão do usuário postgres
$ su postgres $ psql $ alter user postgres password 'postgres'; $ exit
Preparar subversion para uso do Trac
$ mkdir -p /services/svn/repositories $ svnadmin create /services/svn/repositories/trac $ chown -R www-data.www-data /services/svn/repositories $ find /services/svn/repositories/ -type d|xargs chmod g+sw
Criar arquivo /etc/apache2/subversion.conf com
<Location /svn> DAV svn SVNParentPath /services/svn/repositories </Location>
Adicionar ao final do /etc/apache2/apache2.conf
Include /etc/apache2/subversion.conf
Copiar arquivos de instalação para maquina virtual
$ scp testlink-1.9beta4.zip Trac-0.11.7.tar.gz xmlrpcplugin-r8009.zip root@172.16.9.137:/tmp
Descompactar arquivos no /tmp da maquina virtual
$ unzip testlink-1.9beta4.zip $ tar zxvf Trac-0.11.7.tar.gz $ unzip xmlrpcplugin-r8009.zip
Renomear diretorio do testlink e copiar para diretório do apache
$ mv testlink-1.9beta4 testlink $ mv testlink /var/www $ chmod 777 -R /var/www/testlink $ apachectl restart
Instalação do Trac
$ cd /tmp/Trac-0.11.7 $ python ./setup.py install $ mkdir -p /services/trac/projects $ trac-admin /services/trac/projects/expresso initenv Project Name: Expresso Database Connection: <deixar o default: sqlite:db/trac.db] Repository: svn Path repository: /services/svn/repositories/trac $ chown -R www-data.www-data /services/trac/ $ find /services/trac/ -type d|xargs chmod g+sw $ htpasswd -cm /services/trac/projects/expresso/.htpasswd admin $ trac-admin /services/trac/projects/expresso/ permission add admin TRAC_ADMIN quit
Testar trac modo stand-alone
$ tracd --port 8000 /services/trac/projects/expresso
Criar arquivo /etc/apache2/trac.conf com o seguinte conteúdo
<Location /trac> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption PYTHON_EGG_CACHE /tmp/python_egg_cache PythonOption TracUriRoot /trac PythonOption TracEnvParentDir /services/trac/projects/ AuthType Basic AuthName "trac-expresso" AuthUserFile /services/trac/projects/expresso/.htpasswd Require valid-user </Location>
Adicionar ao final do /etc/apache2/apache2.conf
Include /etc/apache2/trac.conf
Instalar plugin XMLRPC
$ cd /tmp/xmlrpcplugin/trunk $ python setup.py bdist_egg $ cp dist/*.egg /services/trac/projects/expresso/plugins/
- Editar arquivo /services/trac/projects/expresso/conf/trac.ini e adicionar ao seu final:
[components] tracrpc.* = enabled
- Reiniciar apache
$ apachectl restart
- Acessar Trac
- http://172.16.9.136/trac
- Entrar com usuário/senha criado com o comando htpasswd no passo 4
- Escolher projeto Expresso
- Clicar em Admin
- Selecionar Permissions
- Na seção "Grant Permission" colocar as informações e clicar em Add
- Subject: anonymous
- Action: XML_RPC
Instalação do Testlink
Abrir browser apontando para host da maquina virtual
- http://172.16.9.136/testlink
- Selecionar "New instalation"
- Aceitar a licença de uso
- Verificação da instalação dos pré-requisitos
- Preencher formulário para escolha do BD com os seguintes dados:
- Type: Postgres
- Host: localhost
- Database name: testlinkdb
- Table prefix: <deixar em branco>
- Database admin login: postgres
- Database admin password: postgres
- Testlink db login: testlink
- Testlink db password: testlink
- Verificação da instalação - deve estar tudo OK nesse ponto
- http://172.16.9.136/testlink e logar com admin/admin
Integração com o Trac
- Editar /var/www/testlink/cfg/trac.cfg.php colocando as seguintes informações:
/** Trac Project Root */ define('BUG_TRACK_DB_HOST', 'http://172.16.9.137/trac/'); define('BUG_TRACK_XMLRPC_HOST', 'http://admin:admin@172.16.9.137'); /** @var array Mapping TL test project name vs trac project url */ $g_interface_bugs_project_name_mapping = array( 'Expresso' => 'expresso', );
- Criar arquivo /var/www/testlink/custom_config.inc.php com o seguinte conteúdo:
<?php $g_interface_bugs = 'TRAC'; ?>
- Editar arquivo /var/www/testlink/lib/bugtracking/int_trac.php e substituir
$this->xmlrpcClient = new IXR_Client($this->dbHost . '/xmlrpc');
por
$this->xmlrpcClient = new IXR_Client(BUG_TRACK_XMLRPC_HOST);
- Editar arquivo /var/www/testlink/third_party/xml-rpc/class-IXR.php e adicionar as linhas marcadas com "-->":
function query() { $args = func_get_args(); $method = array_shift($args); $request = new IXR_Request($method, $args); $length = $request->getLength(); $xml = $request->getXml(); $r = "\r\n"; --> $credentials = ""; --> if ($this->user != "") { --> $credentials = base64_encode($this->user . ":" . $this->pass); --> } $request = "POST {$this->path} HTTP/1.0$r"; $request .= "Host: {$this->server}$r"; --> if ($credentials != "") { --> $request .= "Authorization: Basic {$credentials}$r"; --> } function IXR_Client($server, $path = false, $port = 80, $timeout = false) { if (!$path) { // Assume we have been given a URL instead $bits = parse_url($server); $this->server = $bits['host']; $this->port = isset($bits['port']) ? $bits['port'] : 80; --> $this->user = isset($bits['user']) ? $bits['user'] : ''; --> $this->pass = isset($bits['pass']) ? $bits['pass'] : '';
Referências
- http://cogo.wordpress.com/2008/10/28/apache-ssl-subversion-trac-howto/
- Test Link: Manual do Usuário
- Trac INSTALL instructions file
- http://trac.edgewall.org/wiki/TracInstall
- http://trac-hacks.org/wiki/XmlRpcPlugin
- http://51elliot.blogspot.com/2009/01/trac-testlink-and-xml-rpc.html
- http://testavo.blogspot.com/2009/02/integracao-do-testlink-com-ferramentas.html
Última atualização: 29-Set-2010