Categorias
Dicas Tutorial

Instalando seu próprio servidor de repositório Git no Windows Server

Olá gente, tudo bem com vocês?
Bom, hoje vou passar para vocês a instalação e configuração de seu próprio servidor de repositórios Git no Windows Server. Sabemos que usamos geralmente os comandos e serviços de versionamento nos sistemas Linux que são mais seguros e com mais ferramentas para gerenciamento, porém realizei uma pesquisa e precisei fazer este tipo de configuração usando um servidor VPS Windows e tive sucesso e resolvi dar a dica para vocês!

Entretanto é sempre bom lembrar que eu recomendo a instalação de seu repositório Git de seus projetos em um serviço online, como já existe opções confiáveis, como por exemplo o famoso GitHub e o Bitbucket que são excelentes serviços totalmente gratuitos.

Mas este post serve para além de você conhecer o funcionamento integral do processo, serve para você saber também que não é só Linux que roda os comandos do Git e SSH, porém Windows também roda e muito bem. Vamos deixar de conversa e vamos ao que interessa.

Inicialmente vamos precisar:

  1. Uma máquina que será nosso servidor onde iremos armazenar nosso repositório GIT.
  2. Outra máquina que será nosso cliente terminal.

Instalando os programas iniciais no servidor

Para começar a instalação, vamos primeiramente instalar um servidor SSH no Windows. Não vamos entrar em detalhes de saber o que é um servidor SSH, porém precisamos deste serviço que geralmente é mais usado em ambientes Linux e vamos agora instalá-lo no Windows. Acesse o link: https://www.bitvise.com/ssh-server Iremos usar o BITVISE, que é um programa com versão grátis para uso doméstico (com algumas limitações, veja o site o comparativo) e possui também a versão paga que é muito vantajosa por sinal, porém o custo não é tão agradável.

Após baixar o programa, abra-o e você vai se deparar com a tela abaixo:

BITVISE Ssh Server
Tela de instalação

Marque a caixa que aceita os termos de licença e inicie a instalação. Após esta tela, deverá aparecer uma outra tela pedindo para você escolher qual a versão que deseja instalar. Escolha a sua e nesta etapa de instalação não precisa de muitos detalhes.

Feito  a instalação, não iremos mecher nele agora. Vamos precisar instalar outro programa, chamado de Cygwin. Link: https://cygwin.com/ Cygwin nada mais é que um programa que instalar em seu Windows ferramentas, programas e utilitários que são do sistema Linux. Usando ele, iremos acessar um local onde existem vários programas disponíveis e vamos instalar o Git e o OpenSSH.

Cygwin site
Cygwin site

Clique no link demarcado em vermelho como mostra acima e quando baixar, execute o instalador.

Conforme mostra as imagens abaixo, siga os passos:

Na imagem abaixo, escolha um mirror que hospeda os arquivos do Cygwin. Geralmente escolher um das URLS primeiras dá certo e seguimos para a tela de escolha de pacotes.

ATENÇÃO PARA A IMAGEM ABAIXO na hora de escolher os pacotes. Não escolha para instalar tudo, pois todos os softwares são grandes e pode demorar o processo, e também, para o nosso uso, teremos que usar apenas dois, o Git e o OpenSSH.

Na imagem abaixo, aceite as dependências que o software precisa e aguarde a instalação de todos os pacotes e informações necessárias.

Após terminar o processo de instalação do Cygwin, os programas que precisamos estão satisfeitos. Agora iremos para a parte de configuração do SSH, disponibilização do serviço na internet (cuidado) ou na rede local.

Configuração do servidor

Agora com os programas instalados, vamos configurar nosso servidor para que funcione se forma segura e que fique lisinho.

Antes de mais nada, precisamos colocar o diretório BIN do Cygwin na path de variáveis local do seu sistema no servidor. Por padrão, a instalação fique neste diretório: C:\cygwin64\bin

Para configurar isso, clique com o botão direito no ícone do “Meu Computador” e selecione propriedades. Após isso, clique no link no painel esquerdo “Configurações avançadas do sistema”, na tab “Avançado”, logo abaixo busque pelo botão “Variáveis de Ambiente” e na lista de Variáveis do sistema, busque pela variável “Path” e adicione o valor dentro dela o caminho dos binários do Cygwin, conforme mostra a imagem a seguir:

Feita a configuração acima, reinicie o servidor.

Após reiniciar, abra o CMD do Windows e digite o seguinte comando: git -version e deverá aparecer a versão do GIT instalado corretamente em seu servidor. Caso não apareça, deu algo errado na configuração, pode comentar que a gente te ajuda!

Bom agora sabemos que o GIT está instalado corretamente, o servidor SSH está instalado e funcionando e agora falta criarmos um repositório e um usuário GIT com as permissões necessárias de push e pull do repositório. Vamos lá!
Abra o ícone no BITVISE SSH SERVER na barra de tarefas, clique no link “Open easy settings”. Irá aparecer a janela de configuração fácil. Nesta janela, escolha o IP listening como IPv4 and IPv6, na opção Listening port escolha a porta TCP que o servidor irá escutar. Eu configurei como a porta 2222 (lembre de liberar no firewall).

Agora abra a tab “Virtual Accounts”. Vamos criar um novo usuário, para isso clique no botão ADD e preencha exatamente como mostra a imagem abaixo, de forma que fique com suas informações. Vou explicar cada campo destes abaixo.

– Virtual account name: Digite o nome de usuário desejado para acessar o SSH.
– Virtual account password: Clique no link azul desta frase e digite uma senha segura para acessar.
– Login allowed: Deixe marcado. Caso queira desabilitar o usuário e manter as configurações, desmarque esta caixa.
– Public keys: Caso você precise gerar um par de chaves seguras para não precisar digitar a senha toda hora quando for se conectar via SSH.
– Allow file transfer: Permitimos que o servidor deixe o usuário transferir e gravar em arquivos.
– Shell access type: Escolha “Git access only”.
– Git type: Escolha a opção “Cygwin or compatible”.
– Git binaries directory: Navegue até a pasta de binários do Cygwin, exatamente como mostra a imagem acima.
– Git repositories root directory: Escolha a pasta de onde ficará seus respositórios. Exemplo, caso você deseje hospedar vários repositórios, crie uma pasta REPOSITORIOS e dentro dela crie as pastas dos seus projetos. Caso seja apenas 1 repositório a ser criado, pode deixar este caminho para dentro do repositório.
– Allow port fowarding: Pode deixar desmarcado.

Ao realizar a configuração mencionada acima, dê OK e vá agora no explorer e procure a sua pasta de repositórios. Aqui no meu caso, eu criei a pasta REPOSTORIOS no disco C: e dentro dela fui criando as pastas de todos os meus projeto. Lembre-se de criar as pastas preferencialmente sem espaços. Na pasta de repositórios, clique com o botão direito do mouse e vá em propriedades e escolha a aba segurança.

Por padrão, o servidor SSH cria um usuário padrão chamado de BvSSH_VirtualUsers este usuário é o usuário que temos que setar em todas as pastas do seus repositórios com permissão de leitura e escrita, pois é seu usuário virtual que criamos anteriormente. Pronto, feito isto, vamos inicializar um repositório GIT na sua pasta de seu projeto com o seguinte comando: git init –bare

A partir disto, o GIT inicializa um repositório dentro da pasta e cria alguns arquivos dentro. Para testar nosso servidor de repositórios git no Windows, vá até seu computador terminal, abra o Git Bash e digite o seguinte comando para adicionar um novo remote: git remote add [nome-de-sua-preferencia] ssh://[nome-do-usuario-cadastrado]@[ip-do-servidor]:[porta]/[pasta-do-projeto] claro que substituindo pelas informações que você cadastrou acima. Veja um exemplo prático abaixo:

git remote add repo-local ssh://matheusgit@192.168.1.144:2222/REPOSITORIOS/meu-projeto/

sendo assim, o comando irá criar um remote no Git e quando você fizer um push ou pull o git irá se conectar no servidor via SSH e pedirá a senha. Informe a senha e pronto, o Git se encarregará de providenciar o resto.

Bom galera, por hoje é só, desculpem se ficou meio longo este tutorial, mas foi preciso explanar cada item para que não fosse gerado dúvidas, espero que tenham gostado. Qualquer problema no meio do processo, peço que comentem abaixo que tenho o maior prazer em ajudar.

Novamente pessoal, este é um método não tanto seguro. Claro que podemos melhorar muito a segurança dos métodos acima, mas se caso você use o que foi descrito acima para seu uso pessoal e dentro de sua rede, acredito que não teria grandes problemas. Mas faça por sua conta e risco, pois existem robôs que varrem a internet atrás de conexões via SSH para realizarem ataques. A intenção deste tutorial é você mesmo configurar do seu jeito e aprender como funciona um servidor de repositórios git, caso esteja procurando um serviço profissional e realmente seguro, escolha serviços na internet como Github ou Bitbucket que realmente são construídos para tal finalidade.

Abraço a todos e bom carnaval 🙂

Por Websign Sistemas de Gestão

WEBSIGN trabalha criando sistemas de gestão online para grandes e pequenas empresas, visando mais organização em seus processos e demandas.

Deixe uma resposta