Konfigurējiet Git serveri ar HTTP Ubuntu

Configure Git Server With Http Ubuntu



Ja vēlaties iestatīt Git HTTP serveri darbam ar Git krātuvēm privāti, tad šis raksts ir domāts jums. Šajā rakstā es jums parādīšu, kā konfigurēt Git Smart HTTP serveri Ubuntu ar Apache HTTP serveri. Tātad, sāksim.

Git un Apache paketes ir pieejamas Ubuntu oficiālajā pakotņu krātuvē. Tātad, to var viegli instalēt, izmantojot APT pakotņu pārvaldnieku.







Vispirms atjauniniet APT pakotnes krātuves kešatmiņu ar šādu komandu:



$sudotrāpīgs atjauninājums



Jāatjaunina APT pakotņu krātuves kešatmiņa.





Tagad instalējiet Git un Apache ar šādu komandu:



$sudotrāpīgsuzstādīt ietapache2 apache2-utils

Tagad nospiediet UN un pēc tam nospiediet lai apstiprinātu instalāciju.

Jāinstalē Git un Apache.

Apache HTTP servera konfigurēšana Git:

Tagad iespējojiet Apache mod_env , mod_cgi , mod_alias un mod_rewrite moduļi ar šādu komandu:

$sudoa2enmodenvcgipseidonīmspārrakstīt

Jāiespējo nepieciešamie Apache moduļi.

Tagad izveidojiet jaunu direktoriju /var/www/git lai saglabātu visas Git krātuves ar šādu komandu:

$sudo mkdir /kur/www/iet

Tagad izveidojiet jaunu Apache vietnes konfigurāciju /etc/apache2/sites-available/git.conf Git ar šādu komandu:

$sudo nano /utt/apache2/vietnes-pieejamas/git.conf

Tagad konfigurācijas failā ierakstiet šādas rindas:

<VirtualHost*:80>
ServerAdmin tīmekļa pārzinis@vietējais saimnieks

SetEnv GIT_PROJECT_ROOT<spēcīgs> /kur/www/ietspēcīgs>
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias/iet/ /usr/lib/git-core/git-http-backend/

Pseidonīms/iet /kur/www/iet

<Katalogs/usr/lib/git-core>
Iespējas +ExecCGI-Vairāki skati+SymLinksIfOwnerMatch
AllowOverride Nav
Pieprasīt visu piešķirto
Katalogs>

DocumentRoot/kur/www/html

<Katalogs/kur/www>
Iespējas Indeksi FollowSymLinks MultiViews
AllowOverride Nav
Pieprasīt visu piešķirto
Katalogs>


ErrorLog$ {APACHE_LOG_DIR}/error.log
LogLevel brīdina
CustomLog$ {APACHE_LOG_DIR}/access.log kopā
VirtualHost>

Galīgais konfigurācijas fails izskatās šādi. Tagad saglabājiet konfigurācijas failu, nospiežot + X kam sekoja UN un .

Tagad atspējojiet noklusējuma Apache vietnes konfigurāciju ar šādu komandu:

$sudoa2dissite 000-default.conf

Vietnes noklusējuma konfigurācija ir jāatspējo.

Tagad iespējojiet Git vietnes konfigurāciju ar šādu komandu:

$sudoa2ensite git.conf

Jāiespējo Git vietnes konfigurācija.

Tagad restartējiet Apache HTTP serveri ar šādu komandu:

$sudosystemctl restartējiet apache2

Lai sāktu jaunu Git repozitoriju, kas pieejams, izmantojot Apache HTTP serveri, jums būs jāizpilda dažas komandas. Jūs nevēlaties darīt to pašu atkal un atkal, lai izveidotu jaunu Git krātuvi. Tātad, es nolēmu šim nolūkam uzrakstīt čaulas skriptu.

Vispirms izveidojiet jaunu čaulas skriptu /usr/local/bin/git-create-repo.sh ar šādu komandu:

$sudo nano /usr/vietējais/esmu/git-create-repo.sh

Tagad čaulas skriptā ierakstiet šādas kodu rindas.

#!/bin/bash

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

mkdir -lpp '$ {GIT_DIR}/$ {REPO_NAME}.iet '
CD '$ {GIT_DIR}/$ {REPO_NAME}.iet '

git init -tikai &> /dev/null
pieskartiesgit-daemon-export-ok
cpāķi/pēc atjaunināšanas. āķu paraugi/pēc atjaunināšanas
git confighttp.saņemiet iepakojumutaisnība
git update-server-info
klauns -Rfwww-dati: www-dati'$ {GIT_DIR}/$ {REPO_NAME}.iet '
izmest ārā 'Git repozitorijs'$ {REPO_NAME}'izveidots$ {GIT_DIR}/$ {REPO_NAME}.iet '

Kad esat ierakstījis šīs rindas, čaulas skriptam vajadzētu izskatīties šādi. Tagad saglabājiet failu, nospiežot + X kam sekoja UN un .

Tagad pievienojiet izpildes atļauju čaulas skriptam ar šādu komandu:

$sudo chmod+ x/usr/vietējais/esmu/git-create-repo.sh

Tagad izveidojiet jaunu Git krātuvi pārbaude Git projekta saknē /var/www/git izmantojot git-create-repo.sh apvalka skripts ir šāds:

$sudogit-create-repo.shpārbaude

Git krātuve pārbaude būtu jāizveido.

Lai piekļūtu Git repozitorijam, jums ir nepieciešama Git HTTP servera IP adrese.

$ipuz

Kā redzat, IP adrese manā gadījumā ir 192.168.21.208 . Jums tas būs savādāk. No šī brīža aizstājiet to ar savu.

Tagad jūs varat klonēt pārbaude Git krātuvi šādi:

$git klonshttp://192.168.21.208/iet/test.go

Git krātuve pārbaude vajadzētu klonēt.

Tagad pievienosim jaunu apņemšanos pārbaude Git krātuve.

$CDpārbaude/
$izmest ārā 'Sveika pasaule' >Sveiki
$git pievienot.
$git apņemties -m 'sākotnējā apņemšanās'

Tagad augšupielādējiet izmaiņas mapē pārbaude Git krātuvi serverī šādi:

$git pushizcelsmi

Kā redzat, izmaiņas tiek augšupielādētas labi.

Lietotāja autentifikācijas konfigurēšana:

Šajā sadaļā es jums parādīšu, kā konfigurēt lietotāja autentifikāciju servera Git krātuvēs.

Vispirms rediģējiet git.conf vietnes konfigurācijas failu šādi:

$sudo nano /utt/apache2/vietnes-pieejamas/git.conf

Tagad konfigurācijas failā pievienojiet šādu sadaļu.

<LocationMatch/iet/.* .iet>
AuthType Basic
AuthName'Git pārbaude'
AuthUserFile/utt/apache2/git.passwd
Pieprasīt derīgu lietotāju
LocationMatch>

Šeit, /etc/apache2/git.passwd ir lietotāju datu bāzes fails.

Galīgajam konfigurācijas failam vajadzētu izskatīties šādi. Tagad saglabājiet failu, nospiežot + X kam sekoja UN un .

Tagad izveidojiet jaunu lietotāju datu bāzes failu /etc/apache2/git.passwd un pievienojiet jaunu lietotāju (teiksim Šovons ) uz datu bāzes failu šādi:

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

Tagad ierakstiet jaunā lietotāja jauno paroli un nospiediet .

Vēlreiz ievadiet to pašu paroli un nospiediet .

Lietotāja paroles pāris jāpievieno datu bāzei.

Tagad restartējiet Apache HTTP serveri ar šādu komandu:

$sudosystemctl restartējiet apache2

Tagad, ja jūs mēģināt klonēt pārbaude Atkal krātuvē, jums tiks lūgts autentificēties, kā redzams zemāk esošajā ekrānuzņēmumā.

Kad esat autentificējies, izmantojot lietotājvārdu un paroli, varēsit piekļūt Git repozitorijam.

Pat mēģinot izstumt vai izvilkt no Git krātuves, jums tiks prasīts arī lietotājvārds un parole.

Pēc autentifikācijas darbosies push/pull.

Varat arī iestatīt atšķirīgu lietotāju datu bāzi dažādām Git krātuvēm. Tas varētu būt noderīgi projektiem, kuros daudzi cilvēki strādā kopā vienā un tajā pašā Git krātuvē.

Lai iestatītu Git repozitorija autentifikāciju, vispirms rediģējiet git.conf vietnes konfigurācijas failu šādi:

$sudo nano /utt/apache2/vietnes-pieejamas/git.conf

Tagad konfigurācijas failā pievienojiet šādas rindas.

<Atrašanās vieta/iet/test.go>
AuthType Basic
AuthName'Git pārbaude'
AuthUserFile/utt/apache2/git.test.passwd
Pieprasīt derīgu lietotāju
Atrašanās vieta>

<Atrašanās vieta/iet/test2.git>
AuthType Basic
AuthName'Git pārbaude'
AuthUserFile/utt/apache2/git.test2.passwd
Pieprasīt derīgu lietotāju
Atrašanās vieta>

Katram Git krātuvei pārbaude un tests2 , uz sadaļa ir definēta. Katram Git repozitorijam tiek izmantots atšķirīgs lietotāju datu bāzes fails.

Galīgajam konfigurācijas failam vajadzētu izskatīties šādi. Tagad saglabājiet konfigurācijas failu, nospiežot + X kam sekoja UN un .

Tagad jūs varat izveidot nepieciešamās lietotāju datu bāzes šādi:

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

Kad esat pabeidzis, restartējiet Apache HTTP serveri ar šādu komandu:

$sudosystemctl restartējiet apache2

Tagad katram Git krātuvei vajadzētu būt savam lietotāju kopumam, kas tam var piekļūt.

Tātad, tā jūs konfigurējat Git serveri ar Apache HTTP serveri Ubuntu. Paldies, ka izlasījāt šo rakstu.