Git

Konfigureerige Git Server HTTP-ga Ubuntu

Konfigureerige Git Server HTTP-ga Ubuntu
Kui soovite Giti HTTP-serveri Giti hoidlatega privaatseks kasutamiseks seadistada, on see artikkel mõeldud teile.  Selles artiklis näitan teile, kuidas konfigureerida Git Smart HTTP serverit Ubuntus Apache HTTP serveriga. Alustame siis.

Giti ja Apache HTTP-serveri installimine:

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

Kõigepealt värskendage APT paketi hoidla vahemälu järgmise käsuga:

$ sudo apt värskendus

APT-paketi hoidla vahemälu tuleks uuendada.

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

$ sudo apt installige git apache2 apache2-utils

Nüüd vajutage Y ja seejärel vajutage installi 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:

$ sudo a2enmod env cgi alias kirjuta ümber

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 / var / www / git

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

$ sudo nano / etc / apache2 / sites-available / git.konf

Nüüd tippige konfiguratsioonifaili järgmised read:


ServerAdmini veebimeister @ localhost
 
SetEnv GIT_PROJECT_ROOT / var / www / git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias ​​/ git / / usr / lib / git-core / git-http-backend /
 
Alias ​​/ git / var / www / git
 

Valikud + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Puudub
Nõua kõik lubatud

 
DocumentRoot / var / www / html
 

Valikud Indeksid FollowSymLinks MultiViews
AllowOverride Puudub
Nõua kõik lubatud

 
 
ErrorLog $ APACHE_LOG_DIR / viga.logi
LogLevel hoiatab
CustomLog $ APACHE_LOG_DIR / juurdepääs.palk kokku

Lõplik konfiguratsioonifail näeb välja järgmine. Nüüd salvestage konfiguratsioonifail vajutades + X järgneb Y ja .

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

$ sudo a2dissite 000-vaikimisi.konf

Saidi vaikekonfiguratsioon tuleks keelata.

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

$ sudo a2ensite git.konf

Giti saidi konfiguratsioon peaks olema lubatud.

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

$ sudo systemctl taaskäivitage apache2

Apache HTTP-serveri kaudu juurdepääsetava uue Giti hoidla käivitamiseks peate käivitama mõned käsud. Sa ei taha sama asja uuesti ja uuesti teha lihtsalt uue Giti hoidla loomiseks. Niisiis otsustasin selleks kirjutada shelliskripti.

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

$ sudo nano / usr / local / bin / git-create-repo.sh

Nüüd tippige shelliskripti järgmised koodiread.

#!/ 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 - paljas &> / dev / null
puudutage git-daemon-export-ok
cp konksud / värskendusjärgne.proovikonksud / värskendusjärgne
git config http.Receivepack true
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
kaja "Giti hoidla" $ REPO_NAME ", mis on loodud asukohas $ GIT_DIR / $ REPO_NAME.git "

Kui olete nendele ridadele tippinud, peaks shelliskript välja nägema järgmine. Nüüd salvestage fail, vajutades + X järgneb Y ja .

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

$ sudo chmod + x / usr / local / bin / git-create-repo.sh

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

$ sudo git-create-repo.sh test

Giti hoidla test tuleks luua.

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

$ ip a

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

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

$ giti kloon http: // 192.168.21.208 / git / test.git

Giti hoidla test tuleks kloonida.

Lisame nüüd uue kohustuse test Giti hoidla.

$ cd test /
$ echo "Tere maailm"> tere
$ git add .
$ git pühendus -m 'esialgne kohustus'

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

$ git push päritolu

Nagu näete, laaditakse muudatused üles suurepäraselt.

Kasutaja autentimise seadistamine:

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

Esmalt muutke git.konf saidi konfiguratsioonifail järgmiselt:

$ sudo nano / etc / apache2 / sites-available / git.konf

Nüüd lisage konfiguratsioonifaili järgmine jaotis.


AuthType Basic
AuthName "Git kinnitamine"
AuthUserFile / etc / apache2 / git.passwd
Nõua kehtivat kasutajat

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 järgneb Y ja .

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

$ sudo htpasswd -c / etc / apache2 / git.passwd shovon

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

Sisestage sama parool uuesti ja vajutage .

Kasutaja-parooli paar tuleks lisada andmebaasi.

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

$ sudo systemctl taaskäivitage apache2

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

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

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

Kui olete autentinud, töötab push / pull.

Samuti saate seada erinevatele Giti hoidlatele erineva kasutajate andmebaasi. See võib olla kasulik projektide jaoks, kus paljud inimesed töötavad koos ühes Giti hoidlas.

Giti hoidlas asuva autentimise määramiseks muutke kõigepealt git.konf saidi konfiguratsioonifail järgmiselt:

$ sudo nano / etc / apache2 / sites-available / git.konf

Nüüd lisage konfiguratsioonifaili järgmised read.


AuthType Basic
AuthName "Git kinnitamine"
AuthUserFile / etc / apache2 / git.test.passwd
Nõua kehtivat kasutajat

 

AuthType Basic
AuthName "Git kinnitamine"
AuthUserFile / etc / apache2 / git.test2.passwd
Nõua kehtivat kasutajat

Iga Giti hoidla jaoks test ja test2, a jaotis on määratletud. Iga Giti hoidla jaoks kasutatakse erinevat kasutaja andmebaasi faili.

Lõplik konfiguratsioonifail peaks välja nägema järgmine. Nüüd salvestage konfiguratsioonifail vajutades + X järgneb Y ja .

Nüüd saate luua vajalikud kasutajate andmebaasid järgmiselt:

$ sudo htpasswd -c / etc / apache2 / git.test.parool USERNAME
$ sudo htpasswd -c / etc / apache2 / git.test2.parool USERNAME

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

$ sudo systemctl taaskäivitage apache2

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

Nii konfigureerite Git Serveri Ubuntu Apache HTTP-serveriga. Täname selle artikli lugemise eest.

WinMouse võimaldab teil kohandada ja parandada hiirekursori liikumist Windowsi arvutis
Kui soovite oma hiirekursori vaikefunktsioone paremaks muuta, kasutage vabavara WinMouse. See lisab rohkem funktsioone, mis aitavad teil alandlikust h...
Hiire vasakklõps nupp ei tööta Windows 10-s
Kui kasutate oma sülearvuti või lauaarvutiga spetsiaalset hiirt, kuid hiire vasakklõps nupp ei tööta mingil põhjusel operatsioonisüsteemis Windows 10/...
Kursor hüppab või liigub juhuslikult Windows 10-s kirjutamise ajal
Kui leiate, et hiire kursor hüppab või liigub Windowsi sülearvutisse või arvutisse kirjutades automaatselt, juhuslikult, võivad mõned neist soovituste...