Gita

Skonfiguruj serwer Git z HTTP na CentOS 8

Skonfiguruj serwer Git z HTTP na CentOS 8
W tym artykule pokażę, jak skonfigurować serwer Git Smart HTTP w CentOS 8 do prywatnego hostowania repozytoriów Git. 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, serwer Apache HTTP i narzędzia Apache za pomocą następującego polecenia:

$ sudo dnf zainstaluj git httpd httpd-tools

Teraz naciśnij Tak a następnie naciśnij aby potwierdzić instalację.

Należy zainstalować Git, Apache i wymagane narzędzia Apache.

Konfiguracja serwera Apache HTTP:

W tej sekcji pokażę, jak skonfigurować serwer Apache do dostępu do repozytoriów Git przez protokół HTTP.

Najpierw utwórz nowy plik konfiguracyjny /etc/httpd/conf.d/git.konf za pomocą następującego polecenia:

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

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


SetEnv GIT_PROJECT_ROOT /var/www/git
Ustaw środowisko GIT_HTTP_EXPORT_ALL
Katalog główny dokumentu /var/www/git
ScriptAlias ​​/ /usr/libexec/git-core/git-http-backend/
 

Opcje +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Zezwól na zastąpienie Brak
Wymagaj wszystkich przyznanych


Dav On
Opcje Indeksy ŚledźSymLinks
Zezwól na zastąpienie Brak
Wymagaj wszystkich przyznanych

Ostateczny plik konfiguracyjny powinien wyglądać następująco. Teraz zapisz plik konfiguracyjny.

Teraz utwórz GIT_PROJECT_ROOT informator /var/www/git za pomocą następującego polecenia:

$ sudo mkdir /var/www/git

Teraz skonfiguruj SELinux dla /var/www/git katalog za pomocą następującego polecenia:

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

Aby zmiany SELinux zaczęły obowiązywać, 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 również usługę serwera Apache HTTP do uruchamiania systemu CentOS 8 za pomocą następującego polecenia:

$ sudo systemctl włącz httpd

Teraz zezwól portowi HTTP (80) na przejście przez ścianę plików za pomocą następującego polecenia:

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

Aby zmiany zaczęły obowiązywać, ponownie załaduj zaporę w następujący sposób:

$ sudo firewall-cmd --reload

Łatwiejsze pisanie skryptu do tworzenia repozytoriów Git dostępnych dla HTTP:

Aby ułatwić tworzenie repozytoriów Git dostępnych dla HTTP, napisałem prosty skrypt powłoki, dzięki któremu możesz zaoszczędzić dużo cennego czasu.

Jeśli chcesz użyć mojego skryptu, utwórz nowy plik w ścieżce /usr/sbin/git-crate-repo za pomocą następującego polecenia:

$ 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.głupek"
płyta CD „$GIT_DIR/$REPO_NAME.głupek"
git init --bare &> /dev/null
dotknij git-daemon-export-ok
cp hooks/po aktualizacji.przykładowe hooki/po aktualizacji
konfiguracja git http.pakiet odbiorczy prawda
konfiguracja git http.prześlij pakiet prawda
git aktualizacja-informacje-serwer
chown -Rf apache:apache "$GIT_DIR/$REPO_NAME.głupek"
echo "Repozytorium Git '$REPO_NAME' utworzone w $GIT_DIR/$REPO_NAME.głupek"

Tak wygląda końcowy skrypt powłoki. Gdy skończysz, zapisz plik.

Teraz dodaj uprawnienia do wykonywania do skryptu powłoki /usr/sbin/git-create-repo za pomocą następującego polecenia:

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

Utwórz repozytoria Git dostępne dla HTTP:

Teraz możesz utworzyć nowe repozytorium Git dostępne dla HTTP (nazwijmy to test) za pomocą następującego polecenia:

$ sudo test git-create-repo

Nowe repozytorium Git dostępne dla HTTP test powinno być w skrzyni.

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

Aby uzyskać dostęp do repozytoriów Git, które zostały utworzone na serwerze CentOS 8 Git, potrzebny jest adres IP serwera CentOS 8 Git i nazwa 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. Dla ciebie będzie inaczej. Więc pamiętaj, aby od teraz zastąpić 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/deweloperzy mogą uzyskać dostęp do swoich pożą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 klon http://192.168.20.129/test.git

Repozytorium Git test powinien zostać sklonowany z serwera Git.

Nowy katalog test/ należy utworzyć w bieżącym katalogu roboczym bob.

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

$ test CD/

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

$ echo 'witaj z linuxhint' >> wiadomość.tekst

Bob zatwierdza zmiany.

$ git dodaj .

$ git commit -m 'początkowe zatwierdzenie'

Bob potwierdza, czy zmiany zostały zatwierdzone w repozytorium.

$ git log --oneline

Teraz Bob przesyła zmiany na serwer Git.

$ git push origin

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

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

Shovon nawiguje do test/ informator.

$ test CD/

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

Teraz shovon zmienia wiadomość.plik txt.

$ echo 'shovon dodał nowe teksty' >> wiadomość.tekst

Zatwierdza zmiany.

$ git dodaj .

$ git commit -m 'dodano nową wiadomość'

Shovon potwierdza, czy zmiany zostały zatwierdzone w repozytorium.

$ git log --oneline

Shovon przesyła zmiany na serwer Git.

$ git push origin

Teraz Bob pobiera zmiany z serwera Git.

$ git pull

Bob znajduje nowe zobowiązanie.

$ git log --oneline

Bob znajduje zmiany wprowadzone przez Shovon w wiadomości.plik txt.

W ten sposób możesz korzystać z repozytoriów Git z serwera HTTP Git.

Dodawanie uwierzytelniania użytkownika do serwera Git:

Jeśli chcesz dodać uwierzytelnianie użytkownika do repozytoriów Git na całym serwerze lub określonych repozytoriów Git, zapoznaj się z artykułem Konfiguracja serwera Git z HTTP w Ubuntu.

Tak więc konfigurujesz Git Smart HTTP Server w CentOS 8 i używasz repozytoriów Git z serwera Git. Dziękujemy za przeczytanie tego artykułu.

Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...
WinMouse lets you customize & improve mouse pointer movement on Windows PC
If you want to improve the default functions of your mouse pointer use freeware WinMouse. It adds more features to help you get the most out of your h...
Mouse left-click button not working on Windows 10
If you are using a dedicated mouse with your laptop, or desktop computer but the mouse left-click button is not working on Windows 10/8/7 for some rea...