Primeiramente, baixe os pacotes devidos:
- Código: Selecionar todos
apt-get install subversion libapache-mod-dav libapache2-svn
Feito isto, já deve estar pronto para a utilização, então crie no var um diretório para o domínio:
- Código: Selecionar todos
mkdir -p /var/svn/repositorios/seu_dominio.com.br
chown www-data.www-data /var/svn/repositorios/seu_dominio.com.br
Para criar um repositório:
- Código: Selecionar todos
svnadmin create /var/svn/repositorios/seu_dominio.com.br/nome_repos
Pronto, seu repositório já está criado! Mas agora vamos deixá-lo acessível pelo Apache. Vou demonstrar aqui como criar um sub-domínio para ele, que é o mais complicado que deixar dentro de uma pasta.
Primeiro, vamos criar o sub-domínio:
- Código: Selecionar todos
vi /etc/vhcs2/bind/working/seu_dominio.com.br.db (pode ser o editor de textos de sua preferência)
Inclua as linhas:
- Código: Selecionar todos
; sub [svn.basso.eng.br] entry BEGIN.
svn.seu_dominio.com.br. IN A 201.20.20.255
; sub [svn.basso.eng.br] entry END.
Antes de:
- Código: Selecionar todos
; sub [{SUB_NAME}] entry BEGIN.
Não esqueça de trocar o IP pelo do seu servidor.
Copie o arquivo do bind para o diretório válido:
- Código: Selecionar todos
cp /etc/vhcs2/bind/working/seu_dominio.com.br.db /var/cache/bind/
Restartar o bind para o sub-domínio entrar em ação:
- Código: Selecionar todos
/etc/init.d/bind9 restart
Ok, você já tem o domínio e o SVN funcionando, falta incluir no apache agora. Então, vamos editar o arquivo de configuração:
- Código: Selecionar todos
vi /etc/vhcs2/apache/working/vhcs2.conf
Antes da linha:
- Código: Selecionar todos
# httpd [seu_dominio.com.br] dmn entry BEGIN.
Insira:
- Código: Selecionar todos
# httpd [svn.seu_dominio.com.br] sub entry BEGIN.
<VirtualHost 201.20.20.72:80>
ServerAdmin root@seu_dominio.com.br
ServerName svn.seu_dominio.com.br
ServerAlias svn.seu_dominio.com.br
ErrorLog /var/log/apache2/users/svn.seu_dominio.com.br-error.log
TransferLog /var/log/apache2/users/svn.seu_dominio.com.br-access.log
CustomLog /var/log/apache2/seu_dominio.com.br-traf.log traff
CustomLog /var/log/apache2/seu_dominio.com.br-combined.log combined
<Location />
DAV svn
SVNParentPath /var/svn/repositorios/seu_dominio.com.br
SVNListParentPath on
AuthType Basic
AuthName "SVN seu_dominio.com.br"
AuthUserFile /var/svn/repositorios/seu_dominio.com.br/.passwd
Require valid-user
</Location>
</VirtualHost>
# httpd [svn.seu_dominio.com.br] sub entry END.
Salve o arquivo e copie para /etc/apache2/sites-available.
Execute o seguinte comando para criar os usuários que podem acessar o SVN:
- Código: Selecionar todos
htpasswd -c /var/svn/repositorios/seu_dominio.com.br/.passwd admin
Ele vai pedir pra você preencher uma senha e confirmar. Neste caso, está sendo criado a senha para o usuário admin.
Para criar outros usuários, depois do admin, crie com o comando:
- Código: Selecionar todos
htpasswd -s /var/svn/repositorios/seu_dominio.com.br/.passwd outro.user
Pronto. Basta reiniciar o apache (apache2ctl restart) e está tudo pronto. Para testar, acesse no browser mesmo svn.seu_dominio.com.br.[/code]