Esta é a segunda edição deste tutorial, gostaria de acrescentar algumas coisas que os leitores tiveram dúvidas e corrigir outras, estou criando este tutorial porque acabei de reinstalar o meu sistema, agora Ubuntu 8.04 LTS, e pense numa trabalheira reinstalar tudo. :-D
Como uso o Ubuntu, irei usar o aptitude para instalar meus pacotes, ao menos para a maioria dos pacotes, a vantagem é ter o log de toda instalação e desinstalação dos pacotes em /var/log/aptitude*

Dica útil, desligue nas preferências do aptitude a instalação automática dos pacotes recomendados, geralmente eles são inúteis.

1. Vou instalar o que geralmente instalo assim que termino a instalação do Ubuntu, todo computador de desenvolvedor tem que ter.

$ sudo aptitude install build-essential python-dev python-profiler python-setuptools

2. Instalar os binários do Subversion, neste pacotes encontram-se o cliente e o servidor também.

$ sudo aptitude install subversion python-subversion

3. Agora os binários do Trac com os módulos Python relacionados

$ sudo aptitude install trac python-docutils python-clearsilver python-pysqlite2 python-roman

4. Por fim instalar o Apache com os módulos necessários para publicar o serviço Webdav do Subversion e para hospedar o Trac usando mod_python (mais rápido do que o cgi)

$ sudo aptitude install apache2 apache2-utils apache2-mpm-worker apache2.2-common libapache2-mod-python libapache2-svn

5. Criar as pastas onde serão colocados os projetos

$ sudo mkdir -p /var/lib/svn/

$ sudo mkdir -p /var/lib/trac/

6. Criar o projeto Subversion

$ cd /var/lib/svn/

$ sudo svnadmin create nome_do_projeto

6.1 Caso esteja restaurando um backup carregar o backup após criar o projeto

$ svnadmin load nome_do_projeto < nome_do_projeto.svndump

Para saber como fazer backup do SVN/Trac veja: como fazer backup

7. Esta configuração é para o Apache poder ler no diretório

$ sudo chgrp -R www-data nome_do_projeto

$ sudo chmod -R g+w nome_do_projeto

8. Criar o projeto Trac

$ cd /var/lib/trac/

$ sudo trac-admin nome_do_projeto initenv

8.1 Caso esteja restaurando um backup pular o passo anterior e executar

$ tar -zxvf nome_do_projeto.tar.gz -C /var/lib/trac/

9. Esta configuração é para o Apache poder ler no diretório do Trac

$ sudo chgrp -R www-data nome_do_projeto

$ sudo chmod -R g+w nome_do_projeto

10. Configurar o apache para servir os sites do Subversion, via Webdav e do Trac via mod_python

$ cd /etc/apache2/sites-available/

$ sudo vim svn

NameVirtualHost *:80

<VirtualHost *:80>
ServerName svn.home.local # ou o nome configurado no DNS
ServerAlias svn
ServerAdmin webmaster@nome_do_projeto.com
ErrorLog /var/log/apache2/error_svn_log
CustomLog /var/log/apache2/access_svn_log common

<Location /nome_do_projeto>
DAV svn
SVNPath /var/lib/svn/nome_do_projeto
AuthType Basic
AuthName “nome_do_projeto Subversion Repository”
AuthUserFile /var/lib/trac/nome_do_projeto/.passwd
Require valid-user
</Location>

</VirtualHost>

$ sudo vim trac

<VirtualHost *:80>
ServerName trac.home.local # ou o nome configurado no DNS
ServerAlias trac
ServerAdmin webmaster@nome_do_projeto.com
ErrorLog /var/log/apache2/error_trac_log
CustomLog /var/log/apache2/access_trac_log common

<Location /nome_do_projeto>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/lib/trac/nome_do_projeto
PythonOption TracUriRoot /nome_do_projeto
AuthType Basic
AuthName “nome_do_projeto Trac”
AuthUserFile /var/lib/trac/nome_do_projeto/.passwd
Require valid-user
</Location>

</VirtualHost>

$ sudo a2ensite svn

$ sudo a2ensite trac

Criar o arquivo htpasswd para o projeto

$ cd /var/lib/trac/nome_do_projeto/

$ sudo htpasswd -c .passwd nome_do_admin

11. Configurar o arquivo hosts para responder para o localhost os nomes configurados no Apache

$ sudo vim /etc/hosts

127.0.0.1 trac.home.local trac svn.home.local svn

11.1 Caso queira configurar um servidor de nomes faça:

*** esta seção será publicada em breve em um outro post sobre configuração de servidor de nomes Bind9, aguarde!!! ***

Edit: Como instalar um servidor de nomes simples no Ubuntu 8.04 (Hardy)

12. Reiniciar e testar

$ sudo /etc/init.d/apache2 reload

acessar http://svn/nome_do_projeto para o subversion
acessar http://trac/nome_do_projeto para o trac

Comments

7 Responses to “Instalando o Trac e o Subversion em 12 passos no Ubuntu 8.04 (Hardy)”

  1. Leandro on agosto 18th, 2008 23:21

    NameVirtualHost *:80

    ServerName svn.home.local
    ServerAlias svn
    ServerAdmin leandroandreotti@gmail.com
    ErrorLog /var/log/apache2/error_svn_log
    CustomLog /var/log/apache2/access_svn_log common

    DAV svn
    SVNPath /var/svn/repositories
    AuthType Basic
    AuthName “Subversion Repository”
    AuthUserFile /var/trac/passwdfile
    Require valid-user

  2. Leandro on agosto 18th, 2008 23:27

    Estou tentando executar o comando:
    sudo /etc/init.d/apache2 reload

    Mas este erro ocorre:
    Syntax error on line 13 of /etc/apache2/sites-enabled/svn:
    AuthName takes one argument, The authentication realm (e.g. “Members Only”)
    …fail!

    O conteúdo do arquivo /etc/apache2/sites-available/svn é:
    NameVirtualHost *:80

    ServerName svn.home.local
    ServerAlias svn
    ServerAdmin leandroandreotti@gmail.com
    ErrorLog /var/log/apache2/error_svn_log
    CustomLog /var/log/apache2/access_svn_log common

    DAV svn
    SVNPath /var/svn/repositories
    AuthType Basic
    AuthName “Subversion Repository”
    AuthUserFile /var/trac/passwdfile
    Require valid-user

    Tem alguma idéia do que seja???

  3. allan on agosto 19th, 2008 21:56

    Tenho, você não seguiu a risca as instruções do post, revise todos os códigos e comandos do post.

  4. Como instalar um servidor de nomes simples no Ubuntu 8.04 (Hardy) : Jornal do Jerimum on agosto 20th, 2008 11:54

    [...] Instalando o Trac e o Subversion em 12 passos no Ubuntu 8.04 (Hardy) [...]

  5. Como instalar um servidor de nomes simples no Ubuntu 8.04 (Hardy) « 3c0linux on agosto 24th, 2008 21:35

    [...] de nomes que irá resolver urls para endereços IP, esse artigo é um complemento ao artigo de instalação do Subversion/Trac e não objetiva a completa compreenção do funcionamento de um servidor de nomes, mas tão somente [...]

  6. Luciano Panepucci on setembro 26th, 2008 10:07

    Olá,

    No passo 12 acho que deveria ser “restart” ao invés de “reload” não??

    Por isso o Leandro teve problemas?

  7. Luiz on outubro 17th, 2008 0:13

    Leandro o seu erro da linha 13 é o seguinte:

    O Auth name deve ser o mesmo presente no arquivo .passwd

    digite sudo gedit /var/trac/passwdfile

    ou sudo gedit /var/trac/.passwd

    e verifique o que esta escrito:

    EX: nome_projeto:dawe2d3d

    assim o AuthName devera ser “nome_projeto”

    Outro erro que eu estava cometendo e que alguem mais pode estar passando por isso:

    # ou o nome configurado no DNS

    Deve ser eliminado completamente

    restando apenas

    ServerName svn.home.local

    ou

    ServerName trac.home.local

    Valeu jerimum!

Leave a Reply