Configura il server Git con HTTP su CentOS 8

Configura il server Git con HTTP su CentOS 8
In questo articolo, ti mostrerò come configurare Git Smart HTTP Server su CentOS 8 per ospitare i tuoi repository GIT privatamente. Quindi iniziamo.

Installazione del server Git e Apache HTTP:

Innanzitutto, aggiorna la cache del repository CentOS 8 con il seguente comando:

$ sudo dnf makecache

Ora, installa gli strumenti GIT, Apache HTTP Server e Apache con il seguente comando:

$ sudo dnf installa git httpd httpd-tools

Ora, premere Y e poi premere Per confermare l'installazione.

Devono essere installati Git, Apache e Strumenti Apache richiesti.

Configurazione del server Apache HTTP:

In questa sezione, ti mostrerò come configurare Apache Server per accedere ai repository GIT tramite il protocollo HTTP.

Innanzitutto, crea un nuovo file di configurazione /etc/httpd/conf.d/git.conf con il seguente comando:

$ sudo vi/etc/httpd/conf.d/git.conf

Ora, aggiungi le seguenti righe al file di configurazione /etc/httpd/conf.d/git.conf:


Setenv git_project_root/var/www/git
Setenv git_http_export_all
DocumentRoot/var/www/git
Scriphalias//usr/libexec/git-core/git-http-backend/

Opzioni +Execcgi -Multiviews +SymlinkSifoWownerMatch
Consentire nessuno
Richiedono tutto concesso


Dav on
I seguenti indici delle opzioni
Consentire nessuno
Richiedono tutto concesso

Il file di configurazione finale dovrebbe apparire come segue. Ora, salva il file di configurazione.

Ora, crea il Git_project_root directory /var/www/git con il seguente comando:

$ sudo mkdir/var/www/git

Ora, configura Selinux per il /var/www/git Directory con il seguente comando:

$ sudo semanage fcontext -m -t httpd_sys_rw_content_t
"/var/www/git (/.*)?"

Per le modifiche a Selinux per avere effetto, eseguire il comando seguente:

$ sudo restatorecon -rv/var/www/git

Ora riavvia il servizio di server HTTP Apache con il seguente comando:

$ sudo systemctl riavvia httpd

Inoltre, aggiungi il servizio di server HTTP Apache HTTP all'avvio del sistema CentOS 8 con il seguente comando:

$ sudo systemctl abilita httpd

Ora, consentire la porta HTTP (80) tramite il filewall con il seguente comando:

$ sudo firewall-cmd-sierervice = http --permanent

Per avere effetto le modifiche, ricaricare il firewall come segue:

$ sudo firewall-cmd--ricarichi

Scrivere uno script per la creazione di repository GIT accessibili HTTP più facilmente:

Per semplificare la creazione di repository GIT accessibili HTTP, ho scritto un semplice script di shell che puoi usare per risparmiare molto tempo prezioso.

Se vuoi usare il mio script, crea un nuovo file nel percorso /usr/sbin/git-crate-repo con il seguente comando:

$ sudo vi/usr/sbin/git-create-repo

Quindi digitare le seguenti righe di codici nel file appena creato /usr/sbin/git-crate-repo.

#!/Bin/Bash
Git_dir = "/var/www/git"
Repo_name = $ 1
mkdir -p "$ git_dir/$ repo_name.idiota"
cd "$ git_dir/$ repo_name.idiota"
git init - -bara &> /dev /null
Touch Git-Daemon-Export-OK
CP hooks/post-aggiornamento.Gancio di esempio/post-aggiornamento
Git config http.Ricevipack vero
Git config http.uploadpack vero
Git Update-Server-Info
chown -rf apache: apache "$ git_dir/$ repo_name.idiota"
echo "git repository '$ repo_name' creato in $ git_dir/$ repo_name.idiota"

Ecco come appare lo script di shell finale. Una volta terminato, salva il file.

Ora, aggiungi l'autorizzazione eseguibile allo script shell /usr/sbin/git-mate-repo con il seguente comando:

$ sudo chmod +x/usr/sbin/git-create-repo

Crea repository GIT accessibili HTTP:

Ora puoi creare un nuovo repository Git accessibile HTTP (chiamiamolo test) con il seguente comando:

$ sudo git-creato-repo test

Un nuovo repository Git accessibile HTTP test dovrebbe essere preparato.

Accesso ai repository Git dal server GIT:

Per accedere ai repository Git che hai creato sul tuo server CentOS 8 Git, è necessario che l'indirizzo IP del server CentOS 8 Git e il nome del repository Git.

L'amministratore del server Git può trovare l'indirizzo IP del server GIT con il seguente comando:

$ nmcli

Nel mio caso, l'indirizzo IP è 192.168.20.129. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo da ora in poi.

Una volta che l'amministratore del server Git trova l'indirizzo IP, può inviarlo agli utenti/sviluppatori che utilizzeranno i repository GIT ospitati sul server GIT. Quindi gli utenti/sviluppatori possono accedere ai loro repository Git desiderati.

Ad esempio, se Bob vuole clonare il repository git test Dal server GIT, può farlo come segue:

$ git clone http: // 192.168.20.129/Test.idiota

Il repository Git test dovrebbe essere clonato dal server git.

Una nuova directory test/ dovrebbe essere creato nell'attuale directory di lavoro di Bob.

Ora, Bob può navigare verso il test/ directory come segue:

$ cd test/

Ora Bob crea un nuovo file Messaggio.TXT Nel repository Git.

$ echo 'ciao da linuxhint' >> messaggio.TXT

Bob commette i cambiamenti.

$ git aggiungi .
$ git commit -m "commit iniziale"

Bob conferma se le modifiche sono state impegnate nel repository.

$ git log --oneline

Ora, Bob carica le modifiche al server GIT.

$ git Push Origin

Un altro sviluppatore (diciamo Shovon) chi vuole contribuire al test Il repository Git può anche clonare il test repository dal server git.

$ git clone http: // 192.168.20.129/Test.idiota

Shovon naviga al test/ directory.

$ cd test/

Shovon trova il commit che Bob ha fatto.

Ora, Shovon cambia il messaggio.file txt.

$ echo "Shovon ha aggiunto alcuni nuovi testi" >>.TXT

Commette i cambiamenti.

$ git aggiungi .
$ git commit -m 'ha aggiunto qualche nuovo messaggio'

Shovon conferma se le modifiche sono state impegnate nel repository.

$ git log --oneline

Shovon carica le modifiche al server Git.

$ git Push Origin

Ora, Bob estrae le modifiche dal server Git.

$ git pull

Bob trova il nuovo commit.

$ git log --oneline

Bob trova le modifiche apportate al messaggio.file txt.

Ecco come è possibile utilizzare i repository Git dal server Git HTTP.

Aggiunta di autenticazione utente al server GIT:

Se si desidera aggiungere autenticazione utente ai repository GIT a largo server o repository GIT specifici, controlla l'articolo Configura Git Server con HTTP su Ubuntu.

Quindi, è così che si configura il server HTTP Smart Git su CentOS 8 e usi i repository Git dal server GIT. Grazie per aver letto questo articolo.