Git

Konfigurer Git Server med HTTP på Ubuntu

Konfigurer Git Server med HTTP på Ubuntu
Hvis du vil konfigurere en Git HTTP-server til at arbejde privat med Git-arkiver, er denne artikel noget for dig.  I denne artikel vil jeg vise dig, hvordan du konfigurerer en Git Smart HTTP-server på Ubuntu med Apache HTTP-server. Så lad os komme i gang.

Installation af Git og Apache HTTP-server:

Git- og Apache-pakker er tilgængelige i Ubuntu's officielle pakkeopbevaringssted. Så du kan nemt installere det med APT-pakkehåndteringen.

Opdater først APT-pakkeopbevaringscachen med følgende kommando:

$ sudo apt opdatering

APT-pakkeopbevaringscachen skal opdateres.

Installer nu Git og Apache med følgende kommando:

$ sudo apt installere git apache2 apache2-utils

Nu skal du trykke på Y og tryk derefter på for at bekræfte installationen.

Git og Apache skal installeres.

Konfiguration af Apache HTTP-server til Git:

Aktiver nu Apache mod_env, mod_cgi, mod_alias og mod_rewrite moduler med følgende kommando:

$ sudo a2enmod env cgi alias omskrivning

De krævede Apache-moduler skal være aktiveret.

Opret nu en ny mappe / var / www / git for at holde alle Git-arkiverne med følgende kommando:

$ sudo mkdir / var / www / git

Opret nu en ny Apache-webstedskonfiguration / etc / apache2 / sites-available / git.konf til Git med følgende kommando:

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

Skriv nu følgende linjer i konfigurationsfilen:


ServerAdmin webmaster @ 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
 

Valgmuligheder + ExecCGI -MultiViews + SymLinksIfOwnerMatch
AllowOverride Ingen
Kræv alle tildelte

 
DocumentRoot / var / www / html
 

Indstillinger for indstillinger FollowSymLinks MultiViews
AllowOverride Ingen
Kræv alle tildelte

 
 
ErrorLog $ APACHE_LOG_DIR / fejl.log
LogLevel advarer
CustomLog $ APACHE_LOG_DIR / adgang.log kombineret

Den endelige konfigurationsfil ser ud som følger. Gem nu konfigurationsfilen ved at trykke på + x efterfulgt af Y og .

Deaktiver nu standard Apache-webstedskonfiguration med følgende kommando:

$ sudo a2dissite 000-standard.konf

Standardkonfigurationen af ​​webstedet skal deaktiveres.

Aktiver nu konfigurationen af ​​Git-webstedet med følgende kommando:

$ sudo a2ensite git.konf

Konfigurationen af ​​Git-webstedet skal være aktiveret.

Genstart nu Apache HTTP-server med følgende kommando:

$ sudo systemctl genstart apache2

For at starte et nyt Git-lager, der er tilgængeligt via Apache HTTP-serveren, skal du køre et par kommandoer. Du ønsker ikke at gøre det samme igen og igen bare for at oprette et nyt Git-arkiv. Så jeg besluttede at skrive et shell-script til dette formål.

Opret først et nyt shell-script / usr / local / bin / git-create-repo.sh med følgende kommando:

$ sudo nano / usr / local / bin / git-create-repo.sh

Skriv nu de følgende linjer med koder i shell-scriptet.

#!/ 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 --bare &> / dev / null
tryk på git-dæmon-eksport-ok
cp kroge / efter opdatering.prøve kroge / efter opdatering
git config http.modtagelsespakke sandt
git update-server-info
chown -Rf www-data: www-data "$ GIT_DIR / $ REPO_NAME.git "
ekko "Git-lager" $ REPO_NAME "oprettet i $ GIT_DIR / $ REPO_NAME.git "

Når du har skrevet disse linjer, skal shell-scriptet se ud som følger. Gem nu filen ved at trykke på + x efterfulgt af Y og .

Tilføj nu eksekveringstilladelse til shell-scriptet med følgende kommando:

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

Opret nu et nyt Git-arkiv prøve i Git-projektets rod / var / www / git bruger git-create-repo.sh shell-script som følger:

$ sudo git-create-repo.sh test

Git-arkivet prøve skal oprettes.

For at få adgang til Git-arkivet skal du bruge IP-adressen på Git HTTP-serveren.

$ ip a

Som du kan se, er IP-adressen i mit tilfælde 192.168.21.208. Det vil være anderledes for dig. Udskift den med din fra nu af.

Nu kan du klone prøve Git-arkiv som følger:

$ git klon http: // 192.168.21.208 / git / test.git

Git-arkivet prøve skal klones.

Lad os nu tilføje en ny forpligtelse til prøve Git-arkiv.

$ cd test /
$ echo "Hello World"> hej
$ git tilføj .
$ git commit -m 'initial commit'

Upload nu ændringerne til prøve Git repository på serveren som følger:

$ git push oprindelse

Som du kan se, uploades ændringerne helt fint.

Konfiguration af brugergodkendelse:

I dette afsnit vil jeg vise dig, hvordan du konfigurerer brugergodkendelse på Git-arkiverne på serveren.

Først skal du redigere git.konf websteds konfigurationsfil som følger:

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

Tilføj nu det følgende afsnit i konfigurationsfilen.


AuthType Basic
AuthName "Git Verification"
AuthUserFile / etc / apache2 / git.passwd
Kræver gyldig bruger

Her, / etc / apache2 / git.passwd er brugerdatabasefilen.

Den endelige konfigurationsfil skal se ud som følger. Gem nu filen ved at trykke på + x efterfulgt af Y og .

Opret nu en ny brugerdatabasefil / etc / apache2 / git.passwd og tilføj en ny bruger (lad os sige shovon) til databasefilen som følger:

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

Indtast nu en ny adgangskode til den nye bruger, og tryk på .

Indtast den samme adgangskode igen, og tryk på .

Parret med brugeradgangskode skal føjes til databasen.

Genstart nu Apache HTTP-server med følgende kommando:

$ sudo systemctl genstart apache2

Nu, hvis du prøver at klone prøve repository igen, bliver du bedt om at godkende som du kan se i skærmbilledet nedenfor.

Når du først har godkendt ved hjælp af brugernavnet og adgangskoden, kan du få adgang til Git-arkivet.

Selv når du prøver at skubbe eller trække fra Git-arkivet, bliver du også bedt om brugernavnet og adgangskoden.

Når du har godkendt, fungerer push / pull.

Du kan også indstille forskellige brugerdatabaser til forskellige Git-arkiver. Dette kan være nyttigt til projekter, hvor mange mennesker arbejder sammen om det samme Git-arkiv.

For at indstille Git-arkivmæssig godkendelse skal du først redigere git.konf websteds konfigurationsfil som følger:

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

Tilføj nu følgende linjer i konfigurationsfilen.


AuthType Basic
AuthName "Git Verification"
AuthUserFile / etc / apache2 / git.prøve.passwd
Kræver gyldig bruger

 

AuthType Basic
AuthName "Git Verification"
AuthUserFile / etc / apache2 / git.test2.passwd
Kræver gyldig bruger

For hvert Git-arkiv prøve og test2, -en sektion er defineret. En anden brugerdatabasefil bruges til hvert Git-arkiv.

Den endelige konfigurationsfil skal se ud som følger. Gem nu konfigurationsfilen ved at trykke på + x efterfulgt af Y og .

Nu kan du oprette de nødvendige brugerdatabaser som følger:

$ sudo htpasswd -c / etc / apache2 / git.prøve.passwd USERNAME
$ sudo htpasswd -c / etc / apache2 / git.test2.passwd USERNAME

Når du er færdig, skal du genstarte Apache HTTP-server med følgende kommando:

$ sudo systemctl genstart apache2

Nu skal hvert Git-arkiv have sit eget sæt brugere, der kan få adgang til det.

Så det er sådan, du konfigurerer Git Server med Apache HTTP Server på Ubuntu. Tak, fordi du læste denne artikel.

Top 5 spiloptagelseskort
Vi har alle set og elsket streaming af gameplay på YouTube. PewDiePie, Jakesepticye og Markiplier er kun nogle af de bedste spillere, der har tjent mi...
Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...