Bastos

let’s code!


Instalando TRAC/SVN/DAV com Apache

Instalei o subversion com trac e webdav aqui no servidor, foi duro mas no final deu tudo certo, o trac e o webdav estão instalados e suportando múltiplos projetos. O 1° que estou hospedando aqui é meu pequeno wiki feito com Camping, o textcamp.

Essas linhas deram certo dentro da diretiva VirtualHost / Location do httpd.conf

SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/svn/trac
PythonOption TracUriRoot /projects
SetEnv PYTHON_EGG_CACHE /tmp

Encontrei em muitos locais outros meios de configuração, mas esses ai deram certo aqui num Fedora. Coloquei todos os tracs em /var/svn/trac (ex:/var/svn/trac/textcamp) e todos os repositórios em /var/svn/repositories/ (ex:/var/svn/repositories/textcamp), Assim o webdav e o trac conseguem ver todos e mostrar no caso do trac até uma lista deles. Para o webdav reconhecer vários repositórios basta usar:

SVNParentPath /var/svn/repositories

ao invés de:

SVNPath /var/svn/repositories/textcamp

o mesmo com a configuração do trac:

PythonOption TracEnvParentDir /var/svn/trac

No meu servidor eu usei mod_python pois é mais rápido que o fastcgi.

No final ficou assim:

<VirtualHost *>
ServerName code.zusee.com
DocumentRoot /var/www/vhosts/code.zusee.com/docs
ErrorLog /var/log/httpd/error_svn_log
CustomLog /var/log/httpd/access_svn_log common

<Location /projects>
  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend
  PythonOption TracEnvParentDir /var/svn/trac
  PythonOption TracUriRoot /projects
  SetEnv PYTHON_EGG_CACHE /tmp
</Location>

<LocationMatch "/projects/[[:alnum:]]+/login">
        AuthType Basic
        AuthName "trac"
        AuthUserFile /var/passwdfile
        Require valid-user
</LocationMatch>

<Location "/dav">
  DAV svn
# SVNPath /var/svn/repositories
  SVNParentPath /var/svn/repositories
   AuthType Basic
  AuthName "Zusee Subversion"
  AuthUserFile /var/passwdfile
  <LimitExcept GET PROPFIND OPTIONS REPORT>
  Require valid-user
  </LimitExcept>
  # SSLRequireSSL
</Location>

</VirtualHost>

Outra coisa, aqui eu usei um virtualhost explicitado mesmo pq tinha que configurar essas diretivas, mas no servidor instalei o mod_vhost_alias que faz com que se crie subdomínios apenas com pastas ;)

Published by Bastos, on June 20th, 2007 at 5:35 pm.
Filled under: apache, subversion, trac, zusee 7 Comments

7 Responses to “Instalando TRAC/SVN/DAV com Apache”

  1. Amigo você tem o tutorial de instalação completo. Se puder me enviar por e-mail eu agradeço.

    Comment by Alex on July 3, 2007 at 2:42 pm



  2. Infelizmente não tenho Alex, fiz esse mini micro tutorial ai usando diversas fontes que vi na web. Espero em breve escrever mais sobre.

    Abraços,

    Comment by Bastos on July 15, 2007 at 2:27 pm



  3. Uma coisinha,

    chown apache.apache /seu/repositorios -R
    

    O apache precisa de permissões para usar seus repositórios!

    Comment by Bastos on September 12, 2007 at 11:40 am



  4. ola cara,

    parabens pelo tutorial……mas estou com uns probleminhas……no arquivo de configuração do apache, a tag obrigatoriamente tem q ficar dentro de ????

    c puder mandar um email pra mim……pra gente trocar experiências
    Ricardo

    Comment by ricardo on January 16, 2008 at 11:22 am



  5. Ricardo tudo isso tem que estar nos arquivos de configuração dos seus virtual hosts, geralmente em /etc/httpd/conf/extra tem um arquivo chamado httpd-vhost.conf, dê uma olhada nele e você vai sacar, se tiver mais algum problema manda ;)

    Abraços,

    ps: Estou usando agora o Mercurial para controle de versão

    Comment by Bastos on January 17, 2008 at 8:33 am



  6. Estou tentando instalar o svn com trac no ubuntu 8, segui todos os passos acima mas não entendi o que significa “code.zusee.com” do arquivo acima.
    E quando eu executo o comando: sudo /etc/init.d/apache2 start
    este erro ocorre:
    sudo: unable to resolve host leandro-laptop
    * Starting web server apache2
    apache2: apr_sockaddr_info_get() failed for leandro-laptop
    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
    Tem alguma idéia do que seja???
    Abraços

    Comment by Leandro on August 18, 2008 at 11:08 pm



  7. “code.zusee.com” no meu caso é o nome do domínio.

    Qualquer coisa se tentar fazer localmente adiciona ele no seu /etc/hosts

    Comment by Bastos on August 24, 2008 at 6:41 pm



Leave a Reply