Seadistage Ubuntu Git -server HTTP -ga

Configure Git Server With Http Ubuntu



Kui soovite seadistada Git HTTP -serveri töötamiseks Giti hoidlatega privaatselt, siis on see artikkel teie jaoks. Selles artiklis näitan teile, kuidas seadistada Git Smart HTTP -server Ubuntu Apache HTTP -serveriga. Niisiis, alustame.

Git ja Apache paketid on saadaval Ubuntu ametlikus pakettide hoidlas. Nii saate selle hõlpsalt installida APT paketihalduri abil.







Esiteks värskendage APT paketi hoidla vahemälu järgmise käsuga:



$sudosobiv uuendus



APT pakettide hoidla vahemälu tuleks värskendada.





Nüüd installige Git ja Apache järgmise käsuga:



$sudoasjakohanepaigaldada mineapache2 apache2-utils

Nüüd vajutage JA ja seejärel vajutage installimise kinnitamiseks.

Git ja Apache tuleks installida.

Apache HTTP -serveri konfigureerimine Giti jaoks:

Nüüd lubage Apache mod_env , mod_cgi , mod_alias ja mod_rewrite moodulid järgmise käsuga:

$sudoa2enmodenvcgiteise nimegauuesti kirjutama

Nõutavad Apache moodulid peaksid olema lubatud.

Nüüd looge uus kataloog /var/www/git kõigi Giti hoidlate hoidmiseks järgmise käsuga:

$sudo mkdir /kus/www/mine

Nüüd looge uus Apache saidi konfiguratsioon /etc/apache2/sites-available/git.conf Giti jaoks järgmise käsuga:

$sudo nano /jne/apache2/saidid-saadaval/git.conf

Nüüd sisestage konfiguratsioonifaili järgmised read:

<VirtualHost*:80>
ServerAdmini veebimeister@localhost

SetEnv GIT_PROJECT_ROOT<tugev> /kus/www/minetugev>
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias/mine/ /usr/lib/git-core/git-http-taustaprogramm/

Teise nimega/mine /kus/www/mine

<Kataloog/usr/lib/git-core>
Valikud +ExecCGI-MultiViews+SymLinksIfOwnerMatch
AllowOverride Puudub
Nõua kõik lubatud
Kataloog>

DocumentRoot/kus/www/html

<Kataloog/kus/www>
Valikud Indeksid FollowSymLinks MultiViews
AllowOverride Puudub
Nõua kõik lubatud
Kataloog>


ErrorLog$ {APACHE_LOG_DIR}/error.log
LogLevel hoiatab
CustomLog$ {APACHE_LOG_DIR}/access.log kombineeritud
VirtualHost>

Lõplik konfiguratsioonifail näeb välja järgmine. Nüüd salvestage konfiguratsioonifail, vajutades + X millele järgnes JA ja .

Nüüd keelake Apache saidi vaikekonfiguratsioon järgmise käsuga:

$sudoa2dissite 000-default.conf

Saidi vaikekonfiguratsioon tuleks keelata.

Nüüd lubage Giti saidi konfiguratsioon järgmise käsuga:

$sudoa2ensite git.conf

Giti saidi konfiguratsioon peaks olema lubatud.

Nüüd taaskäivitage Apache HTTP -server järgmise käsuga:

$sudosystemctl taaskäivitage apache2

Apache HTTP -serveri kaudu juurdepääsetava uue Giti hoidla käivitamiseks peate käivitama mõned käsud. Sa ei taha teha sama asja ikka ja jälle lihtsalt uue Giti hoidla loomiseks. Niisiis, otsustasin sel eesmärgil kirjutada shelliskripti.

Esiteks looge uus shelliskript /usr/local/bin/git-create-repo.sh järgmise käsuga:

$sudo nano /usr/kohalik/olen/git-create-repo.sh

Nüüd tippige shelliskripti järgmised koodiridad.

#!/bin/bash

GIT_DIR='/var/www/git'
REPO_NAME=$ 1

mkdir -lk '$ {GIT_DIR}/$ {REPO_NAME}.go '
CD '$ {GIT_DIR}/$ {REPO_NAME}.go '

git init -lihtsalt &> /arendaja/null
puudutadagit-daemon-export-ok
cpkonksud/post-update.proovi konksud/pärast värskendamist
git confighttp.receptpacktõsi
git update-server-info
hüüdma -Rfwww-andmed: www-andmed'$ {GIT_DIR}/$ {REPO_NAME}.go '
viskas välja 'Giti hoidla'$ {REPO_NAME}'loodud aastal$ {GIT_DIR}/$ {REPO_NAME}.go '

Kui olete need read sisestanud, peaks shelliskript välja nägema järgmine. Nüüd salvestage fail, vajutades + X millele järgnes JA ja .

Nüüd lisage shelliskriptile käivitusluba järgmise käsuga:

$sudo chmod+ x/usr/kohalik/olen/git-create-repo.sh

Nüüd looge uus Giti hoidla test projekti Git juur /var/www/git kasutades git-create-repo.sh shelliskript järgmiselt:

$sudogit-create-repo.shtest

Giti hoidla test tuleks luua.

Giti hoidlasse pääsemiseks vajate Giti HTTP -serveri IP -aadressi.

$ipet

Nagu näete, on minu puhul IP -aadress 192.168.21.208 . Teie jaoks on see teistsugune. Nüüdsest asendage see omaga.

Nüüd saate kloonida test Giti hoidla järgmiselt:

$git kloonhttp://192.168.21.208/mine/test.go

Giti hoidla test tuleks kloonida.

Nüüd lisame kaustale uue kohustuse test Giti hoidla.

$CDtest/
$viskas välja 'Tere, Maailm' >Tere
$lisage.
$git pühenduma -m 'esialgne kohustus'

Nüüd laadige muudatused üles kausta test Giti hoidla serveris järgmiselt:

$git pushpäritolu

Nagu näete, laaditakse muudatused hästi üles.

Kasutaja autentimise seadistamine:

Selles jaotises näitan teile, kuidas konfigureerida kasutaja autentimist serveri Git -hoidlates.

Esiteks muutke git.conf saidi konfiguratsioonifail järgmiselt:

$sudo nano /jne/apache2/saidid-saadaval/git.conf

Nüüd lisage konfiguratsioonifaili järgmine jaotis.

<LocationMatch/mine/.* .minek>
AuthType Basic
AutnName„Giti kontrollimine”
AuthUserFile/jne/apache2/git.passwd
Nõua kehtivat kasutajat
LocationMatch>

Siin, /etc/apache2/git.passwd on kasutaja andmebaasi fail.

Lõplik konfiguratsioonifail peaks välja nägema järgmine. Nüüd salvestage fail, vajutades + X millele järgnes JA ja .

Nüüd looge uus kasutaja andmebaasi fail /etc/apache2/git.passwd ja lisage uus kasutaja (oletame kühvel ) andmebaasi faili järgmiselt:

$sudohtpasswd-c /jne/apache2/git.passwd shovon

Nüüd sisestage uue kasutaja jaoks uus parool ja vajutage .

Sisestage sama parool uuesti ja vajutage .

Kasutaja-parooli paar tuleks andmebaasi lisada.

Nüüd taaskäivitage Apache HTTP -server järgmise käsuga:

$sudosystemctl taaskäivitage apache2

Kui proovite nüüd kloonida test uuesti hoidlas, palutakse teil autentida, nagu näete alloleval ekraanipildil.

Kui olete kasutajanime ja parooli abil autentinud, pääsete juurde Giti hoidlale.

Isegi kui proovite Giti hoidlast lükata või tõmmata, küsitakse teilt ka kasutajanime ja parooli.

Kui olete autentinud, töötab tõukamine/tõmbamine.

Samuti saate erinevatele Giti hoidlatele määrata erineva kasutajate andmebaasi. See võib olla kasulik projektide jaoks, kus paljud inimesed töötavad koos samas Giti hoidlas.

Giti hoidlate autentimise seadistamiseks muutke esmalt git.conf saidi konfiguratsioonifail järgmiselt:

$sudo nano /jne/apache2/saidid-saadaval/git.conf

Nüüd lisage konfiguratsioonifaili järgmised read.

<Asukoht/mine/test.go>
AuthType Basic
AutnName„Giti kontrollimine”
AuthUserFile/jne/apache2/git.test.passwd
Nõua kehtivat kasutajat
Asukoht>

<Asukoht/mine/test2.git>
AuthType Basic
AutnName„Giti kontrollimine”
AuthUserFile/jne/apache2/git.test2.passwd
Nõua kehtivat kasutajat
Asukoht>

Iga Giti hoidla jaoks test ja test2 , juurde jagu on määratletud. Iga Giti hoidla jaoks kasutatakse erinevat andmebaasi faili.

Lõplik konfiguratsioonifail peaks välja nägema järgmine. Nüüd salvestage konfiguratsioonifail, vajutades + X millele järgnes JA ja .

Nüüd saate luua vajalikud kasutajaandmebaasid järgmiselt.

$sudohtpasswd-c /jne/apache2/git.test.passwd USERNAME
$sudohtpasswd-c /jne/apache2/git.test2.passwd USERNAME

Kui olete lõpetanud, taaskäivitage Apache HTTP -server järgmise käsuga:

$sudosystemctl taaskäivitage apache2

Nüüd peaks igal Giti hoidlal olema oma kasutajate komplekt, kellel on sellele juurdepääs.

Niisiis konfigureerite Git -serveri Ubuntu Apache HTTP -serveriga. Täname, et lugesite seda artiklit.