androide

Come configurare un server Git

Install Free Git Server on Windows using IIS and Bonobo

Install Free Git Server on Windows using IIS and Bonobo

Sommario:

Anonim

Quando si tratta di hosting Git, sono disponibili diverse opzioni. GitHub, Gitlab e Bitbucket sono soluzioni popolari, ma eseguire il proprio server Git è un'alternativa che vale la pena considerare.

L'impostazione di un server Git consente di creare repository privati ​​senza le restrizioni dei piani gratuiti dei provider.

In questa guida, spieghiamo come impostare un server Git nudo su Linux. Questa configurazione è buona se hai pochi repository e i collaboratori sono esperti di tecnologia. Altrimenti, dovresti considerare di installare un'applicazione git self-hosted come Gitea, Gogs o Gitlab.

Il server Git può essere configurato su qualsiasi macchina Linux remota o anche sul tuo sistema locale.

Configurazione del server Git

Il primo passo è installare Git sul tuo server.

sudo apt update && sudo apt install git

Per installare il pacchetto git su server CentOS digitare:

sudo yum install git

Successivamente, crea un nuovo utente che gestirà i repository Git:

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

La home directory dell'utente è impostata su /home/git . Tutti i repository saranno archiviati in questa directory. Non abbiamo impostato una password per l'utente "git", l'accesso sarà possibile solo usando i tasti ssh.

Passa all'utente "git" usando il comando su :

sudo su - git

Eseguire i comandi seguenti per creare la directory SSH e impostare le autorizzazioni corrette:

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

Crea un file chiamato ~/.ssh/authorized_keys che conterrà le chiavi SSH degli utenti autorizzati:

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

Questo è tutto. L'installazione del server è completa. Ora sei pronto per creare il tuo primo repository Git.

Eseguire il comando seguente per avviare un nuovo repository vuoto:

git init --bare ~/projectname.git

Puoi nominare la directory come desideri. L'importante è creare il repository nella directory home dell'utente “git”.

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

Configurazione del repository Git locale

Per poter inviare le modifiche git locali al server Git, devi aggiungere la chiave pubblica SSH dell'utente locale al file authorized_keys dell'utente "git" remoto.

cat ~/.ssh/id_rsa.pub

L'output dovrebbe essere simile al seguente:

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

Per generare una nuova coppia di chiavi SSH, utilizzare il comando seguente:

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

Copia l'output dal comando cat sopra e torna alla console del server Git.

Sul server, apri l'editor di testo e incolla la chiave pubblica che hai copiato dal tuo computer locale nel file ~/.ssh/authorized_keys :

sudo nano /home/git/.ssh/authorized_keys

L'intero testo della chiave pubblica dovrebbe essere su un'unica riga.

Supponiamo che il pacchetto Git sia già installato sul tuo computer locale. In caso contrario, installarlo come spiegato nelle sezioni precedenti.

cd /path/to/local/project

Inizializza un repository git:

git init.

L'ultimo passaggio è aggiungere git remote al repository locale:

git remote add origin git@git_server_ip:projectname.git

Non dimenticare di sostituire git_server_ip con il nome host o l'indirizzo IP del tuo server Git.

Per verificare che tutto sia configurato correttamente, creare un file di prova:

touch test_file

Aggiungi le modifiche all'area di gestione temporanea:

git add.

Conferma le modifiche:

git commit -m "descriptive message"

Invia le modifiche al repository locale in un repository remoto:

git push -u origin master

Se tutto è impostato correttamente, l'output dovrebbe assomigliare a questo:

Counting objects: 3, done. Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To git_server_ip:projectname.git * master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.

Per aggiungere un nuovo collaboratore, basta copiare la sua chiave SSH pubblica nel file ~/.ssh/authorized_keys dell'utente "git".

È possibile utilizzare gli stessi passaggi per creare nuovi repository. È importante notare che il repository remoto deve esistere prima di aggiungere git remote al repository locale.

Conclusione

In questo tutorial, ti abbiamo mostrato come configurare il tuo server Git privato e creare repository.