Inštalácia servera Git a Apache HTTP:
Najskôr aktualizujte medzipamäť úložiska balíkov CentOS 8 pomocou nasledujúceho príkazu:
$ sudo dnf makecache
Teraz nainštalujte nástroje Git, Apache HTTP server a Apache pomocou nasledujúceho príkazu:
$ sudo dnf nainštalovať git httpd httpd-tools
Teraz stlačte Y a potom stlačte
Mali by byť nainštalované nástroje Git, Apache a požadované nástroje Apache.
Konfigurácia servera Apache HTTP:
V tejto časti vám ukážem, ako nakonfigurovať server Apache na prístup k úložiskám Git cez protokol HTTP.
Najskôr vytvorte nový konfiguračný súbor / etc / httpd / conf.d / git.konf nasledujúcim príkazom:
$ sudo vi / etc / httpd / conf.d / git.konf
Teraz pridajte do konfiguračného súboru nasledujúce riadky / etc / httpd / conf.d / git.konf:
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 Žiadne
Vyžadovať všetky udelené
Dav On
Možnosti Registery FollowSymLinks
AllowOverride Žiadne
Vyžadovať všetky udelené
Výsledný konfiguračný súbor by mal vyzerať nasledovne. Teraz uložte konfiguračný súbor.
Teraz vytvorte GIT_PROJECT_ROOT adresár / var / www / git nasledujúcim príkazom:
$ sudo mkdir / var / www / git
Teraz nakonfigurujte SELinux pre / var / www / git adresár s nasledujúcim príkazom:
$ sudo semanage fcontext -m -t httpd_sys_rw_content_t"/ var / www / git (/.*)?„
Aby sa zmeny SELinux prejavili, spustite nasledujúci príkaz:
$ sudo restorecon -Rv / var / www / git
Teraz reštartujte službu servera Apache HTTP pomocou nasledujúceho príkazu:
$ sudo systemctl restart httpd
Tiež pridajte službu servera Apache HTTP do spustenia systému CentOS 8 pomocou nasledujúceho príkazu:
$ sudo systemctl povoliť httpd
Teraz povoľte port HTTP (80) cez súborovú stenu pomocou nasledujúceho príkazu:
$ sudo firewall-cmd --add-service = http - trvalé
Aby sa zmeny prejavili, znova načítajte bránu firewall nasledovne:
$ sudo firewall-cmd - načítať
Písanie skriptu na vytváranie HTTP prístupných repozitárov Git jednoduchšie:
Aby som uľahčil vytváranie HTTP prístupných repozitárov Git, napísal som jednoduchý shell skript, ktorým môžete ušetriť veľa svojho drahocenného času.
Ak chcete použiť môj skript, vytvorte v ceste nový súbor / usr / sbin / git-prepravka-repo nasledujúcim príkazom:
$ sudo vi / usr / sbin / git-create-repo
Potom zadajte nové riadky kódov do novovytvoreného súboru / usr / sbin / git-prepravka-repo.
#!/ bin / bashGIT_DIR = "/ var / www / git"
REPO_NAME = 1 dolár
mkdir -p "$ GIT_DIR / $ REPO_NAME.git "
cd "$ GIT_DIR / $ REPO_NAME.git "
git init --bare &> / dev / null
klepnite na git-daemon-export-ok
háky cp / post-aktualizácia.ukážka háčikov / post-aktualizácia
git config http.receivepack pravda
git config http.uploadpack true
git update-server-info
chown -Rf apache: apache "$ GIT_DIR / $ REPO_NAME.git "
echo "Git repozitár '$ REPO_NAME' vytvorený v $ GIT_DIR / $ REPO_NAME.git "
Takto vyzerá finálny shell skript. Po dokončení súbor uložte.
Teraz pridajte do spustiteľného skriptu povolenie na spustenie / usr / sbin / git-create-repo nasledujúcim príkazom:
$ sudo chmod + x / usr / sbin / git-create-repo
Vytvorte HTTP prístupné úložiská Git:
Teraz môžete vytvoriť nové úložisko Git prístupné cez HTTP (nazvime to test) s nasledujúcim príkazom:
$ sudo git-create-repo test
Nové úložisko Git prístupné cez HTTP test by mali byť debnené.
Prístup k úložiskám Git zo servera Git:
Ak chcete získať prístup k úložiskám Git, ktoré ste vytvorili na serveri CentOS 8 Git, musíte mať túto IP adresu servera CentOS 8 Git a názov úložiska Git.
Správca servera Git môže zistiť adresu IP servera Git pomocou nasledujúceho príkazu:
$ nmcliV mojom prípade je adresa IP 192.168.20.129. U teba to bude iné. Odteraz ho teda vymeňte za svoj.
Keď správca servera Git nájde adresu IP, môže ju poslať používateľom / vývojárom, ktorí budú používať úložiská Git hostené na serveri Git. Potom môžu používatelia / vývojári získať prístup k požadovaným úložiskám Git.
Napríklad ak bob chce naklonovať úložisko Git test zo servera Git môže urobiť nasledovne:
$ git klon http: // 192.168.20.129 / test.git
Úložisko Git test by mali byť klonované zo servera Git.
Nový adresár test / by mal byť vytvorený v aktuálnom pracovnom adresári bob.
Teraz môže Bob prejsť na test / adresár takto:
$ cd test /
Teraz Bob vytvorí nový súbor správa.TXT v úložisku Git.
$ echo 'ahoj z linuxhint' >> správa.TXT
Bob sa zaväzuje zmeny.
$ git pridať .$ git commit -m 'initial commit'
Bob potvrdzuje, či boli zmeny vykonané v úložisku.
$ git log - online
Teraz Bob nahrá zmeny na server Git.
$ git push pôvod
Ďalší vývojár (povedzme šovon), ktorý chce prispieť do test Úložisko Git môže tiež klonovať test úložisko zo servera Git.
$ git klon http: // 192.168.20.129 / test.git
Shovon naviguje k test / adresár.
$ cd test /
Shovon nájde záväzok, ktorý urobil Bob.
Teraz shovon zmení správu.súbor txt.
$ echo 'shovon pridal niekoľko nových textov' >> správy.TXT
Potvrdí zmeny.
$ git pridať .$ git commit -m 'pridal novú správu'
Shovon potvrdzuje, či boli zmeny vykonané v úložisku.
$ git log - online
Shovon nahrá zmeny na server Git.
$ git push pôvod
Teraz Bob stiahne zmeny zo servera Git.
$ git pull
Bob nájde nový záväzok.
$ git log - online
Bob nájde zmeny, ktoré Shovon v správe urobil.súbor txt.
Takto môžete používať úložiská Git zo servera Git HTTP.
Pridanie autentifikácie používateľa na server Git:
Ak chcete pridať autentifikáciu používateľa do repozitárov Git pre celý server alebo do konkrétnych repozitárov Git, prečítajte si článok Konfigurácia servera Git pomocou HTTP v Ubuntu.
Takto teda nakonfigurujete server Git Smart HTTP na serveri CentOS 8 a používate úložiská Git zo servera Git. Ďakujeme, že ste si prečítali tento článok.