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.
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.