Esse artigo irá mostrar detalhadamente cada passo para a instalação e configuração do VisualSVN Server utilizando certificado digital e trabalhando integrado com a ferramenta Trac, no Windows 7.
Essa primeira parte do artigo irá detalhar o processo de instalação e configuração do VisualSVN Server.
1. Instalando o VisualSVN Server
O VisualSVN Server é um pacote que contém tudo o que é necessário para instalar, configurar e gerenciar um servidor subversion para a plataforma Windows. Isto inclui o Subversion, Apache e um console de gerenciamento.
O VisualSVN Server possibilita o uso de qualquer client Subversion para conexão ou um rápido acesso aos repositórios através de uma interface web (browser).
Além disso, é 100% free.
Faça o download no site http://www.visualsvn.com/server/download/.
1.1. Iniciando a instalação
1.2. Configurações
Essa etapa trás cinco itens de configuração do servidor SVN.
a) Location: Local onde são instalados os arquivos do VisualSVN Server. O default é a pasta “VisualSVN Server”, no diretório “Arquivos de Programas” (ou “Program Files”, se o idioma de seu Windows for o inglês).
b) Repositories: É o diretório padrão usado para repositório, ou seja, o caminho onde os arquivos dos projetos estão ou estarão localizados (repositório do Subversion).
Se o número da equipe de desenvolvedores for considerável e/ou o número de projetos for expressivo, a quantidade de acesso pode tornar-se um gargalo assim como o espaço necessário. Dessa forma, recomendo avaliar com cuidado o grau de acessos e atualizações que serão efetuados de forma a definir um local com espaço e suficientemente rápido para atender à demanda.
c) Server Port: A instalação sugere utilizar ou porta 443 ou a porta 8443. No entanto, é possível modificá-la para outro valor. Nesse caso cuide para não especificar um valor conflitante com a porta utilizado por algum outro aplicativo (consulte Lista padrão de serviços e portas associadas).
d) HTTPS: Determina se o servidor svn irá ou não utilizar conexões seguras (https). É recomendado que deixe essa opção marcada.
e) Authentication: Esse parâmetro é particularmente interessante e deve ser configurado de acordo com a necessidade de cada empresa.
A autenticação dos usuários nas conexões ao servidor pode ser feita de duas formas: 1 – Utilizando usuários e grupos configurados no próprio servidor; 2 – Utilizando os usuários do Windows (login e senha da rede local ou do ActiveDirectory).
Se for utilizar a autenticação do subversion (opção 1), todos os logins e senhas deverão ser criados.
Nesse tutorial instalaremos o VisualSVN com as configurações padrões. Principalmente porque o objetivo é a utilização de certificados digitais para garantir a segurança dos acessos e, para isso, no mínimo a opção https deve estar marcada.
Caso seja necessário, todos esses itens de configuração podem ser modificados no console de gerenciamento.
1.3. Instalação Concluída
Concluído a instalação o console de gerenciamento será executado exibindo uma interface semelhante a da imagem abaixo.
2. Criando Repositórios
A criação de repositório é muito simples. Você utilizará o console de gerenciamento para isso.
Clique com o botão direito sobre o tópico Repositories. Várias opções serão apresentadas em um popup menu, entre elas New.
Ao clicar em Repository... um dialog será apresentado solicitando que informe o nome do repositório que deseja criar.
Não é obrigatório, mas se você deseja trabalhar com o sistema de private branches, recomendo marcar a opção Create default structure. Essa opção irá criar automaticamente as pastas trunk, branches e tags na estrutura do repositório.
3. Importando Repositórios
Se você já possui um repositório e deseja importá-lo ao gerenciamento do VisualSVN, você pode proceder de forma manual ou através do console de gerenciamento.
Na forma manual basta você copiar o repositório desejado para a pasta D:\Repositórios\SVN (ou para o diretório que você especificou como sendo o repositório padrão do Subversion).
Se desejar fazer através do console de gerenciamento, acesse a opção Import Existing Repository, como detalha a imagem abaixo.
Ao selecionar essa opção, um dialog será exibido solicitando que informe o diretório de localização do Repository na qual deseja importar e um nome para o mesmo.
Um ponto a ser observado é que a importação de repositórios deveser feito projeto a projeto.
O exemplo acima mostra a importação do projeto WorkPlus que está no repositório antigo (I:\Repositories\). E, no caso de uma migração entre repositório, esse procedimento deve ser repetido para os demais projetos.
Tanto a cópia manual das pastas quanto a importação de repositórios não considerada a lista de usuários e as regras/restrições de acessos. Essa informação não está armazenada dentro dos projetos e sim no próprio repositório (D:\Repositories\SVN). Maiores detalhes serão apresentados no tópico abaixo.
4. Usuários e Controle de Acesso
A criação dos usuários pode ser feita utilizando os links (“Create new user...” e “Create new group...”) dessa mesma página principal ou clicando com o botão direito sobre a pasta “Users” no lado esquerdo da console de gerenciamento.
Tome cuidado na definição das senhas. Elas são sensitivas a maiúsculo-minúscula. O nome dos usuários também é case sensitive.
4.1. Restringindo o Acesso
No acesso via web browser ou através de um client subversion ao repositório, ou a um projeto específico, será solicitado login. O acesso será liberado somente os usuários que foram cadastrados. No entanto o VisualSVN Server, ao ser instalado, vem com uma configuração padrão que dá acesso completo ao repositório a qualquer usuário (quando é dito “qualquer usuário” está se referindo aos usuários previamente cadastrados).
Observe que a permissão do usuário especial “Everyone” está definida como leitura e escrita (default da instalação).
O controle de acesso do repositório subversion é bastante flexível e possibilita restringir o acesso não somente a todo o repositório, mas também para diretórios e mesmo arquivos específicos. No entanto, tome cuidado para não especificar regras que venham conflitar com outras, resultando em um comportamento indesejado.
Um exemplo de regra conflitante é definir as permissões do usuário “Everyone” como “No Access” e acrescentar outros usuários/grupos. O resultado é falha sempre que os usuários tentarem fazer um svn commit, mesmo tais usuários tendo permissão “Read / Write”.
4.2. Migrando repositórios
Como comentado no capítulo anterior (3. Importando Repositórios), as informações sobre usuários, grupos e restrições de acesso são armazenados no repositório raiz (C:\Repositories, ou outro caminho que você tenha especificado na instalação) através dos arquivos htpasswd e authz.
No arquivo htpasswd são armazenados os usuários e suas respectivas senhas (criptografadas). O arquivo authz contém as restrições de acesso aos repositórios.
Durante a importação dos projetos, nem a lista de usuários/grupos nem as regras de acesso serão importadas, sendo assumido por default o controle de acesso do repositório raiz. Nesse caso é possível copiar as linhas relativas ao projeto que está sendo importando do arquivo authz do repositório antigo para o novo. Isso é possível porque o arquivo é armazenado em formato texto e sua sintaxe é simples.
Essa primeira parte do artigo irá detalhar o processo de instalação e configuração do VisualSVN Server.
1. Instalando o VisualSVN Server
O VisualSVN Server é um pacote que contém tudo o que é necessário para instalar, configurar e gerenciar um servidor subversion para a plataforma Windows. Isto inclui o Subversion, Apache e um console de gerenciamento.
O VisualSVN Server possibilita o uso de qualquer client Subversion para conexão ou um rápido acesso aos repositórios através de uma interface web (browser).
Além disso, é 100% free.
Faça o download no site http://www.visualsvn.com/server/download/.
1.1. Iniciando a instalação
1.2. Configurações
Essa etapa trás cinco itens de configuração do servidor SVN.
a) Location: Local onde são instalados os arquivos do VisualSVN Server. O default é a pasta “VisualSVN Server”, no diretório “Arquivos de Programas” (ou “Program Files”, se o idioma de seu Windows for o inglês).
b) Repositories: É o diretório padrão usado para repositório, ou seja, o caminho onde os arquivos dos projetos estão ou estarão localizados (repositório do Subversion).
Se o número da equipe de desenvolvedores for considerável e/ou o número de projetos for expressivo, a quantidade de acesso pode tornar-se um gargalo assim como o espaço necessário. Dessa forma, recomendo avaliar com cuidado o grau de acessos e atualizações que serão efetuados de forma a definir um local com espaço e suficientemente rápido para atender à demanda.
c) Server Port: A instalação sugere utilizar ou porta 443 ou a porta 8443. No entanto, é possível modificá-la para outro valor. Nesse caso cuide para não especificar um valor conflitante com a porta utilizado por algum outro aplicativo (consulte Lista padrão de serviços e portas associadas).
d) HTTPS: Determina se o servidor svn irá ou não utilizar conexões seguras (https). É recomendado que deixe essa opção marcada.
e) Authentication: Esse parâmetro é particularmente interessante e deve ser configurado de acordo com a necessidade de cada empresa.
A autenticação dos usuários nas conexões ao servidor pode ser feita de duas formas: 1 – Utilizando usuários e grupos configurados no próprio servidor; 2 – Utilizando os usuários do Windows (login e senha da rede local ou do ActiveDirectory).
Se for utilizar a autenticação do subversion (opção 1), todos os logins e senhas deverão ser criados.
Nesse tutorial instalaremos o VisualSVN com as configurações padrões. Principalmente porque o objetivo é a utilização de certificados digitais para garantir a segurança dos acessos e, para isso, no mínimo a opção https deve estar marcada.
Caso seja necessário, todos esses itens de configuração podem ser modificados no console de gerenciamento.
1.3. Instalação Concluída
Concluído a instalação o console de gerenciamento será executado exibindo uma interface semelhante a da imagem abaixo.
2. Criando Repositórios
A criação de repositório é muito simples. Você utilizará o console de gerenciamento para isso.
Clique com o botão direito sobre o tópico Repositories. Várias opções serão apresentadas em um popup menu, entre elas New.
Ao clicar em Repository... um dialog será apresentado solicitando que informe o nome do repositório que deseja criar.
Não é obrigatório, mas se você deseja trabalhar com o sistema de private branches, recomendo marcar a opção Create default structure. Essa opção irá criar automaticamente as pastas trunk, branches e tags na estrutura do repositório.
3. Importando Repositórios
Se você já possui um repositório e deseja importá-lo ao gerenciamento do VisualSVN, você pode proceder de forma manual ou através do console de gerenciamento.
Na forma manual basta você copiar o repositório desejado para a pasta D:\Repositórios\SVN (ou para o diretório que você especificou como sendo o repositório padrão do Subversion).
Se desejar fazer através do console de gerenciamento, acesse a opção Import Existing Repository, como detalha a imagem abaixo.
Ao selecionar essa opção, um dialog será exibido solicitando que informe o diretório de localização do Repository na qual deseja importar e um nome para o mesmo.
Um ponto a ser observado é que a importação de repositórios deveser feito projeto a projeto.
O exemplo acima mostra a importação do projeto WorkPlus que está no repositório antigo (I:\Repositories\). E, no caso de uma migração entre repositório, esse procedimento deve ser repetido para os demais projetos.
Tanto a cópia manual das pastas quanto a importação de repositórios não considerada a lista de usuários e as regras/restrições de acessos. Essa informação não está armazenada dentro dos projetos e sim no próprio repositório (D:\Repositories\SVN). Maiores detalhes serão apresentados no tópico abaixo.
4. Usuários e Controle de Acesso
Logo após a instalação do VisualSVN Server o sistema não possui qualquer conta de usuário definida. E é necessário possuir pelo menos um usuário para acesso aos projetos via web browser.
A imagem ao lado pertence à página principal do console de gerenciamento do VisualSVN Server e podemos observar claramente que não há usuários e nem grupos definidos.
A imagem ao lado pertence à página principal do console de gerenciamento do VisualSVN Server e podemos observar claramente que não há usuários e nem grupos definidos.
A criação dos usuários pode ser feita utilizando os links (“Create new user...” e “Create new group...”) dessa mesma página principal ou clicando com o botão direito sobre a pasta “Users” no lado esquerdo da console de gerenciamento.
Tome cuidado na definição das senhas. Elas são sensitivas a maiúsculo-minúscula. O nome dos usuários também é case sensitive.
4.1. Restringindo o Acesso
No acesso via web browser ou através de um client subversion ao repositório, ou a um projeto específico, será solicitado login. O acesso será liberado somente os usuários que foram cadastrados. No entanto o VisualSVN Server, ao ser instalado, vem com uma configuração padrão que dá acesso completo ao repositório a qualquer usuário (quando é dito “qualquer usuário” está se referindo aos usuários previamente cadastrados).
Essa configuração padrão é “herdada” sempre que um repositório for criado ou importado. E para evitar acessos indesejados devido a descuidos, particularmente, eu recomendo remover o acesso “Everyone”.
Para isso acesse o menu de contexto em “Repositories”, no console de gerenciamento, e click na opção “Properties”, como exemplifica a imagem à esquerda.
Observe que a permissão do usuário especial “Everyone” está definida como leitura e escrita (default da instalação).
O controle de acesso do repositório subversion é bastante flexível e possibilita restringir o acesso não somente a todo o repositório, mas também para diretórios e mesmo arquivos específicos. No entanto, tome cuidado para não especificar regras que venham conflitar com outras, resultando em um comportamento indesejado.
Um exemplo de regra conflitante é definir as permissões do usuário “Everyone” como “No Access” e acrescentar outros usuários/grupos. O resultado é falha sempre que os usuários tentarem fazer um svn commit, mesmo tais usuários tendo permissão “Read / Write”.
4.2. Migrando repositórios
Como comentado no capítulo anterior (3. Importando Repositórios), as informações sobre usuários, grupos e restrições de acesso são armazenados no repositório raiz (C:\Repositories, ou outro caminho que você tenha especificado na instalação) através dos arquivos htpasswd e authz.
No arquivo htpasswd são armazenados os usuários e suas respectivas senhas (criptografadas). O arquivo authz contém as restrições de acesso aos repositórios.
Durante a importação dos projetos, nem a lista de usuários/grupos nem as regras de acesso serão importadas, sendo assumido por default o controle de acesso do repositório raiz. Nesse caso é possível copiar as linhas relativas ao projeto que está sendo importando do arquivo authz do repositório antigo para o novo. Isso é possível porque o arquivo é armazenado em formato texto e sua sintaxe é simples.
4 comentários:
Fala Fabius !
Você conseguiu fazer o trac rodar no windows e integrado ao Visual SVN ?
Grande abraço !
Sim, consegui. Inclusive uso, hoje, o Trac integrado no VisualSVN Server sob o Windows Seven com autenticação via certificado digital (exatamente como o título do artigo sugere).
Muitas vezes os primeiros passos são um tanto tortuosos.
Se precisar de ajuda, retorne ao email desse blog (flovato@gmail.com).
Fábio boa noite uma pergunta e quanto terminar o projeto como remove-lo do SVN?
Você ou alguém já fez isto?
Olá Rodrigo.
Quando o projeto for concluído e você desejar excluir o repositório deste, uma das formas é clicar com o botão direito sobre o repositório desejado (dentro do VisualSVN Server Manager) e escolher a opção "Delete".
Você também pode fazer manualmente, excluindo a respectiva pasta do projeto.
Postar um comentário