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.
- Instale os pacotes necessários.sudo aptitude install enscript libapache2-mod-python python-docutils trac db4.3-util libapache2-svn subversion-tools
- 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
- Crie um grupo de desenvolvimento e adicione o usuário da web a ele.sudo addgroup example; sudo adduser www-data example
- 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 - Defina as permissões adequadas.sudo chmod 2770 /var/local/svn/svn.example.com
- Configure o repositório.sudo svnadmin create /var/local/svn/svn.example.com
- 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 - Permita que o grupo escreva no repositório.sudo chmod -R g+w /var/local/svn/svn.example.com
- Defina a propriedade adequada dos arquivos.sudo chown -R www-data:example /var/local/svn/svn.example.com
- 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
- Crie um diretório para os arquivos de log.sudo mkdir /var/log/apache2/svn.example.com
- Adicione o site à lista de rotação de logs.sudo vi /etc/logrotate.d/apache2
- 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.
Referência:/etc/apache2/mods-enabled/dav_svn.confServerName 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/ - Ative o host virtual do subversion.sudo a2ensite svn.example.com
- Crie combinações de usuário/senha.htpasswd /var/local/svn/svn.example.com/conf/passwd username
- Reinicie o servidor web.sudo /etc/init.d/apache2 restart
- 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
- 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
- Defina as permissões adequadas.sudo chmod 2770 /var/local/trac/trac.example.com
- Crie uma instância do Trac.sudo trac-admin /var/local/trac/trac.example.com initenv
- Defina a propriedade adequada no diretório web.sudo chown -R www-data:example /var/local/trac/trac.example.com
- Permita que o grupo escreva no repositório.sudo chmod -R g+w /var/local/trac/trac.example.com
- Configure-o.sudo vi /var/local/trac/trac.example.com/conf/trac.ini
- Crie um diretório para os arquivos de log.sudo mkdir /var/log/apache2/trac.example.com
- Adicione o site à lista de rotação de logs.sudo vi /etc/logrotate.d/apache2
- 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 TracReferência: http://trac.edgewall.org/wiki/TracOnUbuntuServerName 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 - Ative o host virtual do Trac.sudo a2ensite trac.example.com
- 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
- 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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.