Subversion Trac · 3 min read · Jan 20, 2026

Configurando Subversion E Trac Como Hosts Virtuais Em Um Servidor Ubuntu

Configurando Subversion E Trac Como Hosts Virtuais Em Um Servidor Ubuntu

Este guia descreve o processo pelo qual se pode configurar o sistema de controle de versão Subversion e fazê-lo funcionar em conjunto com o Trac, o gerenciador de projetos para projetos de desenvolvimento de software, em um servidor rodando Ubuntu (ou possivelmente Debian). É trazido a você pela Openject Consulting.

Configurando Subversion

Para informações detalhadas sobre isso, incluindo configurações alternativas, dê uma olhada em Controle de Versão com Subversion.

  1. Instale os pacotes necessários.sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
  2. Crie um diretório de host virtual para SVN. Usaremos /var/local/svn em vez de /var/www para que as instâncias do Subversion não sobrecarreguem o diretório de diretórios raiz da web.sudo mkdir -p /var/local/svn/svn.example.com
  3. Crie um grupo de desenvolvimento e adicione o usuário da web a ele.sudo addgroup example; sudo adduser www-data example
  4. Adicione usuários ao grupo de desenvolvimento. Estas são pessoas que precisam de acesso ao repositório.sudo adduser username1 example
    sudo adduser username2 example
    sudo adduser username3 example
  5. Defina as permissões adequadas.sudo chmod 2770 /var/local/svn/svn.example.com
  6. Configure o repositório.sudo svnadmin create /var/local/svn/svn.example.com
  7. Limpe o arquivo de senha atual. Por padrão, é para o protocolo svnserve, mas usaremos HTTPS (ou apenas HTTP). Adicionaremos usuários a este arquivo mais tarde no processo.sudo rm /var/local/svn/svn.example.com/conf/passwd
    sudo touch /var/local/svn/svn.example.com/conf/passwd
  8. Permita que o grupo escreva no repositório.sudo chmod -R g+w /var/local/svn/svn.example.com
  9. Defina a propriedade adequada dos arquivos.sudo chown -R www-data:example /var/local/svn/svn.example.com
  10. Defina as permissões de acesso ao repositório. Informações sobre como fazer isso podem ser encontradas na seção Autorização Baseada em Caminho de Controle de Versão com Subversion.sudo vi /var/local/svn/svn.example.com/conf/authz
  11. Crie um diretório para os arquivos de log.sudo mkdir /var/log/apache2/svn.example.com
  12. Adicione o site à lista de rotação de logs.sudo vi /etc/logrotate.d/apache2
  13. Configure o host virtual…sudo vi /etc/apache2/sites-available/svn.example.com…com os seguintes dados. Se você não se importa com SSL, pode ignorar as opções de SSL e executar isso na porta 80. ServerName svn.example.com DAV svn AuthType Basic AuthName "svn.example.com" AuthUserFile /var/local/svn/svn.example.com/conf/passwd AuthzSVNAccessFile /var/local/svn/svn.example.com/conf/authz SVNPath /var/local/svn/svn.example.com Require valid-user CustomLog /var/log/apache2/svn.example.com/access.log combined ErrorLog /var/log/apache2/svn.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # Adicione isso uma vez que haja um certificado real (não autoassinado). # SSLCertificateKeyFile /etc/apache2/ssl/server.key ServerName svn.example.com Redirect / https://svn.example.com/ Referência:/etc/apache2/mods-enabled/dav_svn.conf
  14. Ative o host virtual do subversion.sudo a2ensite svn.example.com
  15. Crie combinações de usuário/senha.htpasswd /var/local/svn/svn.example.com/conf/passwd username
  16. Reinicie o servidor web.sudo /etc/init.d/apache2 restart
  17. Se você vai ter usuários trabalhando localmente, configure o svnwrap. (Veja a página do manual para detalhes.)sudo ln -s /usr/bin/svnwrap /usr/local/bin/svn

Configurando Trac

  1. Crie o diretório web. Usaremos /var/local/trac em vez de /var/www para não sobrecarregar o diretório de raízes da web.sudo mkdir -p /var/local/trac/trac.example.com
  2. Defina as permissões adequadas.sudo chmod 2770 /var/local/trac/trac.example.com
  3. Crie uma instância do Trac.sudo trac-admin /var/local/trac/trac.example.com initenv
  4. Defina a propriedade adequada no diretório web.sudo chown -R www-data:example /var/local/trac/trac.example.com
  5. Permita que o grupo escreva no repositório.sudo chmod -R g+w /var/local/trac/trac.example.com
  6. Configure-o.sudo vi /var/local/trac/trac.example.com/conf/trac.ini
  7. Crie um diretório para os arquivos de log.sudo mkdir /var/log/apache2/trac.example.com
  8. Adicione o site à lista de rotação de logs.sudo vi /etc/logrotate.d/apache2
  9. Configure o host virtual…sudo vi /etc/apache2/sites-available/trac.example.com…com os seguintes dados. Se você não se importa com SSL, pode pular as opções de SSL e executar isso na porta 80. # Configuração do Trac ServerName trac.example.com Redirect / https://trac.example.com/ ServerName trac.example.com DocumentRoot /var/local/trac/trac.example.com/ Alias /trac/ /usr/share/trac/htdocs Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonInterpreter main_interpreter PythonOption TracEnv /var/local/trac/trac.example.com/ PythonOption TracUriRoot / AuthType Basic AuthName "trac.example.com" # Use o arquivo de senha do SVN. AuthUserFile /var/local/svn/svn.example.com/conf/passwd Require valid-user CustomLog /var/log/apache2/trac.example.com/access.log combined ErrorLog /var/log/apache2/trac.example.com/error.log SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem # Adicione isso uma vez que haja um certificado real (não autoassinado). # SSLCertificateKeyFile /etc/apache2/ssl/server.key Referência: http://trac.edgewall.org/wiki/TracOnUbuntu
  10. Ative o host virtual do Trac.sudo a2ensite trac.example.com
  11. Configure as permissões do Trac. Uma vez dentro do console de administração, execute o comando “help permission” para informações sobre como fazer isso. Isso é importante porque algumas configurações são permissivas por padrão, quando deveriam ser restritivas. Além disso, veja a página do wiki TracPermissions que vem com sua nova instalação.trac-admin /var/local/trac/trac.example.com
  12. Reinicie o servidor web.sudo /etc/init.d/apache2 restart

A última coisa a fazer é adicionar os subdomínios “svn” e “trac” à configuração DNS do seu domínio. Uma vez feito isso, o Subversion e o Trac estarão integrados ao seu ambiente de servidor e serão acessíveis pela web.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.