= 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''