Um servidor Git hospeda o repositório de um projeto, que contém o código-fonte e outros arquivos principais. Embora, na maioria das vezes, você possa confiar em serviços de hospedagem Git mundialmente conhecidos, como o GitHub, em alguns casos, é melhor hospedar seu servidor Git pessoal para maior privacidade, personalização e segurança.

Vamos aprender como você pode configurar um servidor Git privado no Linux.

Pré-requisitos para configurar um servidor Git

Antes de começar a configurar seu servidor Git privado, você deve ter acesso a uma máquina sobressalente ou deve estar inscrito em provedores de nuvem. Isso é importante, pois você configurará a máquina sobressalente para atuar como um servidor Git ao qual você se conectará a partir de sua máquina local e executará operações Git.

Embora não haja requisitos de sistema bem definidos, um gigabyte de RAM deve ser suficiente para que o servidor Git seja funcional. Além disso, certifique-se de ter uma distribuição Linux instalada e em execução na máquina.

instagram viewer

Etapa 1: baixar e instalar o Git no servidor Linux

Escusado será dizer que você precisa ter o Git instalado em seu servidor Linux como uma etapa preliminar. Abra um terminal e use o gerenciador de pacotes da sua distribuição Linux para instalar o Git:

Em derivados Debian/Ubuntu:

sudo apt instalar git

Sobre Distribuições baseadas em Arch:

sudo pacman -S git

No CentOS/RHEL/Fedora:

sudo dnf instalar git

Depois que o Git estiver instalado em seu sistema, prossiga para as próximas etapas para configurar seu sistema Linux para hospedar seus repositórios Git como um servidor Git.

Etapa 2: configurar uma conta de usuário do Git

Conecte-se ao seu servidor Linux via SSH, RDP ou qualquer outro protocolo de acesso remoto. Ou, se você estiver usando um computador sobressalente como servidor, ligue-o e crie uma nova conta de usuário para lidar com seus repositórios.

nome de usuário ssh@Morada
sudo useradd git

Depois que o novo usuário for adicionado, alterne para ele usando o su comando:

su git

Criando um dedicado git user account é um protocolo de segurança que garante que os clientes que se conectam ao seu servidor Git tenham visibilidade e acesso limitados aos recursos na máquina. Isso permite que você colabore com segurança em projetos de grupo em que vários membros da equipe acessarão seu servidor.

Etapa 3: criar o diretório .ssh e adicionar chaves autorizadas

Criando um .ssh diretório é necessário para armazenar chaves públicas e outros dados essenciais que ditarão quem terá acesso a esse servidor Git. Para começar, faça login na conta de usuário git que você criou anteriormente, crie o diretório .ssh e restrinja o acesso apenas ao usuário git:

ssh git@Morada
mkdir.ssh
chmod 700 .ssh/
toque em .ssh/authorized_keys

Proteja as permissões de acesso ao diretório usando o chmod comando para garantir que ninguém, exceto você, possa fazer alterações nele. Mover-se para o .ssh diretório e crie um novo arquivo "authorized_keys" usando o toque comando.

cd.ssh
ssh-keygen -t rsa #execute este comando apenas se você NÃO tiver um arquivo id_rsa.pub
gatoid_rsa.bar

Você terá que atualizar este arquivo com as chaves públicas SSH dos clientes aos quais deseja dar acesso ao servidor Git. Suspenda a sessão SSH e abra o .ssh/id_rsa.pub arquivo em sua máquina local usando um editor de texto ou o comando gato. Esse arquivo contém sua chave pública criptografada, que, quando gravada no arquivo authorized_keys, concederá acesso ao servidor Git sem uma senha.

cd.ssh
vi chaves_autorizadas

Copie a chave pública e ative uma nova conexão SSH com o servidor Git. Mover-se para o .ssh diretório, abra o arquivo authorized_keys com um editor de texto e cole a chave pública. Salvar as mudanças e sair.

A partir de então, você poderá se conectar ao servidor sem nenhuma senha. Repita esta etapa para cada máquina que se conectará ao servidor.

Etapa 4: criar um diretório para armazenar todos os seus repositórios

Acesse o servidor Linux e crie um diretório ou use um embutido como o diretório raiz. Tenha em mente que este é o diretório sob o qual todos os seus repositórios serão armazenados. Esta é uma boa prática para uma melhor organização dos projetos.

mkdir nome_diretório

Depois de criar o diretório, vá para a etapa final deste guia para concluir a configuração do servidor Git.

Etapa 5: iniciar o desenvolvimento adicionando um novo projeto

Agora você praticamente terminou de configurar o servidor Git. Agora você só precisa iniciar o desenvolvimento inicializando os repositórios e adicionando a origem remota à sua máquina local. Mova para o diretório pai usando o cd comando e crie um .git diretório do projeto:

cd Diretório Parental
mkdirnovo projeto.git

Agora, inicialize um repositório git vazio:

git init --nu

Com o repositório inicializado, é hora de adicionar a origem remota em sua máquina local:

git remote adicionar nome de origem git@Morada:new_project.git

Isso é tudo o que você precisava fazer no lado do servidor. Agora, qualquer cliente autenticado pode realizar operações Git regulares, como push, pull, merge, clone e muito mais. Para iniciar novos projetos, você terá que repetir esta etapa toda vez que criar um novo projeto.

Teste sua funcionalidade executando um git push:

arquivo de teste de toque
git adiciona arquivo de teste
git commit -m "arquivo de teste"
git push nome mestre
git clone git@address: new_project.git

Seu arquivo será enviado com sucesso para a origem remota. Para verificar se a operação push funcionou, você pode clonar o repositório e deve encontrar o arquivo de teste no repositório.

Dicas de segurança para seu servidor Git

Com o servidor Git funcionando, você deve prestar muita atenção à sua estatura de segurança, pois é seu servidor pessoal e é de sua exclusiva responsabilidade mantê-lo e protegê-lo de ameaças. Algumas das melhores práticas de segurança a serem adotadas são:

  • Desabilitar login com senha
  • Altere o shell padrão para git-shell. Isso restringe o usuário logado de emitir qualquer comando não-git
  • Use uma porta personalizada para SSH
  • Desabilitar login de usuário root
  • Faça backup de dados regularmente

Existem muitas configurações de segurança e medidas de segurança que você pode implementar em seu servidor Linux para protegê-lo de invasores e impedir o acesso não autorizado.