= Instruções para Montar o Ambiente de Teste =
[[PageOutline(1-3, 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 ====
{{{
DAV svn
SVNParentPath /services/svn/repositories
}}}
==== 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:
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
}}}
==== 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/
}}}
1. Editar arquivo /services/trac/projects/expresso/conf/trac.ini e adicionar ao seu final:
{{{
[components]
tracrpc.* = enabled
}}}
2. Reiniciar apache
{{{
$ apachectl restart
}}}
3. Acessar Trac
a. http://172.16.9.136/trac
b. Entrar com usuário/senha criado com o comando htpasswd no passo 4
c. Escolher projeto Expresso
d. Clicar em Admin
e. Selecionar Permissions
f. Na seção "Grant Permission" colocar as informações e clicar em Add
i. Subject: anonymous
ii. Action: XML_RPC
== Instalação do Testlink ==
=== Abrir browser apontando para host da maquina virtual ===
1. http://172.16.9.136/testlink
2. Selecionar "New instalation"
3. Aceitar a licença de uso
4. Verificação da instalação dos pré-requisitos
5. Preencher formulário para escolha do BD com os seguintes dados:
a. '''Type''': Postgres
b. '''Host''': localhost
c. '''Database name''': testlinkdb
d. '''Table prefix''':
e. '''Database admin login''': postgres
f. '''Database admin password''': postgres
g. '''Testlink db login''': testlink
h. '''Testlink db password''': testlink
6. Verificação da instalação - deve estar tudo OK nesse ponto
a. http://172.16.9.136/testlink e logar com admin/admin
=== Integração com o Trac ===
1. 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',
);
}}}
2. Criar arquivo /var/www/testlink/custom_config.inc.php com o seguinte conteúdo:
{{{
}}}
3. 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);
}}}
4. 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''