GitBlit

Pour ceux qui ne connaissent pas GitBlit est permet de doter votre serveur de fonctions équivalentes à GitHub GitBlit

Apache Proxy/HTTPS Configuration

Côté serveur apache

Dans votre configuration apache créez un fichier /chemin/vers/apache/conf/extra/gitblit.conf

#Turn off support for true Proxy behaviour as we are acting as
# a transparent proxy
ProxyRequests Off

# Turn off VIA header as we know where the requests are proxied
ProxyVia Off

# Turn on Host header preservation so that the servlet container
# can write links with the correct host and rewriting can be avoided.
#
# This is important for all git push/pull/clone operations.
ProxyPreserveHost On

# Set the permissions for the proxy

<Proxy http://votrenomdedomain.com:4200/gitblit>
        AddDefaultCharset off
        Order allow,deny
        Allow from all
</Proxy>

# The proxy context path must match the Gitblit context path.
# For Gitblit GO, see server.contextPath in gitblit.properties.

ProxyPass /gitblit http://votrenomdedomain.com:4200/gitblit
ProxyPassreverse /gitblit http://votrenomdedomain.com:4200/gitblit

# If your httpd frontend is https but you are proxying http Gitblit WAR or GO
Header edit Location ^http://([^.]+)/gitblit/ https://$1/gitblit/

# Additionally you will want to tell Gitblit the original scheme and port
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-Forwarded-Port 443

# If you are using subdomain proxying then you will want to tell Gitblit the appropriate
# context path for your repository url.
# If you are not using subdomain proxying, then ignore this setting.
#RequestHeader set X-Forwarded-Context /

N'oubliez pas de charger le fichier que vous avez créer précedemment en mettant dans votre fichier httpd.conf #GitBlit Include conf/extra/gitblit.conf

Côté Gitblit

Allez dans data/gitblit.properties et modifiez les paramètres suivant :

server.httpBindInterface = 242.223.42.30 #votre adresse ip
server.httpPort = 4200 # ou le port que vous avez spécifiez dans la redirection au dessus
server.contextPath = /gitblit #ou le nom que vous désirez tant qu'il
                              #correspond à la définition de votre serveur apache

Créez votre premier dépôt

Pour créer votre premier dépôt connectez vous sur gitblit si vous n'avez pas encore créer votre compte vous pouvez vous connecter en utilisant user/passwd : admin/admin

Ensuite sélectionnez votre avatar puis new repository

entrez un nom et une description pour votre dépot puis validez votre dépôt et pret

Côté client

Pour une raison inconnu la certification SSL ne fonctionnait pas lorsque j'essaie de cloner. Pour palier à ce problème du coté client tapez cette commande. Cela équivaut à forcer la validation d'un SSL inconnu comme la page “Je connais les risques” de Firefox.

git config --global http.sslVerify false

après vous être prêt pour cloner un dépôt que vous venez de créer

git clone https://username@votrenomdedomaine.com/gitblit/r/Test.git Test.git

Pour désactiver la validation de certificat avec Tortoise git :

  • Clique droit sur un dépot git local
  • Selectionner Git dans le menu vertical
  • Appuyer sur Edit global .gitconfig (Global: tous les dépots)
  • Appuyer sur Edit local .git/config (Local: le dépot selectionné)
  • Puis ajoutez les lignes suivantes :
[http]
sslVerify = false