De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rodrigo Pinheiro Matias
Data de Publicação: 11 de Junho de 2009
Iremos demonstrar a criação de ambiente para gerenciamento de desenvolvimento de software utilizando Trac e Subversion com o Ubuntu Server 8.04 Long Time Support (LTS) Para este servidor iremos utilizar as seguintes configurações:
Para complementar serão instalados ou ativados módulos no Apache para que o mesmo integre o Trac e o Subversion em um mesmo servidor.
Não iremos nos ater muito aos detalhes da instalação do Ubuntu Server. Só alerto o cuidado com os dados que estão no disco, certifique-se que tudo que esta no disco de importante está assegurado em copias de segurança uma vez que o processo de instalação altera a estrutura do disco. certifique-se que tudo de importante no disco esteja assegurado em copias de segurança, pois o processo de instalação altera a estrutura do disco.
O famoso HTTP Server da Apache Foundation talvez seja o servidor de HTTP mais popular do mundo, utilizado por sistemas servidos tanto em GNU/Linux, Unix, Windows e outros.
Este servidor é famoso por sua confiabilidade e modularidade, ou seja o servidor pode receber outras funcionalidades que são acoplada por uma biblioteca de modulo, desta forma podemos utilizar este serviço para ser meio de saída tanto do servidor de versionamento como do sistema de gerenciamento.
Este servidor é amplamente conhecido por sua confiabilidade e modularidade, ou seja o servidor pode receber outras funcionalidades acopladas através de uma biblioteca de módulo. A partir estas características podemos utilizar este serviço para ser um meio de saída tanto do servidor de versionamento como do sistema de gerenciamento.
Para instalar o Apache Http Server basta executar a seguinte linha de comando:
root@myserver:~# aptitude install apache2
Com este comando teremos o Apache Http Server escutando na porta 80. Para verificar isto existe o comando fuser, este comando oferece uma ligação entre a porta e o processo. Veja como verificar se o servidor está funcionando corretamente:
root@myserver:~# fuser -n tcp 80 80/tcp: 3127 3131 3136
Neste caso temos o servidor rodando em três processos. Agora que o servidor httpd esta funcionando podemos passar para o próximo serviço, o Trac.
Com este comando teremos o Apache Http Server escutando na porta 80. Para verificar isto existe o comando fuser, este comando oferece uma ligação entre a porta e o processo. Veja como verificar se o servidor está funcionando corretamente:
A instalação do Trac é muito simples, basta executar o seguinte comando:
root@myserver:~# aptitude install trac postgresql-server python-psycopg2
Este comando irá instalar alguns pacotes necessários para que o servidor de Trac possa ser executado.
Para prepararmos a execução do banco de dados iremos criar uma conta e um banco de dados no SGDB PostgreSQL. Veja os comandos:
host all all 127.0.0.1/32 trust #md5 # IPv6 local connections: host all all ::1/128 trust #md5
root@myserver:~# invoke.rc-d postgresql-8.3 restart
root@myserver:~# createuser -h localhost -U postgres -SdRlP trac-user ...
host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5
root@myserver:~# createdb -h localhost -U trac-user trac-exemplo ...Neste momento temos o banco de dados pronto para receber o Trac. Podemos então prosseguir com o nosso artigo.
A criação do repositório é importante notarmos algumas variáveis, pois, a configuração de qualquer uma errada pode atrapalhar todo o processo. Tenha atenção no diretório onde esta sendo criado o repositório, pois, iremos instalar o Trac e o Subversion com um path em comum, devido a didática. Iremos ter que serão criado trac e svn. Veja abaixo:
root@myserver:~# mkdir exemplo-workspace root@myserver:~# cd exemplo-workspace root@myserver:~/exemplo-workspace# trac-admin trac ...
Serão feitas várias perguntas, como nome do projeto e outras mais especificas como configuração de banco e repositório, lembre-se que o path do subversion esta no mesmo que o trac, sendo assim ~/exemplo-workspace/svn.
Agora vamos editar o arquivo de configuração do Trac, edite então o arquivo trac.ini:
database = postgres://trac-user:123@localhost:5432/dbname?schema=trac-exemplo
Configuramos o Trac para utilizar a nossa conta e nosso banco criado no PostgreSQL. Mais para frente voltaremos modificar este arquivo.
Para esta tarefa iremos utiliza um aplicativo chamado htpasswd o mesmo poderia ser feito com o aplicativos htdigest, mas não iremos nos ater a esta configuração.
Vamos criar o usuário admin, que será o administrador do trac.
root@myserver:~/exemplo-workspace# htpasswd -c passwd admin ...
Será solicitado a nova senha, guarde, pois, esta credencial será utilizada para administrar o Trac. Com isto podemos seguir para o subversion.
O subversion será utilizado para promover o trabalho colaborativo e em equipes, será utilizado para controlar as modificações no código do software que esta sendo desenvolvido.
Para instalar este serviço é muito simples, execute o comando:
root@server:~# aptitude install svn
Agora que o nosso controlador de versão esta instalado, vamos criar agora o nosso repositório subversion, veja o comando logo abaixo:
root@myserver:~/exemplo-workspace# svnadmin create svn
Com este comando será criado um diretório com o nome indicado em [repositório], este diretório será usando no arquivo de configuração do Trac no próximo item do artigo quando tudo será integrado.
Agora vem a vem a parte mais legal deste artigo, colocar o Trac para rodar junto com o servidor de Subversion, e o melhor, colocar os dois para autenticar em uma mesma autenticadora.
Quando configuramos o Trac no item 3.2 alteramos o arquivo trac.ini, iremos fazer mais uma modificação informando agora ao Trac em que local foi criado o repositório svn. Encontre e modifique a variável repository_dir e configure da seguinte forma:
repository_dir = /root/exemplo-workspace/svn
Para realizar esta integração iremos utilizar o modulo mod_python, este modulo permite colocar aplicações escritas em python para rodar utilizando o servidor Apache Http Server. Esta configuração requer uma devida atenção as permissões do diretório onde o Trac foi instalado, lembre-se de garantir privilegios ao usuário www-data, veja com fazer isto logo abaixo:
root@myserver:~/exemplo-workspace# chown root.www-data trac/ -R root@myserver:~/exemplo-workspace# find trac -type d -print0 | xargs -0 chmod g=gwx root@myserver:~/exemplo-workspace# find trac -type f -print0 | xargs -0 chmod g=g
Agora vamos instalar e ativar o mod_python:
root@myserver:~/exemplo-workspace# aptitude install libapache2-mod-python ... root@myserver:~/exemplo-workspace# a2enmod python ...
Já temos o servidor com o modulo ativo, vamos configurar o apache agora para mapear o endereço http://localhost/trac-exemplo/trac como sendo o nosso ambiente Trac instalado em (/root/exemplo-workspace/trac). Veja o arquivo de configuração:
<location /trac-exemplo/trac> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnv /root/exemplo-workspace/trac PythonOption TracUriRoot /trac-exemplo/trac Order allow,deny Allow from all </location> <LocationMatch "/trac-exemplo/trac/login"> AuthType Basic AuthName "Trac" AuthUserFile /root/exemplo-workspace/passwd Require valid-user </LocationMatch>
Antes de mais nada precisamos instalar o modulo que faz o servidor apache conversar com o repositório subversion, veja:
root@myserver:~/exemplo-workspace# aptitude install libapache2-svn
A configuração da integração do Subversion é bem parecida com a do Trac, veja:
Artigo publicado originalmente no blog Escuta Esta!
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários