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å
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å
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 / bashGIT_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å
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 aSom 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 oprindelseSom 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å
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.konfTilfø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
Den endelige konfigurationsfil skal se ud som følger. Gem nu konfigurationsfilen ved at trykke på
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.