Download Nome - svnbook-pt-br

Transcript
Configuração do Servidor
</Location>
Se você pretende disponibilizar múltiplos repositórios Subversion que se encontrem sob um mesmo
diretório-pai em seu disco local, você pode usar uma diretiva alternativa, a diretiva SVNParentPath,
para indicar este diretório-pai comum. Por exemplo, se você sabe que você vai criar múltiplos
repositórios Subversion num diretório /usr/local/svn que poderia ser acessado a partir de URLs
como http://my.server.com/svn/repos1, http://my.server.com/svn/repos2, e assim
por diante, você pode usar a sintaxe de configuração do httpd.conf do exemplo a seguir:
<Location /svn>
DAV svn
# qualquer URL "/svn/foo" vai mapear para um repositório /usr/local/svn/foo
SVNParentPath /usr/local/svn
</Location>
Usando a sintaxe anterior, o Apache vai delegar a manipulação de todas as URLs cuja a parte do
caminho comece com /svn/ para o provedor DAV do Subversion, que então vai assumir que quaisquer
itens no diretório especificado pela diretiva SVNParentPath atualmente são repositórios Subversion.
Esta é uma sintaxe particularmente conveniente para isto, ao contrário do uso da diretiva SVNPath,
você não tem que reiniciar o Apache para criar e acessar via rede os novos repositórios.
Certifique-se de que ao definir seu novo Location, este não se sobreponha a outros Locations
exportados. Por exemplo, se seu DocumentRoot principal estiver exportado para /www, não exporta
um repositório Subversion em <Location /www/repos>. Se vier uma requisição para a URL
/www/repos/foo.c, o Apache não vai saber se deve procurar pelo arquivo repos/foo.c no
DocumentRoot, ou se delega ao mod_dav_svn para que este retorne foo.c a partir do repositório
Subversion. O resultado quase sempre é um erro de servidor no formato 301 Moved Permanently.
Nomes de Servidores e a Requisição COPY
Subversion faz uso da requisição do tipo COPY para executar cópias de arquivos e diretórios do
lado do servidor. Como parte da verificação de integridade é feita pelos módulos do Apache,
espera-se que a origem da cópia esteja localizada na mesma máquina que o destino da cópia.
Para satisfazer este requisito, você vai precisar dizer ao mod_dav o nome do hostname usado em
seu servidor. Geralmente, você pode usar a diretiva ServerName no httpd.conf para fazer isto.
ServerName svn.example.com
Se você está usando o suporte a hosts virtuais do Apache através da diretiva NameVirtualHost,
você pode precisar usar a diretiva ServerAlias para especificar nomes adicionais pelos quais
seu servidor também é conhecido. Mais uma vez, verifique a documentação do Apache para mais
detalhes.
Neste estágio, você deve considerar maciçamente a questão das permissões. Se você já estiver
executando o Apache há algum tempo como seu servidor web regular, você provavelmente já tem uma
porção de conteúdos—páginas web, scripts e similares. Estes itens já devem ter sido configurados com
um conjunto de permissões que lhes possibilitam trabalhar com o Apache, ou mais adequadamente,
que permite ao Apache trabalhar com estes arquivos. O Apache, quando usado como um servidor
Subversion, também vai precisar das permissões corretas para ler e escrever em seu repositório
Subversion.
Você vai precisar determinar uma configuração do sistema de permissões que satisfaça os requisitos
do Subversion sem causar problemas em nenhuma página ou script previamente instalado. Isto pode
significar alterar as permissões de seu repositório Subversion para corresponder àquelas em uso
148