Git

Konfigurējiet Git Server ar HTTP Ubuntu

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

Git un Apache HTTP servera instalēšana:

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

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

$ sudo apt atjauninājums

Būtu jāatjaunina APT pakotnes krātuves kešatmiņa.

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

$ sudo apt instalējiet git apache2 apache2-utils

Tagad nospiediet un pēc tam nospiediet lai apstiprinātu instalēšanu.

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:

$ sudo a2enmod env cgi aizstājvārds pārrakstīt

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

Tagad izveidojiet jaunu direktoriju / var / www / git visu Git krātuvju glabāšanai ar šādu komandu:

$ sudo mkdir / var / www / git

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

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

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


ServerAdmin tīmekļa pārzinis @ 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
 

Opcijas + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride None
Pieprasīt visu piešķirto

 
DocumentRoot / var / www / html
 

Opcijas Indeksi FollowSymLinks MultiViews
AllowOverride None
Pieprasīt visu piešķirto

 
 
ErrorLog $ APACHE_LOG_DIR / kļūda.žurnāls
Brīdina LogLevel
CustomLog $ APACHE_LOG_DIR / piekļuve.baļķis kopā

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

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

$ sudo a2dissite 000-noklusējums.konf

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

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

$ sudo a2ensite git.konf

Jāiespējo vietnes Git konfigurācija.

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

$ sudo systemctl restartējiet apache2

Lai sāktu jaunu Git krātuves pieejamību, izmantojot Apache HTTP serveri, jums būs jāpalaiž dažas komandas. Jūs nevēlaties darīt vienu un to pašu atkal un atkal, lai tikai izveidotu jaunu Git repozitoriju. 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 / local / bin / git-create-repo.sh

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

#!/ 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 - kails &> / dev / null
pieskarieties git-daemon-export-ok
cp āķi / pēc atjaunināšanas.āķu paraugi / pēcatjaunināšana
git config http.Receivepack true
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
atbalss "Git repozitorijs '$ REPO_NAME" izveidots šeit: $ GIT_DIR / $ REPO_NAME.git "

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

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

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

Tagad izveidojiet jaunu Git repozitoriju pārbaude Git projekta saknē / var / www / git izmantojot git-create-repo.sh čaulas skripts:

$ sudo git-create-repo.sh tests

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

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

$ ip a

Kā redzat, manā gadījumā IP adrese ir 192.168. lpp.21.208. Jums būs savādāk. Turpmāk nomainiet to ar savu.

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

$ git klons http: // 192.168. lpp.21.208 / git / tests.git

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

Tagad pievienosim jaunu saistību pārbaude Git krātuve.

$ cd tests /
$ echo "Sveika pasaule"> sveiki
$ git pievienot .
$ git saistības -m 'sākotnējā saistība'

Tagad augšupielādējiet izmaiņas vietnē pārbaude Servera krātuve serverī ir šāda:

$ git push izcelsme

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

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.konf vietnes konfigurācijas fails šādi:

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

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


AuthType Basic
AuthName "Git verifikācija"
AuthUserFile / etc / apache2 / git.passwd
Pieprasīt derīgu lietotāju

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

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

Tagad izveidojiet jaunu lietotāju datu bāzes failu / etc / apache2 / git.passwd un pievienojiet jaunu lietotāju (pieņemsim, ka šovons) uz datu bāzes failu šādi:

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

Tagad ierakstiet jaunu paroli jaunajam lietotājam un nospiediet .

Atkārtoti ievadiet to pašu paroli un nospiediet .

Lietotāju un paroļu pāris jāpievieno datu bāzei.

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

$ sudo systemctl restartējiet apache2

Tagad, ja jūs mēģināt klonēt pārbaude vēlreiz, jums tiks lūgts autentificēties, kā redzat zemāk redzamajā ekrānuzņēmumā.

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

Pat tad, kad jūs mēģināt nospiest vai izvilkt no Git repozitorija, jums tiks prasīts arī lietotājvārds un parole.

Tiklīdz jūs autentificēsit, push / pull darbosies.

Varat arī iestatīt dažādu lietotāju datu bāzi dažādiem Git krātuvēm. Tas varētu būt noderīgi projektiem, kuros daudzi cilvēki strādā kopā vienā Git repozitorijā.

Lai iestatītu Git krātuves autentifikāciju, vispirms rediģējiet git.konf vietnes konfigurācijas fails šādi:

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

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


AuthType Basic
AuthName "Git verifikācija"
AuthUserFile / etc / apache2 / git.pārbaude.passwd
Pieprasīt derīgu lietotāju

 

AuthType Basic
AuthName "Git verifikācija"
AuthUserFile / etc / apache2 / git.tests2.passwd
Pieprasīt derīgu lietotāju

Katram Git repozitorijam pārbaude un tests2, a 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 sekoja un .

Tagad nepieciešamās lietotāju datubāzes varat izveidot šādi:

$ sudo htpasswd -c / etc / apache2 / git.pārbaude.parole USERNAME
$ sudo htpasswd -c / etc / apache2 / git.tests2.parole USERNAME

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

$ sudo systemctl restartējiet apache2

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

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

Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...