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