mirroir readonly du Gitit wiki.evolix.org (attention, ne rien commiter/merger sur ce dépôt) https://wiki.evolix.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

136 lines
4.1 KiB

  1. **Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.**
  2. # Plugin Redmine Git Hosting + Gitolite
  3. #### Redmine et Gitolite doivent se situer sur le même serveur !
  4. ## Prérequis
  5. Installation de gitolite 3 (sous Wheezy nécessite les backports) :
  6. ~~~
  7. # aptitude install gitolite3
  8. ~~~
  9. Installation des dépendances Redmine Git Hosting :
  10. ~~~
  11. # aptitude install build-essential libssh2-1 libssh2-1-dev cmake libgpg-error-dev
  12. ~~~
  13. Mise en place de [wiki:HowtoGitDaemon git-daemon] et [wiki:HowtoGitWeb gitweb] (optionnel).
  14. ## I. Installation Gitolite
  15. Choix de l'utilisateur $GITOLITE :
  16. * $GITOLITE : utilisateur propriétaire de l'application
  17. * accès SSH depuis $GITOLITE@votre-domaine.tld
  18. ~~~
  19. GITOLITE='git'
  20. ~~~
  21. Création de l'utilisateur système $GITOLITE ainsi que son groupe.
  22. ~~~
  23. useradd $GITOLITE -d "/home/$GITOLITE" -c "Gitolite $GITOLITE" -s "/bin/bash" -m
  24. ~~~
  25. Initialisation de Gitolite :
  26. ~~~
  27. cp /home/$REDMINE/.ssh/redmine_gitolite_admin_id_rsa.pub /home/$GITOLITE/
  28. chown $GITOLITE: /home/$GITOLITE/redmine_gitolite_admin_id_rsa.pub
  29. su - $GITOLITE -c "gitolite setup -pk redmine_gitolite_admin_id_rsa.pub"
  30. rm /home/$GITOLITE/redmine_gitolite_admin_id_rsa.pub
  31. ~~~
  32. Configuration gitolite3 :
  33. ~~~
  34. chmod 750 -R /home/$GITOLITE/repositories /home/$GITOLITE/projects.list
  35. vi /home/$GITOLITE/.gitolite.rc
  36. #changer UMASK de 0077 à 0027
  37. #changer GIT_CONFIG_KEYS de '' à '.*'
  38. #décommenter la ligne : LOCAL_CODE => "$ENV{HOME}/local"
  39. ~~~
  40. Interdit l'utilisateur $GITOLITE de se connecter avec un mot de passe et l'autorise à se connecter si l'accès SSH est limité :
  41. ~~~
  42. cat >> /etc/ssh/sshd_config <<SSH
  43. Match User $GITOLITE
  44. PasswordAuthentication no
  45. SSH
  46. sed -ie "/^AllowUsers/s/.*/& $GITOLITE/" /etc/ssh/sshd_config
  47. sed -ie "/^AllowGroups/s/.*/& $GITOLITE/" /etc/ssh/sshd_config
  48. service ssh reload
  49. ~~~
  50. ### II. Installation du plugin redmine Git Hosting -User = $REDMINE)
  51. Connection en tant que l'utilisateur $REDMINE :
  52. ~~~
  53. su - $REDMINE
  54. ~~~
  55. Génération de la clé SSH :
  56. ~~~
  57. ssh-keygen -N '' -f /home/$REDMINE/.ssh/redmine_gitolite_admin_id_rsa
  58. ~~~
  59. #### Cette clé aura accès à tous les dépots de Gitolite !
  60. Ajout de localhost dans les know_hosts de l'utilisateur $REDMINE (vous devez accepter le fingerprint !) :
  61. ~~~
  62. ssh localhost
  63. ~~~
  64. Clonage des plugins dans redmine/plugins :
  65. ~~~
  66. git clone <https://github.com/jbox-web/redmine_bootstrap_kit.git> -b v0.2.x ~/redmine/plugins/redmine_bootstrap_kit
  67. git clone <https://github.com/jbox-web/redmine_git_hosting.git> -b v1.2.x ~/redmine/plugins/redmine_git_hosting
  68. ~~~
  69. Ajout du scm Xitolite dans Redmine :
  70. ~~~
  71. echo " scm_xitolite_command: /usr/bin/git" >> ~/redmine/config/configuration.yml
  72. ~~~
  73. ### III. Configuration de l'accès sudo (User = root)
  74. *A faire même si l'utilisateur $GITOLITE est le même que $REDMINE*
  75. Autorise $REDMINE à sudo vers $Gitolite :
  76. ~~~
  77. cat > /etc/sudoers.d/$REDMINE\_$GITOLITE <<SUDO
  78. Defaults:$REDMINE !requiretty
  79. $REDMINE ALL=($GITOLITE) NOPASSWD:ALL
  80. SUDO
  81. chmod 440 /etc/sudoers.d/$REDMINE\_$GITOLITE
  82. ~~~
  83. #### Si le plugin est installé après Redmine et non en même temps
  84. Exécuter les taches [wiki:HowToRedmine-Source/Plugins post-installation].
  85. ### Configuration du plugin
  86. * Rendez vous dans Administration -> Redmine Git Hosting Plugin -> SSH et remplacer :
  87. * Nom d'utilisateur Gitolite par la valeur de $GITOLITE
  88. * L'emplacement des clés privées et publiques SSH de Gitolite par le dossier .ssh de l'utilisateur $REDMINE
  89. * Rendez vous dans Administration -> Redmine Git Hosting Plugin -> Accès et remplacer :
  90. * Nom de domaine du serveur HTTP et HTTPS par le nom de domaine de votre serveur
  91. * Nom de domaine du serveur SSH par $GITOLITE.votredomain.tld
  92. * Rendez vous dans Administration -> Redmine Git Hosting Plugin -> Stockage et remplacer :
  93. * Répertoire de stockage des hooks non-core par hooks
  94. * Rendez vous dans Administration -> Redmine Git Hosting Plugin -> Hooks et remplacer :
  95. * Url des hooks par <https://votre-domaine.tld>
  96. * Cliquer en haut à droit sur installer les hooks !
  97. * Rendez vous dans Administration -> Redmine Git Hosting Plugin -> Test de la configuration et vérifier que tous les indicateurs sont au vert