Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 30-01-2017 15:14:14

romain
Membre
Lieu : Suisse
Distrib. : Debian, "Stretch" ou "Sid"
Noyau : Linux 4.9.0-3-amd64 ou 4.11.0-1-amd64
(G)UI : openbox forever
Inscription : 31-01-2013

Protocole https pour un serveur GIT

Bonjour,

Je suis actuellement entrain de mon monter un serveur GIT. J'utilise gitweb pour afficher les projets via une web UI. Et ssh pour les clone, push, pull. J'aimerais ouvrir mon serveur sur la toile et donc je regarde pour exploiter au maximum le protocole http et pour des raisons de sécurité j'aimerais utiliser https.

Mon point de départ se trouve avec l'excellente (quoi que je n'ai pas trouvé ma solution) documentation de GIT: https://git-scm.com/book/fr/v2/Git-sur- … ntelligent

Après quelques petites adaptations de configurations pour un serveur apache 2.4, je peux cloner un dépôt via le protocole http: Voici mes changements dans apache2.conf:

 15 SetEnv GIT_PROJECT_ROOT /opt/git
 16 SetEnv GIT_HTTP_EXPORT_ALL
 17 ScriptAlias /git/ /usr/lib/git-core/git-http-backend/
      ...
 28 <Directory "/usr/lib/git-core*">
 29    Options ExecCGI Indexes
 30    Require all granted
 31 </Directory>
     ...
 32 <LocationMatch "^/git/.*/git-receive-pack$">
 33     AuthType Basic
 34     AuthName "Git Access"
 35     AuthUserFile /opt/git/.htpasswd
 36     Require valid-user
 37 </LocationMatch>
 



Mais dès que je passe sur le protocole https, dès que je clone un dossier j'ai cette erreur:

git clone https://git.domain.tld/git/depot


Clonage dans 'depot'...
fatal: unable to access 'https://git.domain.tld/git/depot/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
 


Ok, il ne peut pas vérifier le certificat, logique! En cherchant sur la toile, la réponse est de ne pas vérifier la validité du certificat:

git config --global http.sslVerify false


Je me dit alors, je vais mettre en place un certificat que je signerais. Dans les paramètre du client GIT. je indiquerais d'utiliser ma signature. Seulement, je ne trouve pas comment changer le certificat pour le protocole GIT.

Il faut peut-être le paramètrer dans apache2 mais je ne sait pas comment??? J'ai pu le faire dans mon virtualhost pour gitweb! Mais dans la configuration principal, je ne sais pas faire. Soit j'ai des retours d'erreurs e (normal, je ne déclare pas au bon endroit) soit il ne les prends pas. Vu que je ne suis pas un expert en apache, je galère un peu.

Je me dis aussi que c'est git qui gère le protocole donc il doit y avoir une/des variables pour passer le certificat. J'ai cherché dans le man de git-http-backend mais sans résultat.

Voila, je viens donc voir ici, si quelqu'un a une idée à me soumettre.

Merci et salutation à tous
Rom1

Hors ligne

Pied de page des forums