Määritä Git -palvelin HTTP: llä Ubuntussa

Configure Git Server With Http Ubuntu



Jos haluat asentaa Git HTTP -palvelimen työskentelemään yksityisesti Git -arkistojen kanssa, tämä artikkeli on sinua varten. Tässä artikkelissa aion näyttää sinulle, miten Git Smart HTTP -palvelin määritetään Ubuntuun Apache HTTP -palvelimella. Aloitetaan siis.

Git- ja Apache -paketit ovat saatavilla Ubuntun virallisessa pakettivarastossa. Joten voit asentaa sen helposti APT -paketinhallinnan avulla.







Päivitä ensin APT -paketin arkiston välimuisti seuraavalla komennolla:



$sudoosuva päivitys



APT -paketin arkiston välimuisti on päivitettävä.





Asenna nyt Git ja Apache seuraavalla komennolla:



$sudosopivaAsentaa mennäapache2 apache2-utils

Paina nyt JA ja paina sitten vahvistaaksesi asennuksen.

Git ja Apache on asennettava.

Apache HTTP -palvelimen määrittäminen Gitille:

Ota nyt Apache käyttöön mod_env , mod_cgi , mod_alias ja mod_rewrite moduulit seuraavalla komennolla:

$sudoa2enmodenvcgialiaskirjoittaa uudelleen

Vaaditut Apache -moduulit tulee ottaa käyttöön.

Luo nyt uusi hakemisto /var/www/git kaikkien Git -arkistojen pitämiseksi seuraavalla komennolla:

$sudo mkdir /missä/www/mennä

Luo nyt uusi Apache -sivuston kokoonpano /etc/apache2/sites-available/git.conf Gitille seuraavalla komennolla:

$sudo nano /jne/apache2/sivustot-saatavilla/git.conf

Kirjoita nyt seuraavat rivit kokoonpanotiedostoon:

<VirtualHost*:80>
ServerAdmin -verkkovastaava@paikallinen isäntä

SetEnv GIT_PROJECT_ROOT<vahva> /missä/www/mennävahva>
SetEnv GIT_HTTP_EXPORT_ALL
KäsikirjoitusAlias/mennä/ /usr/lib/git-ydin/git-http-taustajärjestelmä/

Alias/mennä /missä/www/mennä

<Hakemisto/usr/lib/git-ydin>
Valinnat +ExecCGI-MultiViews+SymLinksIfOwnerMatch
AllowOverride Ei mitään
Vaadi kaikki myönnetty
Hakemisto>

DocumentRoot/missä/www/html

<Hakemisto/missä/www>
Asetukset Hakemisto FollowSymLinks MultiViews
AllowOverride Ei mitään
Vaadi kaikki myönnetty
Hakemisto>


ErrorLog$ {APACHE_LOG_DIR}/error.log
LogLevel varoittaa
CustomLog$ {APACHE_LOG_DIR}/access.log yhdistetty
VirtualHost>

Lopullinen määritystiedosto näyttää tältä. Tallenna nyt kokoonpanotiedosto painamalla + X jonka jälkeen JA ja .

Poista nyt Apache -sivuston oletusasetukset käytöstä seuraavalla komennolla:

$sudoa2dissite 000-default.conf

Sivuston oletusasetukset on poistettava käytöstä.

Ota nyt Git -sivuston kokoonpano käyttöön seuraavalla komennolla:

$sudoa2ensite git.conf

Git -sivuston määrityksen tulee olla käytössä.

Käynnistä nyt Apache HTTP -palvelin uudelleen seuraavalla komennolla:

$sudosystemctl käynnistä apache2 uudelleen

Jotta voit käynnistää uuden Git -arkiston, joka on käytettävissä Apache HTTP -palvelimen kautta, sinun on suoritettava muutama komento. Et halua tehdä samaa uudestaan ​​ja uudestaan ​​vain uuden Git -arkiston luomiseksi. Päätin siis kirjoittaa komentosarjan tähän tarkoitukseen.

Luo ensin uusi komentosarja /usr/local/bin/git-create-repo.sh seuraavalla komennolla:

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

Kirjoita nyt seuraavat koodirivit komentosarjan komentosarjaan.

#!/bin/bash

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

mkdir -p ''$ {GIT_DIR}/$ {REPO_NAME}.mennä'
CD ''$ {GIT_DIR}/$ {REPO_NAME}.mennä'

git init --vain &> /dev/tyhjä
kosketusgit-daemon-export-ok
cpkoukut/päivityksen jälkeen. näytekoukut/päivityksen jälkeen
git confighttp.receppacktotta
git update-server-info
nauraa -Rfwww-data: www-data''$ {GIT_DIR}/$ {REPO_NAME}.mennä'
heitti pois 'Git -arkisto'$ {REPO_NAME}'luotu vuonna$ {GIT_DIR}/$ {REPO_NAME}.mennä'

Kun kirjoitat nämä rivit, komentotiedoston pitäisi näyttää seuraavalta. Tallenna tiedosto nyt painamalla + X jonka jälkeen JA ja .

Lisää nyt suoritusoikeus komentosarjaan seuraavalla komennolla:

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

Luo nyt uusi Git -arkisto testata Git -projektin juuressa /var/www/git käyttämällä git-create-repo.sh shell -skripti seuraavasti:

$sudogit-create-repo.shtestata

Git -arkisto testata pitäisi luoda.

Päästäksesi Git -arkistoon tarvitset Git HTTP -palvelimen IP -osoitteen.

$ipkohteeseen

Kuten näette, IP -osoite minun tapauksessani on 192.168.21.208 . Se on erilainen sinulle. Korvaa se omallasi tästä lähtien.

Nyt voit kloonata testata Git -arkisto seuraavasti:

$git kloonihttp://192.168.21.208/mennä/test.go

Git -arkisto testata pitäisi kloonata.

Lisäämme nyt uuden sitoumuksen testata Git -arkisto.

$CDtestata/
$heitti pois 'Hei maailma' >Hei
$git lisää.
$git sitoutua -m 'ensimmäinen sitoutuminen'

Lataa nyt muutokset testata Git -arkisto palvelimella seuraavasti:

$git työntääalkuperä

Kuten huomaat, muutokset ladataan hienosti.

Käyttäjän todennuksen määrittäminen:

Tässä osassa näytän sinulle, kuinka voit määrittää käyttäjän todennuksen palvelimen Git -arkistoissa.

Muokkaa ensin git.conf sivuston määritystiedosto seuraavasti:

$sudo nano /jne/apache2/sivustot-saatavilla/git.conf

Lisää nyt seuraava osa määritystiedostoon.

<LocationMatch/mennä/.*.mennä>
AuthType Basic
AuthName'Git -vahvistus'
AuthUserFile/jne/apache2/git.passwd
Vaadi kelvollinen käyttäjä
LocationMatch>

Tässä, /etc/apache2/git.passwd on käyttäjän tietokantatiedosto.

Lopullisen määritystiedoston pitäisi näyttää tältä. Tallenna tiedosto nyt painamalla + X jonka jälkeen JA ja .

Luo nyt uusi käyttäjätietokantatiedosto /etc/apache2/git.passwd ja lisää uusi käyttäjä (sanotaan shovon ) tietokantatiedostoon seuraavasti:

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

Kirjoita nyt uuden käyttäjän uusi salasana ja paina .

Kirjoita sama salasana uudelleen ja paina .

Käyttäjä-salasana-pari on lisättävä tietokantaan.

Käynnistä nyt Apache HTTP -palvelin uudelleen seuraavalla komennolla:

$sudosystemctl käynnistä apache2 uudelleen

Jos nyt yrität kloonata testata arkisto uudelleen, sinua pyydetään todentamaan, kuten alla olevasta kuvakaappauksesta näet.

Kun olet todentanut käyttäjätunnuksesi ja salasanasi, voit käyttää Git -arkistoa.

Vaikka yrität työntää tai vetää Git -arkistoa, sinulta kysytään myös käyttäjänimeä ja salasanaa.

Kun olet todentanut, push/pull toimii.

Voit myös asettaa eri käyttäjätietokannan eri Git -arkistoille. Tästä voi olla hyötyä hankkeissa, joissa monet ihmiset työskentelevät yhdessä samassa Git -arkistossa.

Jos haluat asettaa Git-arkiston todennuksen, muokkaa ensin git.conf sivuston määritystiedosto seuraavasti:

$sudo nano /jne/apache2/sivustot-saatavilla/git.conf

Lisää nyt seuraavat rivit asetustiedostoon.

<Sijainti/mennä/test.go>
AuthType Basic
AuthName'Git -vahvistus'
AuthUserFile/jne/apache2/git.test.passwd
Vaadi kelvollinen käyttäjä
Sijainti>

<Sijainti/mennä/test2.git>
AuthType Basic
AuthName'Git -vahvistus'
AuthUserFile/jne/apache2/git.test2.passwd
Vaadi kelvollinen käyttäjä
Sijainti>

Jokaiselle Git -arkistolle testata ja testi 2 , jakso on määritelty. Jokaista Git -arkistoa käytetään eri tietokantatiedostolla.

Lopullisen määritystiedoston pitäisi näyttää tältä. Tallenna nyt kokoonpanotiedosto painamalla + X jonka jälkeen JA ja .

Nyt voit luoda tarvittavat käyttäjätietokannat seuraavasti:

$sudohtpasswd-c /jne/apache2/git.test.passwd KÄYTTÄJÄNIMI
$sudohtpasswd-c /jne/apache2/git.test2.passwd KÄYTTÄJÄNIMI

Kun olet valmis, käynnistä Apache HTTP -palvelin uudelleen seuraavalla komennolla:

$sudosystemctl käynnistä apache2 uudelleen

Nyt jokaisella Git -arkistolla pitäisi olla oma joukko käyttäjiä, jotka voivat käyttää sitä.

Joten näin määrität Git -palvelimen Apache HTTP -palvelimella Ubuntussa. Kiitos tämän artikkelin lukemisesta.