Como configurar um servidor Git privado em sua hospedagem na web

Gerenciar código e colaborar com membros da equipe é crucial para qualquer projeto de desenvolvimento. Embora plataformas como GitHub e GitLab sejam populares, configurar seu próprio servidor Git privado em sua hospedagem web pode lhe dar mais controle sobre seus projetos, garantir privacidade e potencialmente economizar em custos. Este tutorial irá guiá-lo através das etapas para configurar um servidor Git privado em sua hospedagem web.

1. Por que configurar um servidor Git privado?

Antes de começar a configuração, é importante entender os benefícios de ter seu próprio servidor Git:

  • Privacidade: Seu código permanece completamente privado e sob seu controle.
  • Personalização: Adapte o servidor para atender às suas necessidades e fluxos de trabalho específicos.
  • Sem limites de usuários: Evite limitações no número de repositórios privados ou colaboradores.
  • Custo-benefício: Para equipes com vários usuários, a auto-hospedagem pode ser mais acessível do que planos pagos em plataformas populares.

2. Pré-requisitos

Antes de começar, certifique-se de ter o seguinte:

  • Um VPS ou servidor dedicado: A hospedagem compartilhada normalmente não fornece o acesso e os recursos necessários para configurar um servidor Git.
  • Acesso SSH: Você precisará de acesso SSH ao seu servidor para instalar e configurar o servidor Git.
  • Conhecimento básico em Linux: Familiaridade com a linha de comando e Linux é essencial.

3. Instalando o Git no seu servidor

Primeiro, você precisará instalar o Git no seu servidor. Siga estes passos:

  1. Atualizar o servidor: Run the following command to ensure your server’s package list is up to date:
    sudo apt-get atualização
  2. Instalar o Git: Install Git by running:
    sudo apt-get install git
  3. Verificar instalação: Check that Git has been installed correctly by typing:
    git --versão

4. Criando um usuário Git

É uma boa prática criar um usuário separado para gerenciar seus repositórios Git:

  1. Criar um novo usuário: Run the following command to create a user named ‘git’:
    sudo adduser git
  2. Configurar acesso SSH: Add your SSH key to the new user’s authorized keys to enable secure access:
    sudo mkdir /home/git/.ssh
    sudo touch /home/git/.ssh/authorized_keys
    sudo nano /home/git/.ssh/authorized_keys

    Cole sua chave SSH pública no arquivo authorized_keys, salve e saia.

  3. Definir permissões: Adjust permissions for the SSH directory:
    sudo chown -R git:git /home/git/.ssh
    sudo chmod 700 /home/git/.ssh
    sudo chmod 600 /home/git/.ssh/authorized_keys

5. Criando um Repositório

Agora você pode criar seu primeiro repositório Git:

  1. Crie um diretório para repositórios: Log in as the ‘git’ user and create a directory for your repositories:
    sudo su - git
    mkdir repos
    cd repos
  2. Inicializar um repositório: Create a new Git repository by running:
    git init --bare seu-projeto.git

    Isso cria um repositório vazio, ideal para repositórios remotos onde o código é enviado e recebido.

6. Clonagem e envio para o repositório

Com seu repositório configurado, agora você pode cloná-lo para sua máquina local e enviar o código para ele:

  1. Clonar o Repositório: On your local machine, run:
    git clone git@ip-do-seu-servidor:/home/git/repos/seu-projeto.git
  2. Adicionar arquivos e confirmar: Add your files to the repository, commit them, and push the changes:
    cd your-project
    echo "# Your Project" >> README.md
    git add .
    git commit -m "Initial commit"
    git push origin master

7. Gerenciando vários repositórios

Se você planeja hospedar vários repositórios, você pode simplesmente repetir as etapas de criação do repositório para cada projeto:

  • Crie um novo diretório para cada repositório em /home/git/repos/.
  • Inicialize cada novo repositório com git init --bare your-new-project.git.
  • Acesse e gerencie cada repositório de forma independente via SSH.

8. Protegendo seu servidor Git

A segurança é um aspecto crítico da hospedagem de um servidor Git privado. Aqui estão algumas etapas para aumentar a segurança:

  • Desabilitar autenticação de senha: Configure o SSH para permitir somente autenticação baseada em chave editando /etc/ssh/sshd_config e definindo PasswordAuthentication no.
  • Configuração de firewall: Use ferramentas como UFW para permitir apenas portas necessárias (por exemplo, SSH) e bloquear outras.
  • Backups regulares: Implemente backups regulares dos seus repositórios para evitar perda de dados.

9. Configurando interfaces da Web (opcional)

Se você preferir uma interface web para gerenciar seus repositórios, você pode instalar um software como GitWeb ou Gitea:

  • GitWeb: Uma interface web simples para visualizar repositórios Git.
  • Gitea: Um serviço Git auto-hospedado que fornece uma interface amigável semelhante ao GitHub.

Ambas as opções exigem instalação e configuração adicionais, mas podem melhorar muito a usabilidade do seu servidor Git.

Conclusão

Configurar um servidor Git privado na sua hospedagem web fornece controle completo sobre seu código, oferece privacidade e permite personalização para se adequar ao seu fluxo de trabalho. Ao seguir este guia, você pode criar e gerenciar seus próprios repositórios Git, garantindo que seu processo de desenvolvimento permaneça seguro e eficiente.