ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Instalar e configurar um servidor Subversion, (SVN), no Wind

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
joemil
Moderador
Moderador


Registrado: Quinta-Feira, 25 de Março de 2004
Mensagens: 9098
Localização: Sinop-MT

MensagemEnviada: Ter Jan 11, 2011 8:41 am    Assunto: Instalar e configurar um servidor Subversion, (SVN), no Wind Responder com Citação

Citação:
VOU DEIXAR ESTE POST FIXO POR ALGUNS DIAS


A alguns dias estou implementando um servidor de Subversion na empresa onde trabalho, tenho lido muito a respeito, feito inúmeros testes e irei postar, gradativamente aqui no blog, matérias a respeito do assunto.

Como encontrei pouquíssima documentação técnica a respeito do assunto em Português tentarei criar uma série de tutoriais para ajudar quem precisa.
Quando falo documentação técnica entenda-se Manuais de instalação e configurações avançadas como determinar quem vai ter acesso ao que e que tipo de acesso, utilizando autenticação de usuários de uma rede Microsoft Windows integrando o Servidor Apache com o Active Directory da Microsoft.

Um pouco de lenga-lenga. Smile)

Para quem nunca ouviu falar do que se trata, Subversion ou SVN é umSistema de controle de versões, segue definição conforme a Wikipédia;
“Um sistema de controle de versão (ou versionamento), na função prática da Ciência da Computação e da Engenharia de Software, é um software com a finalidade de gerenciar diferentes versões no desenvolvimento de um documento qualquer. Esses sistemas são comumente utilizados no desenvolvimento de software para controlar as diferentes versões – histórico e desenvolvimento – dos códigos-fontes e também da documentação.”
Vamos ao exemplo de uma de suas funcionalidades.
Digamos que existe em determinada empresa cinco desenvolvedores trabalhando num mesmo projeto, este projeto é um portal Web para determinado cliente e é composto por mais de cem páginas, este cinco desenvolvedores teriam que estar constantemente consultando um ao outro sobre qual arquivo está em uso ou sendo desenvolvido para evitar que mais de um desenvolvedor altere o mesmo arquivo.
Utilizando Subversion este problema não existiria!

- Humm... como assim não existiria? Afinal, os arquivos continuam sendo os mesmos, os desenvolvedores também...

Bem, o Subversion possui a capacidade de gerenciar alterações efetuadas por mais de um desenvolvedor no mesmo arquivo e juntar estas alterações no arquivo final, caso ocorram alterações por mais de um desenvolvedor na mesma linha ele acusará o ocorrido e solicitará ajuda para resolver o conflito, tudo muito transparente e simples.

Essa é apenas uma das capacidades da aplicação, talvez a mais importante de suas funcionalidades seja realmente o controle de versões onde é possível a qualquer momento restaurar uma cópia de determinado arquivo, seja para corrigir um problema ou porque o seu chefe achou que o layout da página que você mostrou a ele três dias atrás estava melhor ou qualquer que seja a necessidade.

Não vou descrever aqui todas as funcionalidades da aplicação, afinal, fazendo isso seria como tentar reinventar a roda, deixarei aqui alguns links com informações adicionais sobre suas funcionalidades.

Artigo muito interessante sobre o assunto;
www.pronus.eng.br

Excelente matéria sobre o assunto com exemplo de implementação no Linux;
www.ultimolog.com

No próximo post apresentarei um passo a passo da instalação do Subversion e do Apache integrando a validação de usuários com o Active Directory.

Bem pessoal, estou dando continuidade ao assunto sobre Subversion onde prometi um tutorial sobre instalação e configuração da referida aplicação no Microsoft Windows.

Para este procedimento serão necessários os softwares Apache 2.0.59 eSubversion 1.4.5.

O Apache você pode baixar aqui.

O Subversion você pode baixar aqui.

Concluído o download dos softwares vamos a instalação e configuração.

OBS: O VisualSVN Server já instala o Apache

1 - Instale o Apache 2.0.59, este processo é bastante simples, apenas aceite as definições padrão, típica instalação NNF, (Next - Next - Finish).
Para ver se o apache foi instalado com sucesso, abra o browser e no endereço digite http://localhost/, se tudo estiver certo deverá ser apresentada uma página com informações sobre o Apache.

2 - Instale o Subversion 1.4.5, processo simples também, aceite as opções padrão, mais uma típica instalação NNF, (Next - Next - Finish).

3 - Crie um diretório onde serão hospedados os projetos, por exemplo"C:\SVN", este será o repositório central e os projetos ficarão hospedados em subdiretórios deste.

4 - Abra o console de comandos do DOS, (abra o Executar e digite cmd ou command seguido de Enter), navegue até o diretório onde foi instalado o Subversion, comumente o diretório será "C:\Arquivos de Programas\Subversion" para SO em Português e "C:\Program Files\Subversion" para SO em Inglês.

4.1 - Ainda no console do DOS navegue para o subdiretório \Bin e execute o comando "svnadmin create C:\SVN\<projeto>" sem as aspas, note que onde consta <projeto> você deverá informar o nome de um diretório, neste diretório é onde ficarão hospedados os arquivos do referido projeto, cada projeto ficara em um subdiretório específico, todos estes subdiretórios deverão estar obrigatoriamente dentro do diretório criado no passo 2, onde como exemplo utilizamos o nome de "SVN" passando como caminho "C:\".
EX.: "svnadmin create C:\SVN\FS" onde "C:\SVN\" é o caminho do repositório "pai" e "FS" é o diretório onde ficarão os arquivos do projeto FS.

5 - Concluído o passo 4 devemos criar um serviço no Windows para que o processo de start do serviço do Subversion seja automático toda vez que o servidor seja reiniciado, para isso faça o seguinte;

Crie um arquivo <qualquercoisa>, edite esse arquivo e insira o seguinte comando:

sc create SVNservice binpath= "\"c:\Arquivos de programas\Subversion\bin\svnserve.exe\" –service --root C:\SVN" displayname= "SVNservice" depend= Tcpip
pause

Note que o comando que inicia com "sc" deve estar em uma única linha, o comando "pause" serve para pausar o script e permitir que seja verificada qualquer mensagem de erro que possa ocorrer.

Desmontando o comando:
• sc create = Comando nativo do Windows responsável por criar serviços
SVNservice = Este será o nome interno do service para o Windows
binpath = Variável onde é informado a localização do executável do Servidor do Subversion compreendido por: "\"c:\Arquivos de programas\Subversion\bin\svnserve.exe\"
O parâmetro "--service" que informa ao comando que o executável deve ser tratado como um serviço do Windows
• O parâmetro "--root C:\SVN" que indica onde será o diretório raiz dos projetos, diretório criado no passo 2
• O parâmetro "displayname= "SVNservice"", responsável por dar um nome ao serviço, neste caso o serviço irá aparecer na lista de serviços do Windows com o nome "SVNservice"
• E por fim o parâmetro "depend= Tcpip" indicando que o serviço depende do bom funcionamento de outro serviço, o serviço do protocolo TCP/IP

Feito este processo salve o arquivo <qualquercoisa> e execute-o para criar definitivamente o serviço.

6 - Abra o gerenciador de serviços do Windows, para isso abra o Executar e digite o comando services.msc e clique em OK.
Localize o serviço que acabamos de criar, ele dever estar com o nome "SVNservice", clique com o botão direito do mouse no mesmo, na caixa de diálogo clique em propriedades e altere o campo Tipo de Inicialização para Automático, clique no botão Iniciar, clique em Aplicar e em OK.

7 - Baixe o arquivo "mod_auth_sspi.so" que você encontra emhttp://www.gknw.net/development/apache/httpd-2.0/win32/modules/
e salve ele no diretório \modules que encontra-se no diretório de instalação do Apache, este arquivo é um script que permite ao Apache integrar o servico de autenticação de usuários com os usuários de Rede do Windows.

7.1 - Edite o arquivo "httpd.conf" que está no diretório \conf dentro do diretório de instalação do Apache.

7.2 - Adicione a linha

LoadModule sspi_auth_module modules/mod_auth_sspi.so

acima da linha

LoadModule auth_module modules/mod_auth.so


7.3 - Descomente, (remova o símbolo '#'), da frente das linhas

#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so

7.4 - No mesmo arquivo de configuração adicione após a última linha o seguinte grupo de string

<Location>
DAV svn
SVNListParentPath on
SVNParentPath C:\SVN
AuthType SSPI
AuthName "Subversion repositories"
#AuthUserFile passwd
AuthzSVNAccessFile "<caminho>\svnaccessfile.conf"
Require valid-user
SSPIAuth On
SSPIAuthoritative On
SSPIDomain <domínio>
SSPIOfferBasic On
</Location>

Altere a linha "<Location>", onde consta "SVN" você deve informar o diretório raiz do repositório no Servidor do Subversion, observe que deve existir uma "/" antes do nome do diretório.

Altere a linha "SVNParentPath C:\SVN", onde consta "C:\SVN" você deve informar o caminho do diretório raiz do repositório no Servidor do Subversion.

Altere a linha "SSPIDomain <domínio>", onde consta <domínio> você deve informar a sigla do domínio de sua empresa.

7.4.1 - Crie um arquivo chamado "svnaccessfile.conf" dentro do diretório \conf no diretório de instalação do Apache, o conteúdo deste arquivo deverá ser composto pelas seguintes instruções:


#=========================================================
# Bloco onde são criados grupos, nestes grupos colocam-se
# os usuários de rede do domínio Windows, estes grupos é
# que terão permissões nos diretórios dos projetos, os
# nomes de usuário deverão ser compostos por
# <DOMINIO>\<usuário>
[groups]
admin = <DOMINIO>\user.admin
devteam = <DOMINIO>\devenv.um, <DOMINIO>\desenv.dois, <DOMINIO>\desenv.tres

# Regra de acesso default para TODOS([/]) os repositórios
# TODOS(*) usuários podem ler(r = read), admins podem
# modificar(rw = read write), usuário dangerman possui
# privilégio algum(permissão em branco)
[/]
* = r
@admin = rw
dangerman =

# Regra de permissão ao grupo devteam, eles poderão
# alterar o projeto Teste2 e seus subdiretórios
[Teste2:/]
@devteam = rw
#=========================================================

Obs.: Nas regras acima deve-se levar em conta que a estrutura de diretórios no servidor Subversion é composta da seguinte maneira:

C:\
|_SVN
|_Teste2

Onde SVN é o repositório central e [/] é igual a SVN
Onde Teste2 é o diretório de um projeto e [Teste2:/] é igual a Teste2

Altere a linha "AuthzSVNAccessFile..." do bloco de códigos criado no passo 7.4, você deve informar o caminho onde você salvou o arquivo"svnaccessfile.conf" criado no passo 7.4.1

7.5 - Salve os arquivos e feche-os.
Reinicie o servidor Apache.

Caso no restart o Apache apresente mensagens de erro, provavelmente o arquivo "httpd.conf" possua alguma string com erro, existe um utilitário que é encontrado em "Iniciar -> Programas -> Apache -> Configurar Servidor Apache -> Testar Configuração" que verifica a integridade do arquivo em questão e mostra onde está o erro, em caso de problemas utilize-o.

Concluo aqui mais uma parte das matérias sobre Subversion, num próximo post falarei sobre a instalação, configuração e utilização de um cliente que fará o acesso ao servidor da aplicação e consequentemente a sincronia dos arquivos.

Bem galera, vamos a terceira parte sobre instalação e configuração do Subversion no Windows.

Existem vários clientes de SVN gratuitos capazes de acessar um Servidor de Subversion, falarei aqui sobre o TortoiseSVN, desenvolvido pela mesma equipe que desenvolve o Subversion.

1 - Baixe o instalador do TortoiseSVN aqui.

2 - Execute o instalador do TortoiseSVN, a instalação é trivial, aceite as opções padrões e clique em Next até chegar em Finish, pronto, o Tortoise está instalado e você deve reiniciar o PC para que as alterações efetuadas na instalação sejam efetivadas.

3 - Após o restart do PC chega o momento de sincronizar pela primeira vez o seu PC com o servidor do Subversion.
* Importante!
É importante observar que no Servidor do Subversion deve existir já criado com o comando "svnadmin create C:\SVN\<projeto>" um diretório onde serão guardados os arquivos referentes a este projeto.

3.1 - Selecione o diretório onde ficará guardado o projeto em seu PC, este diretório pode tanto estar vazio como já possuir os arquivos, clique com o botão direito do mouse sobre ele, no menu que abrir clique em "SVN Checkout...", abrira uma tela do TortoiseSVN onde você deverá informar alguns parâmetros, são eles:

URL of repository:
Aqui você deve informar a seguinte linha:
"http://<IP>/<Nome>/<Nome>"

Onde:
"http://" = Protocolo de comunicação
"<IP>" = IP de rede do servidor, Ex.:192.150.1.1
"<Nome>" = Nome do Diretório onde fica o Repositório, no nosso caso "SVN"
"<Nome>" = Nome do Diretório criado com o comando "svnadmin create C:\SVN\FS" no nosso caso seria"FS"
Ex.:http://192.150.1.1/SVN/fs

Checkout directory:
O caminho do diretório que você clicou com o botão direito do mouse no inicio deste passo
Ex.: C:\FS

Revision:
Deixe marcado "HEAD revision".

Clique em OK e siga as orientações da aplicação.

4 - Concluído o passo anterior ja estamos aptos a utilizar as funcionalidades da aplicação, após criar, editar, alterar e salvar algum arquivo que esteja no diretório do projeto este receberá um ícone diferenciado informando que o arquivo necessita ser enviado ao servidor, para isso clique com o botão direito do mouse sobre o arquivo e no menu do Tortoise clique em "SVN Commit...", caso você tenha vários arquivos modificados você pode mandar todos de uma única vez ao servidor, para isso ao invés de clicar com o botão direito no arquivo clique no diretório Pai e proceda conforme descrito anteriormente.

Acho que é isso, em caso de dúvidas ou problemas, lembre-se, o Oráculo é seu amigo. Smile)

Até a próxima!

[color=red]BAIXEI ESTE TEXTO DA NET, ACHEI PELO GOOGLE, MAS NAO LEMBRO O AUTOR[/color]
_________________
<b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Brunog3
Aprendiz
Aprendiz


Registrado: Domingo, 16 de Dezembro de 2007
Mensagens: 206

MensagemEnviada: Qua Jan 12, 2011 8:51 am    Assunto: Responder com Citação

Aproveitando o tópico vou deixar abaixo o link para o plugin que integra o SVN na IDE do Delphi.

http://delphiaddinfortortoisesvn.tigris.org/

Os arquivos estão no fim da página na seção "Source code - compiling"

Existem outros plugins, porém esse foi o que consegui instalar aqui no BDS2006.[/url]
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
berdamc
Novato
Novato


Registrado: Quarta-Feira, 16 de Junho de 2010
Mensagens: 9

MensagemEnviada: Qua Mar 16, 2011 11:39 pm    Assunto: Responder com Citação

Instalei isso na empresa, mas a parte do apache, n é tão necessário instalar, basta apenas passar as configs para os programadores e utilizar essa ferramenta indispensável.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Borland_Linuxer
Moderador
Moderador


Registrado: Terça-Feira, 11 de Outubro de 2005
Mensagens: 4252
Localização: Manaus - Am

MensagemEnviada: Dom Mar 20, 2011 6:12 pm    Assunto: Responder com Citação

Na empresa onde eu trabalho instalo o VisualSVN Server no servidor e o tortoise nas estações e ja faz tudo.

abraços
_________________
Abraços

Sérgio Guedes
www.lsisistemas.com.br
www.scvarejo.com.br - Projetos para parceiros e desenvolvedores
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
simoesluciano
Novato
Novato


Registrado: Segunda-Feira, 14 de Abril de 2008
Mensagens: 5

MensagemEnviada: Qua Mar 30, 2011 1:45 pm    Assunto: Responder com Citação

Consigo manter uma cópia, atualizada, no servidor com a mesma estrutura de diretórios?

O Subversion cria uma estrutura de armazenamento particular. Gostaria de ter uma diretório espelho com a estrutura original no server.

Obrigado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
CtrlRs
Profissional
Profissional


Registrado: Domingo, 30 de Janeiro de 2005
Mensagens: 531

MensagemEnviada: Ter Abr 19, 2011 4:42 pm    Assunto: Responder com Citação

boa! ótimo post amigo!

estou tentando implementar no win
ja segui alguns tutoriais, todos sem sucesso
utilizo o Win7 64
esse tuto usa o VisualSVN né? tentei com o slik svn mas n rolou
é que preciso implementar algo totalmente free

tentei tambem com o apache mas não consegui...

podes postar o link dos programas que tu utilizou?

VALEU! Very Happy
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
cainholock
Novato
Novato


Registrado: Quarta-Feira, 13 de Julho de 2011
Mensagens: 1

MensagemEnviada: Qua Jul 13, 2011 5:31 pm    Assunto: Responder com Citação

PERFEITO!!! Nossa, iluminou!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rafa.spimenta
Profissional
Profissional


Registrado: Sexta-Feira, 31 de Julho de 2009
Mensagens: 621
Localização: Betim

MensagemEnviada: Dom Ago 14, 2011 3:55 pm    Assunto: Responder com Citação

Link que eu estou usando para configurar o tortoiseSVN: http://rodriza.com.br/controle-de-versoes-com-tortoise-svn-aula-01/
_________________
"Você pode ter todo o dinheiro do mundo, mas há algo que jamais poderá comprar: um dinossauro!"

Meu blog:
http://delphiexpresso.blogspot.com/
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
Wolver
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 9 de Fevereiro de 2006
Mensagens: 343

MensagemEnviada: Qui Set 29, 2011 12:31 pm    Assunto: Responder com Citação

Pessoal,

Em relação ao subversion, alguém tem algum manual de como funciona?Estou com o seguinte problema, tenho um projeto que estava trabalhando "local" e esse mesmo projeto esta em rede, e o pessoal de desenvolvimento alterou o mesmo programa que alterei local, como faço para salvar ambas alterações?( sem ter que ficar "olhando o código fonte via Tortoise)Se alguem suber me responder agradeço.O subversion faz esse procedimento "automaticamente"?

falow!!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
wagnercabrera
Aprendiz
Aprendiz


Registrado: Terça-Feira, 10 de Janeiro de 2012
Mensagens: 155
Localização: Arapongas - PR

MensagemEnviada: Qui Jan 19, 2012 4:18 pm    Assunto: Responder com Citação

Wolver escreveu:
Pessoal,

Em relação ao subversion, alguém tem algum manual de como funciona?Estou com o seguinte problema, tenho um projeto que estava trabalhando "local" e esse mesmo projeto esta em rede, e o pessoal de desenvolvimento alterou o mesmo programa que alterei local, como faço para salvar ambas alterações?( sem ter que ficar "olhando o código fonte via Tortoise)Se alguem suber me responder agradeço.O subversion faz esse procedimento "automaticamente"?

falow!!



Você manda comitar as alterações e ele verifica os arquivos, a maioria das vezes ele consegue dar o merge sozinho. Mas caso seja na mesma linha por exemplo, ele pedirá pra você resolver os conflitos
_________________
DEVELOPER SENIOR D.E.L.P.H.I

Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
Wolver
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 9 de Fevereiro de 2006
Mensagens: 343

MensagemEnviada: Sáb Jan 21, 2012 9:11 am    Assunto: Responder com Citação

wagnercabrera escreveu:
Wolver escreveu:
Pessoal,

Em relação ao subversion, alguém tem algum manual de como funciona?Estou com o seguinte problema, tenho um projeto que estava trabalhando "local" e esse mesmo projeto esta em rede, e o pessoal de desenvolvimento alterou o mesmo programa que alterei local, como faço para salvar ambas alterações?( sem ter que ficar "olhando o código fonte via Tortoise)Se alguem suber me responder agradeço.O subversion faz esse procedimento "automaticamente"?

falow!!



Você manda comitar as alterações e ele verifica os arquivos, a maioria das vezes ele consegue dar o merge sozinho. Mas caso seja na mesma linha por exemplo, ele pedirá pra você resolver os conflitos


Valeu...vou fazer os testes..obrigado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Leandro.Arj
Novato
Novato


Registrado: Quarta-Feira, 19 de Junho de 2013
Mensagens: 66

MensagemEnviada: Sáb Mar 22, 2014 10:01 am    Assunto: Responder com Citação

Aqui na empresa utilizamos o CollabNet SubVersion no servidor e o Tortoise nas estações, muito bom, fácil administração e gratuíto.
http://www.collab.net/downloads/subversion
Abraços.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Luciano_Lopes
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Abril de 2008
Mensagens: 1080

MensagemEnviada: Seg Ago 17, 2015 10:24 pm    Assunto: Responder com Citação

Parabéns, boa contribuição
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB