Skonfiguruj serwer GIT z HTTP na Centos 8

Skonfiguruj serwer GIT z HTTP na Centos 8
W tym artykule pokażę, jak skonfigurować git Smart HTTP Server na CentOS 8 do hostowania repozytoriów GIT prywatnie. Więc zacznijmy.

Instalowanie serwera GIT i Apache HTTP:

Najpierw zaktualizuj pamięć podręczną repozytorium pakietów Centos 8 za pomocą następującego polecenia:

$ sudo dnf makeCache

Teraz zainstaluj GIT, Apache HTTP Server i narzędzia Apache za pomocą następującego polecenia:

$ sudo dnf instaluj git httpd httpd-tools

Teraz naciśnij Y a następnie naciśnij Aby potwierdzić instalację.

Git, Apache i wymagane narzędzia Apache powinny być zainstalowane.

Konfigurowanie serwera Apache HTTP:

W tej sekcji pokażę, jak skonfigurować serwer Apache w celu uzyskania dostępu do repozytoriów GIT w stosunku do protokołu HTTP.

Najpierw utwórz nowy plik konfiguracyjny /etc/httpd/conf.D/git.conf Z następującym poleceniem:

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

Teraz dodaj następujące wiersze do pliku konfiguracyjnego /etc/httpd/conf.D/git.conf:


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

Opcje +execcgi -multiviews +SymLinksifownMatch
Bezwyznaniowe
Wymagać wszystkich przyznanych


Dav on
Indeksy opcji następują Symlinks
Bezwyznaniowe
Wymagać wszystkich przyznanych

Ostateczny plik konfiguracyjny powinien wyglądać w następujący sposób. Teraz zapisz plik konfiguracyjny.

Teraz stwórz Git_project_root informator /var/www/git Z następującym poleceniem:

$ sudo mkdir/var/www/git

Teraz skonfiguruj Selinux dla /var/www/git Katalog z następującym poleceniem:

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

Aby zmienia się Selinux, uruchom następujące polecenie:

$ sudo restorecon -rv/var/www/git

Teraz uruchom ponownie usługę serwera Apache HTTP za pomocą następującego polecenia:

$ sudo systemctl restart httpd

Dodaj także usługę serwera Apache HTTP do uruchamiania systemu Centos 8 za pomocą następującego polecenia:

$ sudo systemctl włącz HTTPD

Teraz zezwól na port HTTP (80) za pośrednictwem FileWall za pomocą następującego polecenia:

$ sudo firewall-cmd --add-service = http --Permanent

Aby zmiany w obowiązywając, ponownie załaduj zaporę w następujący sposób:

$ sudo firewall-cmd-odpowiadanie

Pisanie skryptu do tworzenia HTTP dostępnych repozytoriów GIT łatwiej:

Aby ułatwić tworzenie HTTP dostępnych repozytoriów GIT, napisałem prosty skrypt powłoki, którego możesz użyć, aby zapisać dużo cennego czasu.

Jeśli chcesz użyć mojego skryptu, utwórz nowy plik na ścieżce /usr/sbin/git-crate-repo Z następującym poleceniem:

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

Następnie wpisz następujące wiersze kodów w nowo utworzonym pliku /usr/sbin/git-crate-repo.

#!/bin/bash
Git_dir = "/var/www/git"
Repo_name = 1 $
mkdir -p "$ git_dir/$ repo_name.git "
cd "$ git_dir/$ repo_name.git "
git init - -bare &> /dev /null
Dotknij git-daemon-export-ok
Haczyki CP/post-update.próbki haczyków/post-update
Git Config Http.Otrzymaj Pack True
Git Config Http.przepadaj pack true
Git aktualizacja-serwer-info
chown -rf apache: apache "$ git_dir/$ repo_name.git "
echo "git repozytorium '$ repo_name' utworzone w $ git_dir/$ repo_name.git "

Tak wygląda ostateczny skrypt powłoki. Po zakończeniu zapisz plik.

Teraz dodaj zgodę wykonywalną do skryptu powłoki /usr/sbin/git-create-repo Z następującym poleceniem:

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

Utwórz HTTP dostępne repozytoria GIT:

Teraz możesz utworzyć nowe repozytorium GIT dostępne HTTP (nazwijmy to test) Z następującym poleceniem:

$ sudo git-create-repo test

Nowe repozytorium GIT dostępne HTTP test powinno być skrzyżowane.

Dostęp do repozytoriów GIT z serwera GIT:

Aby uzyskać dostęp do repozytoriów GIT, które utworzyłeś na serwerze CentOS 8 GIT, potrzebujesz tego adresu IP serwera Centos 8 i nazwy repozytorium GIT.

Administrator serwera GIT może znaleźć adres IP serwera GIT za pomocą następującego polecenia:

$ nmcli

W moim przypadku adres IP to 192.168.20.129. Będzie dla Ciebie inaczej. Więc upewnij się, że odtąd zastąp go swoim.

Gdy administrator serwera GIT znajdzie adres IP, może wysłać go do użytkowników/programistów, którzy będą korzystać z repozytoriów GIT hostowanych na serwerze GIT. Następnie użytkownicy/programiści mogą uzyskać dostęp do żądanych repozytoriów GIT.

Na przykład, jeśli pion chce sklonować repozytorium GIT test Z serwera Git może to zrobić w następujący sposób:

$ git Clone http: // 192.168.20.129/test.git

Repozytorium GIT test powinno być sklonowane z serwera GIT.

Nowy katalog test/ należy utworzyć w obecnym katalogu roboczym Boba.

Teraz Bob może przejść do test/ katalog w następujący sposób:

$ CD Test/

Teraz Bob tworzy nowy plik wiadomość.tekst w repozytorium GIT.

$ echo „Hello from Linuxhint” >> Wiadomość.tekst

Bob popełnia zmiany.

$ git add .
$ git commit -m „początkowe zatwierdzenie”

Bob potwierdza, czy zmiany zostały zaangażowane w repozytorium.

$ git log -linia

Teraz Bob przesyła zmiany na serwerze GIT.

$ git push pochodzenie

Inny programista (powiedzmy Shovon) kto chce przyczynić się do test Repozytorium git może również sklonować test Repozytorium z serwera GIT.

$ git Clone http: // 192.168.20.129/test.git

Shovon nawiguje do test/ informator.

$ CD Test/

Shovon znajduje zobowiązanie, które dokonał Bob.

Teraz Shovon zmienia wiadomość.plik txt.

$ echo 'shovon dodał kilka nowych tekstów' >>.tekst

Popełnia zmiany.

$ git add .
$ git commit -m 'dodał nowy komunikat' '

Shovon potwierdza, czy zmiany zostały zaangażowane w repozytorium.

$ git log -linia

Shovon przesyła zmiany na serwerze GIT.

$ git push pochodzenie

Teraz Bob pobiera zmiany z serwera GIT.

$ Git Pull

Bob znajduje nowe zatwierdzenie.

$ git log -linia

Bob znajduje zmiany, które Shovon wprowadził na wiadomość.plik txt.

W ten sposób możesz używać repozytoriów GIT z serwera GIT HTTP.

Dodanie uwierzytelniania użytkownika do serwera GIT:

Jeśli chcesz dodać uwierzytelnianie użytkownika do serwera GIT Repozytoria lub określone repozytoria GIT, sprawdź artykuł Skonfiguruj serwer GIT z HTTP na Ubuntu.

Tak więc konfigurujesz git Smart HTTP serwer na Centos 8 i używasz repozytoriów GIT z serwera GIT. Dziękujemy za przeczytanie tego artykułu.