Como configurar um Servidor Git

Quando se trata de alojamento Git, tem uma série de opções disponíveis. GitHub, Gitlab e Bitbucket são soluções populares, mas executar o seu próprio servidor Git é uma alternativa que vale a pena considerar.

Configurar um servidor Git permite-lhe criar repositórios privados sem as restrições dos planos gratuitos dos fornecedores.

Neste guia, explicaremos como configurar um servidor Git nu no Linux. Esta configuração é boa se tiver poucos repositórios e os colaboradores forem tecnologicamente experientes. Caso contrário, deverá considerar instalar uma aplicação de Git auto-hospedada como Gitea, Gogs , ou Gitlab .

O servidor Git pode ser configurado em qualquer máquina Linux remota ou mesmo no seu sistema local.

Configurar o servidor Git #

O primeiro passo é instalar Git no seu servidor.

Se estiver a utilizar Debian ou Ubuntu, actualize o índice de pacotes local e instale o git executando os seguintes comandos como sudo user:

sudo apt update && sudo apt install git

Para instalar o pacote git em servidores CentOS tipo:

sudo yum install git

Next, criar um novo utilizador que irá gerir os repositórios Git:

sudo useradd -r -m -U -d /home/git -s /bin/bash git

O directório home do utilizador está definido para /home/git. Todos os repositórios serão armazenados sob este directório. Não definimos uma palavra-passe para o utilizador “git”, o login só será possível utilizando as chaves ssh.

Comutar para o utilizador “git” usando o su comando:

sudo su - git

Executar os seguintes comandos para criar o directório SSH e definir as permissões correctas :

mkdir -p ~/.ssh && chmod 0700 ~/.ssh

Criar um ficheiro chamado que conterá as chaves SSH dos utilizadores autorizados:

touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys

É isso mesmo. A configuração do servidor está completa. Está agora pronto para criar o seu primeiro repositório Git.

Executar o seguinte comando para iniciar um novo repositório vazio:

git init --bare ~/projectname.git

P>P>Pode nomear o directório como quiser. O importante é criar o repositório sob o directório home do utilizador “git”.

Initialized empty Git repository in /home/git/projectname.git/

Configurando o Repositório Local de Git #

Para poder empurrar as alterações locais de git para o servidor de Git, você irá adicionar a chave pública do seu utilizador local SSH ao ficheiro do utilizador remoto “git” authorized_keys.

Se já tiver um par de chaves SSH criado no seu sistema local, pode exibir a chave pública digitando:

cat ~/.ssh/id_rsa.pub

A saída deve ser algo parecido com o seguinte:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]

Se receber uma mensagem de erro a dizer No such file or directory, significa que não tem um par de chaves SSH gerado na sua máquina local.

Para gerar um novo par de chaves SSH utilize o seguinte comando:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Copiar a saída do comando cat acima e volte para a consola do servidor Git.

No servidor, abra o seu editor de texto e cole a chave pública que copiou da sua máquina local no ~/.ssh/authorized_keys file:

sudo nano /home/git/.ssh/authorized_keys

Todo o texto da chave pública deve estar numa única linha.

P>Temos a assumir que o pacote Git já está instalado na sua máquina local. Caso contrário, instale-o da mesma forma como explicado nas secções anteriores.

Se tiver um projecto não versionado existente, navegue para o directório de projectos. Se estiver a começar do zero, crie o directório de projectos, e navegue até ele:

cd /path/to/local/project

Initialize um repositório git:

git init .

O último passo é adicionar o git remoto ao seu repositório local:

git remote add origin git@git_server_ip:projectname.git

Não se esqueça de substituir git_server_ip pelo nome de anfitrião ou endereço IP do seu servidor Git.

Para verificar se tudo está configurado correctamente, crie um ficheiro de teste :

touch test_file

Adicionar as alterações à área de encenação:

git add .

Comprometer as alterações:

git commit -m "descriptive message"

P>Enviar as alterações do repositório local para um repositório remoto:

git push -u origin master

Se tudo estiver configurado correctamente, a saída deve ter o seguinte aspecto:

Para adicionar um novo colaborador, basta copiar a sua chave SSH pública para o ficheiro “git” do utilizador .

P>Pode usar os mesmos passos para criar novos repositórios. É importante notar que o repositório remoto deve existir antes de adicionar o git remoto ao seu repositório local.

Conclusion #

Neste tutorial, mostramos-lhe como configurar o seu próprio servidor privado de Git e criar repositórios.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *