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