Állítsa be a Git szervert HTTP -vel az Ubuntu rendszeren

Configure Git Server With Http Ubuntu



Ha egy Git HTTP szervert szeretne beállítani a Git lerakatokkal való privát munkavégzéshez, akkor ez a cikk az Ön számára. Ebben a cikkben megmutatom, hogyan konfigurálható egy Git Smart HTTP szerver Ubuntu rendszeren az Apache HTTP szerverrel. Szóval, kezdjük.

A Git és az Apache csomagok elérhetők az Ubuntu hivatalos csomagtárában. Tehát könnyen telepítheti az APT csomagkezelővel.





Először frissítse az APT csomagtár tár gyorsítótárát a következő paranccsal:



$sudotaláló frissítés



Frissíteni kell az APT csomagtároló gyorsítótárát.





Most telepítse a Git és az Apache programot a következő paranccsal:



$sudotalálótelepítés megyapache2 apache2-utils

Most nyomja meg ÉS majd nyomja meg a gombot a telepítés megerősítéséhez.

Telepíteni kell a Git és az Apache programokat.

Az Apache HTTP szerver konfigurálása a Git számára:

Most engedélyezze az Apache -t mod_env , mod_cgi , mod_alias és mod_rewrite modulokat a következő paranccsal:

$sudoa2enmodenvcgiálnévátírni

A szükséges Apache modulokat engedélyezni kell.

Most hozzon létre egy új könyvtárat /var/www/git az összes Git tároló megtartásához a következő paranccsal:

$sudo mkdir /ahol/www/megy

Most hozzon létre egy új Apache webhelykonfigurációt /etc/apache2/sites-available/git.conf a Git számára a következő paranccsal:

$sudo nano /stb./apache2/webhelyek-elérhetők/git.conf

Most írja be a következő sorokat a konfigurációs fájlba:

<VirtualHost*:80>
ServerAdmin webmester@helyi kiszolgáló

SetEnv GIT_PROJECT_ROOT<erős> /ahol/www/megyerős>
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias/megy/ /usr/lib/git-core/git-http-backend/

Álnév/megy /ahol/www/megy

<Könyvtár/usr/lib/git-core>
Opciók +ExecCGI-MultiViews+SymLinksIfOwnerMatch
AllowOverride Nincs
Mindent megadni
Könyvtár>

DocumentRoot/ahol/www/html

<Könyvtár/ahol/www>
Beállítások Indexek FollowSymLinks MultiViews
AllowOverride Nincs
Mindent megadni
Könyvtár>


ErrorLog$ {APACHE_LOG_DIR}/error.log
A LogLevel figyelmeztet
CustomLog$ {APACHE_LOG_DIR}/access.log kombinálva
VirtualHost>

A végső konfigurációs fájl a következőképpen néz ki. Most mentse el a konfigurációs fájlt a gomb megnyomásával + x követi ÉS és .

Most tiltsa le az Apache webhely alapértelmezett konfigurációját a következő paranccsal:

$sudoa2dissite 000-default.conf

Az alapértelmezett webhelykonfigurációt le kell tiltani.

Most engedélyezze a Git webhely konfigurációját a következő paranccsal:

$sudoa2ensite git.conf

A Git webhely konfigurációját engedélyezni kell.

Most indítsa újra az Apache HTTP szervert a következő paranccsal:

$sudosystemctl indítsa újra az apache2 programot

Az Apache HTTP -kiszolgálón keresztül elérhető új Git -lerakat rendszerindításához néhány parancsot kell futtatnia. Nem akarja ugyanazt újra és újra megtenni csak azért, hogy új Git adattárat hozzon létre. Ezért úgy döntöttem, hogy írok egy shell scriptet erre a célra.

Először hozzon létre egy új shell parancsfájlt /usr/local/bin/git-create-repo.sh a következő paranccsal:

$sudo nano /usr/helyi/am/git-create-repo.sh

Most írja be a következő kódsorokat a shell parancsfájlba.

#!/bin/bash

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

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

git init --éppen &> /dev/nulla
érintésgit-daemon-export-ok
cphorgok/frissítés utáni.mintahorgok/frissítés után
git confighttp.receptpackigaz
git update-server-info
dudálás -Rfwww-adatok: www-adatok'$ {GIT_DIR}/$ {REPO_NAME}.megy'
kidobta 'Git adattár'$ {REPO_NAME}'ben létrejött$ {GIT_DIR}/$ {REPO_NAME}.megy'

Miután beírta ezeket a sorokat, a shell parancsfájl a következőképpen néz ki. Most mentse el a fájlt a gomb megnyomásával + x követi ÉS és .

Most adja hozzá a végrehajtási engedélyt a shell parancsfájlhoz a következő paranccsal:

$sudo chmod+ x/usr/helyi/am/git-create-repo.sh

Most hozzon létre egy új Git adattárat teszt a Git projekt gyökerében /var/www/git használni a git-create-repo.sh shell script az alábbiak szerint:

$sudogit-create-repo.shteszt

A Git adattár teszt létre kell hozni.

A Git adattár eléréséhez szüksége van a Git HTTP szerver IP címére.

$ipnak nek

Mint láthatja, az IP -cím az én esetemben az 192.168.21.208 . Neked más lesz. Mostantól cserélje le a sajátjára.

Most klónozhatja a teszt Git adattár a következőképpen:

$git klónhttp://192.168.21.208/megy/teszt.go

A Git adattár teszt klónozni kell.

Most adjunk hozzá egy új kötelezettségvállalást a teszt Git adattár.

$CDteszt/
$kidobta 'Helló Világ' >Helló
$git hozzá.
$git elkötelezni -m 'kezdeti kötelezettségvállalás'

Most töltse fel a módosításokat a teszt Git adattár a szerveren az alábbiak szerint:

$git pusheredet

Amint látja, a módosítások feltöltése rendben van.

Felhasználói hitelesítés konfigurálása:

Ebben a szakaszban megmutatom, hogyan kell konfigurálni a felhasználói hitelesítést a szerver Git -tárházaiban.

Először szerkessze a git.conf webhely konfigurációs fájlja az alábbiak szerint:

$sudo nano /stb./apache2/webhelyek-elérhetők/git.conf

Most adja hozzá a következő szakaszt a konfigurációs fájlhoz.

<LocationMatch/megy/.*.megy>
AuthType Basic
AuthName'Git ellenőrzés'
AuthUserFile/stb./apache2/git.passwd
Érvényes felhasználó szükséges
LocationMatch>

Itt, /etc/apache2/git.passwd a felhasználói adatbázis fájl.

A végső konfigurációs fájlnak a következőképpen kell kinéznie. Most mentse el a fájlt a gomb megnyomásával + x követi ÉS és .

Most hozzon létre egy új felhasználói adatbázis -fájlt /etc/apache2/git.passwd és adjunk hozzá egy új felhasználót (mondjuk lapát ) az adatbázis fájlba az alábbiak szerint:

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

Most írja be az új felhasználó új jelszavát, és nyomja meg a gombot .

Írja be újra ugyanazt a jelszót, és nyomja meg a gombot .

A felhasználói jelszó párost hozzá kell adni az adatbázishoz.

Most indítsa újra az Apache HTTP szervert a következő paranccsal:

$sudosystemctl indítsa újra az apache2 programot

Most, ha megpróbálja klónozni a teszt a tárolóban, akkor a rendszer hitelesítést kér, amint az az alábbi képernyőképen látható.

Miután hitelesített a felhasználónévvel és jelszóval, hozzáférhet a Git adattárhoz.

Még akkor is, ha megpróbálja megnyomni vagy húzni a Git adattárat, a felhasználónevet és a jelszót is meg kell kérni.

A hitelesítés után a push/pull működni fog.

Különböző felhasználói adatbázist is beállíthat a különböző Git adattárakhoz. Ez hasznos lehet olyan projekteknél, ahol sok ember dolgozik együtt ugyanazon a Git adattáron.

A Git tárhelyi hitelesítés beállításához először szerkessze a git.conf webhely konfigurációs fájlja az alábbiak szerint:

$sudo nano /stb./apache2/webhelyek-elérhetők/git.conf

Most adja hozzá a következő sorokat a konfigurációs fájlhoz.

<Elhelyezkedés/megy/teszt.go>
AuthType Basic
AuthName'Git ellenőrzés'
AuthUserFile/stb./apache2/git.test.passwd
Érvényes felhasználó szükséges
Elhelyezkedés>

<Elhelyezkedés/megy/test2.git>
AuthType Basic
AuthName'Git ellenőrzés'
AuthUserFile/stb./apache2/git.test2.passwd
Érvényes felhasználó szükséges
Elhelyezkedés>

Minden Git adattárhoz teszt és teszt2 , nak nek szakasz van definiálva. Minden Git -lerakathoz más felhasználói adatbázis -fájlt használnak.

A végső konfigurációs fájlnak a következőképpen kell kinéznie. Most mentse el a konfigurációs fájlt a gomb megnyomásával + x követi ÉS és .

Most a következőképpen hozhatja létre a szükséges felhasználói adatbázisokat:

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

Ha elkészült, indítsa újra az Apache HTTP szervert a következő paranccsal:

$sudosystemctl indítsa újra az apache2 programot

Most minden Git adattárnak saját felhasználóval kell rendelkeznie, amely hozzá tud férni.

Tehát így konfigurálja a Git szervert az Apache HTTP szerverrel az Ubuntu rendszeren. Köszönjük, hogy elolvasta ezt a cikket.