Git avec serveur HTTPs
Domaine: https://git.progysm.com/
Création du serveur HTTPs
* Génération du fichier de configuration avec GenList2 (remplir l'URL du serveur http://git.progysm.com/ et télécharger le fichier install/apache2.conf) * Éditer le fichier vim /etc/apache2/sites-available/git.progysm.com.conf * changer VirtualHost *:80 * changer le courriel de ServerAdmin * enlever les commentaires * enregistrer * Créer le répertoire mkdir /var/www/vhost/git.progysm.com chown username:www-data /var/www/vhost/git.progysm.com chmod 750 /var/www/vhost/git.progysm.com * Charger la configuration et recharger la configuration a2ensite git.progysm.com.conf systemctl reload apache2 * Tester http://git.progysm.com/ * Installation certificat SSL avec Let's Encrypt (certbot-auto 0.24.0) ./certbot-auto run --apache -d git.progysm.com * redirect 2 * Vérifier le fichier créer: /etc/apache2/sites-available/git.progysm.com-le-ssl.conf * Tester https://git.progysm.com/ http://git.progysm.com/ (redirection)
Site à la racine
robots.txt
User-agent: * Disallow: /
index.php
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <title>git.progysm.com</title> </head> <body> <h1>git.progysm.com</h1> </body> </html>
Ne pas oublier les droits...
chown username:www-data index.php robots.txt
git-http-backend
Fichier: /usr/lib/git-core/git-http-backend
Sur disque: /var/www/vhost/git.progysm.com/git/
Web: https://git.progysm.com/git/depot.git
* Vérifier que mod_cgi, mod_alias, et mod_env sont activé avec: apache2ctl -M | grep -E cgi_\|alias_\|env_ * Créer un répertoire git par défaut pour les dépôts * Permet d'avoir une page web à la racine, fichier robots.txt, favicon.ico, etc... mkdir /var/www/vhost/git.progysm.com/git chown username:www-data /var/www/vhost/git.progysm.com/git chmod 750 /var/www/vhost/git.progysm.com/git * Éditer le fichier de configuration vim /etc/apache2/sites-available/git.progysm.com-le-ssl.con * dans le VirtualHost, variable GIT_PROJECT_ROOT SetEnv GIT_PROJECT_ROOT /var/www/vhost/git.progysm.com/git * si on ne veut pas de fichier git-daemon-export-ok SetEnv GIT_HTTP_EXPORT_ALL * Rediriger AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/vhost/git.progysm.com/git/$1 AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/vhost/git.progysm.com/git/$1 * Alias pour le répertoire /git/ ScriptAlias /git/ /usr/lib/git-core/git-http-backend/ * Authentification anonyme RewriteEngine On RewriteCond %{QUERY_STRING} service=git-receive-pack [OR] RewriteCond %{REQUEST_URI} /git-receive-pack$ RewriteRule ^/git/ - [E=AUTHREQUIRED:yes] <LocationMatch "^/git/"> Order Deny,Allow Deny from env=AUTHREQUIRED AuthType Digest AuthName "Git" AuthDigestProvider file AuthUserFile /etc/apache2/auth/git-htdigest AuthDigestDomain / https://git.progysm.com/ Require valid-user Satisfy Any </LocationMatch> * Créer authentification mkdir /etc/apache2/auth/ htdigest -c /etc/apache2/auth/git-htdigest Git username
Créer un dépôt
* créer le dépôt cd /var/www/vhost/git.progysm.com/git git init --bare --shared=group genlist2.git touch genlist2.git/git-daemon-export-ok chown -R username:www-data genlist2.git * envoyer un dépôt existant: git remote add neworigin https://git.progysm.com/git/genlist2.git git push -u neworigin master * entrer username * entrer mot de passe * cloner le dépôt (sans mot de passe) git clone https://git.progysm.com/git/genlist2.git
Hyperliens...
Dernière modification: 2018-06-05 20:30:31 par Yan Morin
Hébergé par ProgYSM