Configureu el servidor Git amb HTTP a Ubuntu

Configure Git Server With Http Ubuntu



Si voleu configurar un servidor HTTP Git per treballar amb repositoris Git de manera privada, aquest article és per a vosaltres. En aquest article, us mostraré com configurar un servidor HTTP Git Smart a Ubuntu amb el servidor HTTP Apache. Comencem, doncs.

Els paquets Git i Apache estan disponibles al dipòsit oficial de paquets d’Ubuntu. Per tant, podeu instal·lar-lo fàcilment amb el gestor de paquets APT.







Primer, actualitzeu la memòria cau del dipòsit de paquets APT amb l'ordre següent:



$suoactualització apt



La memòria cau del dipòsit de paquets APT s'hauria d'actualitzar.





Ara, instal·leu Git i Apache amb l'ordre següent:



$suoapteinstal·lar vajaapache2 apache2-utils

Ara, premeu I i després premeu per confirmar la instal·lació.

Hauríeu d’instal·lar Git i Apache.

Configuració del servidor HTTP Apache per a Git:

Ara, activeu Apache mod_env , mod_cgi , mod_alias i mod_rewrite mòduls amb l'ordre següent:

$suoa2enmodenvcgiàliesreescriure

Els mòduls Apache necessaris haurien d’estar habilitats.

Ara, creeu un directori nou / var / www / git per conservar tots els dipòsits Git amb l'ordre següent:

$suo mkdir /on/www/vaja

Ara, creeu una nova configuració del lloc Apache /etc/apache2/sites-available/git.conf per a Git amb l'ordre següent:

$suo nano /etc/apache2/llocs disponibles/git.conf

Ara, escriviu les línies següents al fitxer de configuració:

<VirtualHost*:80>
Administrador web ServerAdmin@localhost

SetEnv GIT_PROJECT_ROOT<fort> /on/www/vajafort>
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias/vaja/ /usr/lib/git-core/git-http-backend/

alias/vaja /on/www/vaja

<Directori/usr/lib/git-core>
Opcions + ExecCGI-MultiViews+ SymLinksIfOwnerMatch
AllowOverride Cap
Requeriu tots els concedits
Directori>

DocumentRoot/on/www/html

<Directori/on/www>
Opcions Índexs FollowSymLinks MultiViews
AllowOverride Cap
Requeriu tots els concedits
Directori>


Registre d'errors$ {APACHE_LOG_DIR}/error.log
LogLevel adverteix
CustomLog$ {APACHE_LOG_DIR}/access.log combinat
VirtualHost>

El fitxer de configuració final té el següent aspecte. Ara, deseu el fitxer de configuració prement + X Seguit per I i .

Ara, desactiveu la configuració predeterminada del lloc d'Apache amb l'ordre següent:

$suoa2dissite 000-default.conf

La configuració predeterminada del lloc s'hauria de desactivar.

Ara, activeu la configuració del lloc Git amb l'ordre següent:

$suoa2ensite git.conf

La configuració del lloc Git hauria d’estar habilitada.

Ara, reinicieu el servidor HTTP Apache amb l'ordre següent:

$suosystemctl reinicia apache2

Per arrencar un nou dipòsit Git accessible al servidor HTTP Apache, haureu d'executar algunes ordres. No voleu fer el mateix una i altra vegada només per crear un nou dipòsit de Git. Per tant, vaig decidir escriure un script de shell per a aquest propòsit.

En primer lloc, creeu un nou script d’intèrpret d’ordres /usr/local/bin/git-create-repo.sh amb l'ordre següent:

$suo nano /usr/local/sóc/git-create-repo.sh

Ara, escriviu les següents línies de codis a l'script de l'intèrpret d'ordres.

#! / bin / bash

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

mkdir -p '$ {GIT_DIR}/$ {REPO_NAME}.go '
cd '$ {GIT_DIR}/$ {REPO_NAME}.go '

git init --just &> /dev/nul
tocargit-daemon-export-ok
cpganxos/ganxos post-update.sample/post-actualització
git confighttp.receivepackcert
git update-server-info
bufat -Rfwww-data: www-data'$ {GIT_DIR}/$ {REPO_NAME}.go '
trobo 'Dipòsit Git'$ {REPO_NAME}'creat a$ {GIT_DIR}/$ {REPO_NAME}.go '

Un cop escriviu aquestes línies, l'script de l'intèrpret d'ordres hauria de ser el següent. Ara, deseu el fitxer prement + X Seguit per I i .

Ara, afegiu el permís d'execució a l'script de l'intèrpret d'ordres amb l'ordre següent:

$suo chmod+ x/usr/local/sóc/git-create-repo.sh

Ara, creeu un nou dipòsit Git prova a l'arrel del projecte Git / var / www / git utilitzant el git-create-repo.sh script de shell de la següent manera:

$suogit-create-repo.shprova

El dipòsit de Git prova s’hauria de crear.

Per accedir al dipòsit Git, necessiteu l'adreça IP del servidor HTTP Git.

$ipa

Com podeu veure, l'adreça IP en el meu cas és 192.168.21.208 . Serà diferent per a vosaltres. Substituïu-lo pel vostre a partir d’ara.

Ara, podeu clonar el fitxer prova Dipòsit Git de la següent manera:

$git clonhttp://192.168.21.208/vaja/test.go

El dipòsit de Git prova s’hauria de clonar.

Ara, afegim una nova confirmació al prova Dipòsit de Git.

$cdprova/
$trobo 'Hola món' >Hola
$git add.
$git commit -m 'commit inicial'

Ara, pengeu els canvis al fitxer prova Dipòsit Git al servidor de la següent manera:

$git pushorigen

Com podeu veure, els canvis es carreguen bé.

Configuració de l'autenticació d'usuari:

En aquesta secció, us mostraré com configurar l'autenticació d'usuari als dipòsits Git del servidor.

En primer lloc, editeu el fitxer git.conf fitxer de configuració del lloc de la següent manera:

$suo nano /etc/apache2/llocs disponibles/git.conf

Ara, afegiu la secció següent al fitxer de configuració.

<LocationMatch/vaja/.* .go>
AuthType Basic
AuthName'Verificació Git'
AuthUserFile/etc/apache2/git.passwd
Requereix un usuari vàlid
LocationMatch>

Aquí, /etc/apache2/git.passwd és el fitxer de base de dades d'usuaris.

El fitxer de configuració final hauria de ser el següent. Ara, deseu el fitxer prement + X Seguit per I i .

Ara, creeu un fitxer de base de dades d’usuaris nou /etc/apache2/git.passwd i afegiu un usuari nou (diguem-ne pala ) al fitxer de base de dades de la següent manera:

$suohtpasswd-c /etc/apache2/git.passwd shovon

Ara, escriviu una nova contrasenya per al nou usuari i premeu .

Torneu a escriure la mateixa contrasenya i premeu .

El parell usuari-contrasenya s’hauria d’afegir a la base de dades.

Ara, reinicieu el servidor HTTP Apache amb l'ordre següent:

$suosystemctl reinicia apache2

Ara, si proveu de clonar el fitxer prova de nou al dipòsit, se us demanarà que us autenticeu tal com podeu veure a la captura de pantalla següent.

Un cop us hàgiu autenticat mitjançant el nom d’usuari i la contrasenya, podreu accedir al dipòsit de Git.

Fins i tot quan intenteu fer clic o extreure del dipòsit de Git, també se us demanarà el nom d'usuari i la contrasenya.

Un cop autenticat, push / pull funcionarà.

També podeu establir diferents bases de dades d’usuaris per a diferents dipòsits de Git. Això pot ser útil per a projectes on molta gent treballa junts al mateix dipòsit de Git.

Per configurar l'autenticació segons el dipòsit de Git, primer editeu el fitxer git.conf fitxer de configuració del lloc de la següent manera:

$suo nano /etc/apache2/llocs disponibles/git.conf

Ara, afegiu les línies següents al fitxer de configuració.

<Ubicació/vaja/test.go>
AuthType Basic
AuthName'Verificació Git'
AuthUserFile/etc/apache2/git.test.passwd
Requereix un usuari vàlid
Ubicació>

<Ubicació/vaja/test2.git>
AuthType Basic
AuthName'Verificació Git'
AuthUserFile/etc/apache2/git.test2.passwd
Requereix un usuari vàlid
Ubicació>

Per a cada dipòsit de Git prova i prova2 , a secció està definida. S'utilitza un fitxer de base de dades d'usuaris diferent per a cada dipòsit de Git.

El fitxer de configuració final hauria de ser el següent. Ara, deseu el fitxer de configuració prement + X Seguit per I i .

Ara podeu crear les bases de dades d’usuaris necessàries de la següent manera:

$suohtpasswd-c /etc/apache2/git.test.passwd NOM D'USUARI
$suohtpasswd-c /etc/apache2/git.test2.passwd NOM D'USUARI

Un cop hàgiu acabat, reinicieu el servidor HTTP Apache amb l'ordre següent:

$suosystemctl reinicia apache2

Ara, cada dipòsit de Git hauria de tenir el seu propi conjunt d’usuaris que hi puguin accedir.

Així doncs, és així com configureu el servidor Git amb el servidor HTTP Apache a Ubuntu. Gràcies per llegir aquest article.