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/ietTagad izveidojiet jaunu Apache vietnes konfigurāciju /etc/apache2/sites-available/git.conf Git ar šādu komandu:
$sudo nano /utt/apache2/vietnes-pieejamas/git.confTagad 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.confVietnes noklusējuma konfigurācija ir jāatspējo.
Tagad iespējojiet Git vietnes konfigurāciju ar šādu komandu:
$sudoa2ensite git.confJāiespējo Git vietnes konfigurācija.
Tagad restartējiet Apache HTTP serveri ar šādu komandu:
$sudosystemctl restartējiet apache2Lai 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.shTagad čaulas skriptā ierakstiet šādas kodu rindas.
#!/bin/bashGIT_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.shTagad 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ārbaudeGit krātuve pārbaude būtu jāizveido.
Lai piekļūtu Git repozitorijam, jums ir nepieciešama Git HTTP servera IP adrese.
$ipuzKā 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.goGit 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 pushizcelsmiKā 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.confTagad 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 shovonTagad 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 apache2Tagad, 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.confTagad 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 apache2Tagad 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.