fsfs /svn # svnadmin create --fs-type bdb /svnO repositorio criado estara vazio e comecara a contar a partir da revisao 0 (zero), a qual correspondera a sua criacao. Para mais informacoes sobre o tipo do repositorio acesse http://svnbook.red-bean.com/nightly/en/svn.reposadmin.html Configurar o apacheO apache e usado porque alem de ser o servidor http mais usual, atraves do modulo mod_dav_svn.so ele consegue acessar um repositorio svn e torna-lo acessivel para clientes que usam o protocolo WebDAV/DeltaV, (e o caso do comando svn, o qual veremos ainda neste documento), ele e uma extensao do protocolo HTTP. Onde o arquivo de configuracao, do subversion, e armazenado pode variar de distribuicao para distribuicao. Por exemplo, ele pode estar tanto em /etc/httpd/conf.d/subversion.conf, como em /etc/apache/conf/conf.d/subversion.conf, ou ate mesmo em outro diretorio. Muitas vezes e possivel localiza-lo atraves do comando locate: # locate subversion.confPor isso, neste documento, trataremos o arquivo de configuracao apenas por: subversion.conf. Vamos abordar duas formas de configuracao, sao elas: acesso irrestrito para leitura e escrita (sem senha) acesso irrestrito para leitura e acesso restrito para escrita (com senha) Antes de tudo faca um backup do arquivo de configuracao original: # cp subversion.conf subversion.conf.origAjustar o dono do svnComo vamos configurar o apache para o gerenciamento do repositorio, e importante configurarmos o seu dono, pois estaremos lendo e escrevendo no svn atraves do protocolo HTTP. Mude o dono do diretorio /svn de root para apache: # chown -R apache.apache /svnEssa modificacao e necessaria para que o svn fique acessivel via http. Caso o usuario root continuasse como dono do diretorio e dos demais arquivos, o apache nao teria permissoes para acessa-los. Em algumas distribuicoes o usuario chama-se www ao inves de apache, verifique o nome do usuario do apache antes de executar esse comando. Acesso irrestrito para leitura e escritaAbaixo segue um exemplo de configuracao do arquivo subversion.conf para o acesso sem senha. Use-o caso deseje configurar um servidor svn sem senha. # inicio do arquivo subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so DAV svn SVNPath /svn # desliga senha SVNPathAuthz off # fim do arquivo subversion.confAcesso irrestrito para leitura e acesso restrito para escritaAbaixo segue um exemplo de configuracao do arquivo subversion.conf para o acesso com senha. Use-o caso deseje configurar um servidor svn com senha para escrita. # inicio do arquivo subversion.conf LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so DAV svn SVNPath /svn # autenticando um usuario AuthType Basic AuthName "Subversion repository" AuthUserFile /etc/svn-passwd # qualquer operacao que nao seja leitura requer um usuario valido Require valid-user # fim do arquivo subversion.confMais informacoes sobre como configurar o arquivo subversion.conf Criar o arquivo de senhaSe o svn foi configurado com senha, como em um dos exemplos acima, sera necessario criar o arquivo /etc/svn-passwd, ou o correspondente da sua configuracao, onde serao armazenados os usuarios, os quais terao acesso de escrita no repositorio /svn e suas respectivas senhas. Ele pode ser criado por meio do seguinte comando: # htpasswd -c /etc/svn-passwd rootO comando acima cria o arquivo /etc/svn-passwd e pede que a senha do usuario root seja informada. Para adicionar um novo usuario pode-se usar o comando abaixo: #