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- … ntelligentAprè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