Namestitev strežnika HTTP Git in Apache:
Najprej posodobite predpomnilnik skladišča paketov CentOS 8 z naslednjim ukazom:
$ sudo dnf makecache
Zdaj namestite Git, strežnik Apache HTTP in orodja Apache z naslednjim ukazom:
$ sudo dnf install git httpd httpd-tools
Zdaj pritisnite Y in nato pritisnite
Namestiti je treba orodja Git, Apache in potrebna orodja Apache.
Konfiguriranje strežnika Apache HTTP:
V tem razdelku vam bom pokazal, kako konfigurirati strežnik Apache za dostop do repozitorijev Git prek protokola HTTP.
Najprej ustvarite novo konfiguracijsko datoteko / etc / httpd / conf.d / git.conf z naslednjim ukazom:
$ sudo vi / etc / httpd / conf.d / git.conf
Zdaj v konfiguracijsko datoteko dodajte naslednje vrstice / 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 /
Možnosti + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Brez
Zahtevaj vse odobreno
Dav On
Kazala možnosti FollowSymLinks
AllowOverride Brez
Zahtevaj vse odobreno
Končna konfiguracijska datoteka naj bo videti takole. Zdaj shranite konfiguracijsko datoteko.
Zdaj ustvarite GIT_PROJECT_ROOT imenik / var / www / git z naslednjim ukazom:
$ sudo mkdir / var / www / git
Zdaj konfigurirajte SELinux za / var / www / git imenik z naslednjim ukazom:
$ sudo semanage fcontext -m -t httpd_sys_rw_content_t"/ var / www / git (/.*)?"
Da začnejo spremembe SELinux veljati, zaženite naslednji ukaz:
$ sudo restorecon -Rv / var / www / git
Zdaj znova zaženite storitev strežnika Apache HTTP z naslednjim ukazom:
$ sudo systemctl znova zaženite httpd
Poleg tega dodajte strežniško storitev Apache HTTP strežniku CentOS 8 z naslednjim ukazom:
$ sudo systemctl omogoči httpd
Zdaj dovolite vrata HTTP (80) skozi datotečni zid z naslednjim ukazom:
$ sudo firewall-cmd --add-service = http --permanent
Da bodo spremembe začele veljati, znova naložite požarni zid, kot sledi:
$ sudo firewall-cmd --reload
Pisanje skripta za lažje ustvarjanje HTTP dostopnih repozitorij Git:
Da bi olajšal ustvarjanje HTTP dostopnih repozitorijev Git, sem napisal preprost skript lupine, s katerim prihranite veliko dragocenega časa.
Če želite uporabiti moj skript, na poti ustvarite novo datoteko / usr / sbin / git-crate-repo z naslednjim ukazom:
$ sudo vi / usr / sbin / git-create-repo
Nato v novo ustvarjeno datoteko vnesite naslednje vrstice kod / usr / sbin / git-crate-repo.
#!/ bin / bashGIT_DIR = "/ var / www / git"
REPO_NAME = 1 USD
mkdir -p "$ GIT_DIR / $ REPO_NAME.git "
cd "$ GIT_DIR / $ REPO_NAME.git "
git init --bare &> / dev / null
dotaknite se git-daemon-export-ok
cp kljuke / po posodobitvi.vzorčne kljuke / po posodobitvi
git config http.prejmi paket res
git config http.uploadpack res
git update-server-info
chown -Rf apache: apache "$ GIT_DIR / $ REPO_NAME.git "
echo "Git repozitorij '$ REPO_NAME' ustvarjen v $ GIT_DIR / $ REPO_NAME.git "
Takole izgleda zadnji skript lupine. Ko končate, shranite datoteko.
Zdaj dodajte izvršljivo dovoljenje skriptu lupine / usr / sbin / git-create-repo z naslednjim ukazom:
$ sudo chmod + x / usr / sbin / git-create-repo
Ustvari HTTP dostopne repozitorije:
Zdaj lahko ustvarite novo shrambo Git, dostopno HTTP (pokličimo jo preskus) z naslednjim ukazom:
$ sudo git-create-repo test
Novo shrambo Git, dostopno HTTP preskus je treba zaboj.
Dostop do skladišč Git s strežnika Git:
Za dostop do skladišč Git, ki ste jih ustvarili na strežniku CentOS 8 Git, potrebujete IP naslov strežnika CentOS 8 Git in ime skladišča Git.
Skrbnik strežnika Git lahko poišče naslov IP strežnika Git z naslednjim ukazom:
$ nmcliV mojem primeru je naslov IP 192.168.20.129. Za vas bo drugače. Zato ga odslej zamenjajte s svojim.
Ko skrbnik strežnika Git najde naslov IP, ga lahko pošlje uporabnikom / razvijalcem, ki bodo uporabljali repozitoriji Git, ki so gosti na strežniku Git. Nato lahko uporabniki / razvijalci dostopajo do želenih skladišč Git.
Na primer, če bob želi klonirati repozitorij Git preskus s strežnika Git lahko to stori na naslednji način:
$ git klon http: // 192.168.20.129 / test.git
Skladišče Git preskus je treba klonirati s strežnika Git.
Nov imenik preizkus / bi bilo treba ustvariti v trenutnem delovnem imeniku bob.
Zdaj lahko bob vodi do preizkus / imenik, kot sledi:
$ cd test /
Zdaj bob ustvari novo datoteko sporočilo.txt v skladišču Git.
$ echo 'hello from linuxhint' >> message.txt
Bob izvede spremembe.
$ git add .$ git commit -m 'začetna odobritev'
Bob potrdi, ali so bile spremembe sprejete v repozitorij.
$ git log --oneline
Zdaj bob naloži spremembe na strežnik Git.
$ git push izvor
Še en razvijalec (recimo shovon), ki želi prispevati k preskus Skladišče Git lahko tudi klonira datoteko preskus repozitorij s strežnika Git.
$ git klon http: // 192.168.20.129 / test.git
Shovon se pomakne do preizkus / imenik.
$ cd test /
Shovon najde zavezo, ki jo je naredil bob.
Zdaj shovon spremeni sporočilo.txt datoteko.
$ echo 'shovon je dodal nekaj novih besedil' >> sporočilo.txt
Zavezuje spremembe.
$ git add .$ git commit -m 'je dodal novo sporočilo'
Shovon potrjuje, ali so bile spremembe sprejete v odlagališče.
$ git log --oneline
Shovon spremembe naloži na strežnik Git.
$ git push izvor
Zdaj bob potegne spremembe s strežnika Git.
$ git pull
Bob najde novo zavezo.
$ git log --oneline
Bob najde spremembe, ki jih je Shovon naredil v sporočilu.txt datoteko.
Tako lahko uporabljate repozitorije Git s strežnika Git HTTP.
Dodajanje avtentikacije uporabnika na strežnik Git:
Če želite dodati avtentikacijo uporabnika v celotna strežniška skladišča Git ali določena skladišča Git, nato preverite članek Konfiguriranje strežnika Git s HTTP v Ubuntu.
Torej, tako konfigurirate Git Smart HTTP Server na CentOS 8 in uporabljate Git repozitorije s strežnika Git. Hvala, ker ste prebrali ta članek.