[GIT / INDEFERO / OVH] Un repo GIT privé et publique avec OVH
- 11 09 2011
- Rédigé par PEB
- Écrire un Commentaire
ça n'a pas été facile, mais sayé! J'ai trouvé une solution pour avoir un repo GIT privé ET publique sur un serveur OVH mutualisé, le tout avec une petite interface web pour faire jolie! J'ai mis un bon WE, mais grâce à ce tuto vous ne devrez pas mettre plus d'une heure, c'est cadeau ;)
Sommaire
- Présentation
- GIT sur le serveur
- Installation d'Indefero sur notre serveur
- Configuration d'Indefero
- Utilisation d'Indefero par les membres (et vous, admin)
- Création et utilisation d'un projet git
Présentation
L'objectif est donc de pouvoir disposer d'un GIT privé mais aussi publique sur un serveur mutualisé OVH.Il est facile de pouvoir disposer d'un git privé étant donné que git est disponible (enfin, une version dinosaure) sur les hébergements mutualisés OVH. Le seul problème est que pour y accéder (git clone, git push, git pull, ...) vous devez utiliser votre 'identifiant' ssh principal, que vous ne pouvez pas partager à d'autres membres du projet, pour des raisons de sécurité bien évidement. Vous me direz, il suffit d'ajouter les clés RSA des autres membres sur le serveur...mouiii, le seul hic c'est qu'il n'y a pas de restriction, ainsi vous donnerez un accès complet à votre serveur... :D
La solution choisie va ainsi :
- permettre d'avoir une notion d'utilisateur.
- proposer une interface web pour lister vos projets, leurs informations, ...
- vous permettre de gérer des projets publiques et privés.
Voici à quoi ressemble Indefero : Indefero.
Ce tuto peut sembler long, ça été le cas pour l'écrire :D, mais sa mise en pratique l'est beaucoup moins, ne vous arrêtez pas à ça ;)
Dans ce tuto je pars du principe que vous sachez vous connecter en ssh et ftp à votre serveur.
Vous devez connaitre le chemin absolu de votre compte, pour cela tapez la commande pwd lors d'une session ssh avec votre serveur :
$ pwd /homez.xxx/yyy/ |
Par la suite, lorsque je donnerais une commande ssh, je mentionnerais le chemin de cette manière :
ssh:/git/$ pwd /homez.xxx/yyy/git |
Ainsi, si je tape :
ssh:/$ |
Cela signifie que vous devez êtres à la racine de votre compte.
Dernière chose, si vous lisez yyy.eu cela correspond à votre nom de domaine.
Bon allez, on a du boulot, on ne traine pas!
GIT sur le serveur
La version de GIT présente sur OVH étant ultra vieille, il faut installer une version plus récente sur votre serveur mutualisé. Ceci est important pour la suite, ne sautez pas cette étape ;)- Téléchargez les sources de la dernière version : git-1.7.6.1.tar.bz2.
- Décompressez l'archive sur votre PC
- Ouvrez une session ssh avec votre serveur.
- Créez les dossiers suivant :
ssh:/$ mkdir -p opt/src/git
ssh:/$ mkdir opt/git - Ouvrez une connexion ftp, et transférez le contenu de l'archive git que vous avez téléchargée précédemment dans le dossier opt/src/git/.
- A l'aide de votre session SSH appliquez les droits suivants au dossier git :
ssh:/opt/src/$ chmod -R 755 git/ - Et on y va :
ssh:/opt/src/$ cd git
ssh:/opt/src/git/$ make clean
ssh:/opt/src/git/$ make configure
ssh:/opt/src/git/$ ./configure --prefix=$HOME/opt/git --without-tcltk
ssh:/opt/src/git/$ make
ssh:/opt/src/git/$ make install
REMARQUE 1 :Si durant la compilation vous avez des problèmes de permission, appliquez un chmod +x sur le fichier en question. Petit exemple :
ssh:/opt/src/git/$ chmod +x generate-cmdlist.sh
REMARQUE 2 : Si la compilation échoue avec un message d'erreur '/bin/sh: msgfmt: command not found' utiliser la commande suivante pour compiler :ssh:/opt/src/git/$ make -i
SOYEZ BIEN ATTENTIF AU RESULTAT DE LA COMPILATION, histoire de ne pas louper une erreur de compilation causée par un problème de permission! - Ensuite éditez le fichier .bash_profile pour faire connaitre notre installation de git au serveur :
ssh:/$ nano .bash_profile
Ajoutez la ligne en rouge :
PATH=$PATH:$HOME/bin
PATH=$HOME/opt/git/bin:$PATH
Fermez nano avec un CTRL+X, O puis ENTER.
Et voila, nous avons une version récente de git sur notre serveur. Etape suivante !
Installation d'Indefero sur notre serveur
Indefero va nous permettre de manager nos projets à l'aide d'une interface web mais aussi de mettre en place les accès git pour vos logiciels favoris (ou ligne de commandes pour les vraies dures^^).Pour bien vous organiser, vous devez considérer Indefero comme un site indépendant que vous mettriez sur votre serveur. En toute logique, il est bien d'organiser l'arborescence de votre serveur de cette manière :
/www/monsite1/
/www/monsite2/
/www/Indefero/
Pour ma part je vais considérer qu'Indefero sera installé comme présenté ci-dessus. Si vous ne suivez pas cette arborscence soyez bien attentif à la suite de ce tuto!
A titre indicatif, nos projets git seront organisés ainsi :
/git/projet1.git
/git/projet2.git
Allez, go go go!
- Téléchargez la dernière version d'Indefero : Indefero downloads.
- Décompressez et uploadez les fichiers de l'archive dans le dossier /www/Indefero
REMARQUE : n'uploadez pas les fichiers .git* - Téléchargez Pluf : Pluf.
- Décompressez, renommez le dossier pluf-master en pluf et uploadez le dans /www/Indefero/src/.
ssh:/www/Indefero/www/$ nano .htaccess Contenu : Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) /index.php/$1 SetEnv PHP_VER 5 SetEnv REGISTER_GLOBALS 0 Options -Indexes |
Dernière étape de cette installation!
- Ouvrez le fichier /www/Indefero/scripts/gitserve.py.
- Supprimez tout son contenu et mettez ceci à la place :
#!/usr/bin/env python # -*- coding: utf-8 -*-
#
# Merci à ekozan : http://forum.ovh.com/showthread.php?t=71543
#
# ***** BEGIN LICENSE BLOCK *****
# This file is part of InDefero, an open source project management application.
# Copyright (C) 2008 Céondo Ltd and contributors.
#
# InDefero is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# InDefero is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# ***** END LICENSE BLOCK ***** */
import os
import sys
import commands
import traceback
n = len("/gitserve.py")
GITSERVEPHP = '%s/gitserve.php' % traceback.extract_stack(limit=1)[0][0][0:-n]
status, output = commands.getstatusoutput('php.BETA -q %s %s' % (GITSERVEPHP, sys.argv[1]))
if status == 0:
os.execvp('git', ['git', 'shell', '-c', output.strip()])
else:
sys.stderr.write("%s\n" % output)
sys.exit(1)
L'installation est terminée, nous devons maintenant configurer Indefero.
Configuration d'Indefero
- Première chose, Indefero a besoin d'une base de donnée (de type MySQL), créez en une depuis le ManagerOVH. Pour la suite je prendrai l'exemple d'une base se nommant yyyIndef.
- Ensuite, sur votre PC allez dans le dossier Indefero/src/IDF/conf/.
- Dupliquez les fichiers idf.php-dist et path.php-dist en supprimant le -dist sur chacun d'entre eux.
- Maintenant regardons le fichier idf.php ensemble (c'est le gros du boulot). J'ai commenté les modifications et mis en rouge les lignes que vous devez modifier :
// Ajoutez ces lignes
define('PLUF_PATH', dirname(__FILE__).'/../../pluf/src');
define('IDF_PATH', dirname(__FILE__).'/../..');
set_include_path(get_include_path()
.PATH_SEPARATOR.PLUF_PATH
.PATH_SEPARATOR.IDF_PATH
);
$cfg = array();
// On désactive le debug
$cfg['debug'] = false;
$cfg['debug_scm'] = false;
// Chemin absolu de notre dossier git
$cfg['git_repositories'] = '/homez.xxx/yyy/git/%s.git';
// Chemin d'accès aux repo git.
$cfg['git_remote_url'] = 'git://yyy.eu/%s.git';
// Chemin d'accès indiqué aux utilisateurs (remplacez userssh par le vôtre)
$cfg['git_write_remote_url'] = 'ssh://usersssh@yyy.eu/%s.git';
// Chemin vers le fichier mettant à jour le fichier de clés
$cfg['idf_plugin_syncgit_path_gitserve'] = '/homez.xxx/yyy/www/indefero/scripts/gitserve.py';
// Fichier des clés à mettre à jour (pas d'importance pour nous OVHien^^)
$cfg['idf_plugin_syncgit_path_authorized_keys'] = '/homez.xxx/yyy/git/.ssh/authorized_keys';
// Propose de supprimer un dépôt automatiquement lors de la suppression d'un projet
$cfg['idf_plugin_syncgit_remove_orphans'] = false;
// Répertoire home de l'utilisateur git
$cfg['idf_plugin_syncgit_git_home_dir'] = '/homez.xxx/yyy/git';
// Chemin absolu du fichier de synchronisation
$cfg['idf_plugin_syncgit_sync_file'] = $cfg['idf_plugin_syncgit_git_home_dir'].'/sync/SYNC-GIT';
// Chemin des dépôts
$cfg['idf_plugin_syncgit_base_repositories'] = '/homez.xxx/yyy/git';
// On ne veut pas utiliser svn, on commente
#$cfg['svn_repositories'] = 'file:///home/svn/repositories/%s';
#$cfg['svn_remote_url'] = 'http://localhost/svn/%s';
// De même, on ne veut pas de monotone, on commente
#$cfg['mtn_path'] = 'mtn';
#$cfg['mtn_opts'] = array('--no-workspace', '--no-standard-rcfiles');
#$cfg['mtn_repositories'] = '/home/mtn/repositories/%s.mtn';
#$cfg['mtn_remote_url'] = 'mtn://my-host.biz/%s';
#$cfg['mtn_db_access'] = 'local';
#$cfg['mtn_confdir'] = '/path/to/dir/tree/';
#$cfg['mtn_confdir_extra'] = array('hooks.d/something.lua')
#$cfg['mtn_usher_conf'] = '/path/to/usher.conf';
// Pas de Mercurial, on commente
#$cfg['mercurial_repositories'] = '/home/mercurial/repositories/%s';
#$cfg['mercurial_remote_url'] = 'http://projects.ceondo.com/hg/%s';
// Alors maintenant il faut configurer la partie mail. Cela permet d'envoyer un mail aux
// nouveaux inscrit pour qu'ils puissent valider l'inscription. Pour cela je vous conseil de
// créer une boite gmail et de configurer les champs ci-dessous.
// Je ne commente pas chaque ligne pour la partie mail, c'est assez explicite^^
$cfg['admins'] = array(
array('Admin', 'mrplop@gmail.com'),
);
$cfg['send_emails'] = true;
$cfg['mail_auth'] = true;//PENSEZ A AJOUTER CETTE LIGNE
$cfg['mail_backend'] = 'smtp';
$cfg['mail_host'] = 'ssl://smtp.gmail.com';
$cfg['mail_port'] = 465;
$cfg['mail_username'] = 'mrplop@gmail.com';
$cfg['mail_password'] = 'SuperMotDePasseIntrouvable';
// Ce que je vous conseil, c'est de créer un (sous-)domaine pour accéder directement
// à votre Indefero. Je prendrais l'exemple d'un sous-domaine indefero.yyy.eu qui pointe
// vers www/indefero/www/
$cfg['idf_base'] = '';
$cfg['url_base'] = 'http://indefero.yyy.eu';
// Le dossier media est dans www/indefero/www/, on met donc notre sous-domaine
// pour faire jolie :)
$cfg['url_media'] = 'http://indefero.yyy.eu/media';
$cfg['url_upload'] = 'http://indefero.yyy.eu/media/upload';
// On indique le chemin absolu du dossier upload
$cfg['upload_path'] = '/homez.xxx/yyy/www/indefero/www/media/upload';
// On renseigne à nouveau le chemin absolu sur un autre dossier
$cfg['upload_issue_path'] = '/homez.xxx/yyy/www/indefero/attachments';
// Indiquez ici une clé secrète uniquement utile à Indefero :
// au minimum 40 caractères, alors défoulez-vous sur votre clavier, c'est le bon moment ;)
$cfg['secret_key'] = 'LaTechnologieThunderboltPermetDeTransfererDesDonneesALaVitesseDeLEclair';
// L'identité du spameur
$cfg['from_email'] = 'mrplop@gmail.com';
$cfg['bounce_email'] = 'mrplop@gmail.com';
$cfg['tmp_folder'] = '/tmp';
// On renseigne les champs de notre base de donnée
// Pour le champ 'db_server' vous aurez l'information depuis le ManagerOVH, le serveur
// est de la forme mysqlxx-yy.zzz
$cfg['db_login'] = 'yyyIndef';
$cfg['db_password'] = 'SuperMotDePasseIntrouvable';
$cfg['db_server'] = 'mysqlxx-yy.zzz';
$cfg['db_version'] = '5.1'; # Only needed for MySQL
$cfg['db_table_prefix'] = 'indefero_';
// On utilise une base de donnée MySQL
$cfg['db_engine'] = 'MySQL';
$cfg['db_database'] = 'yyyIndef';
# $cfg['idf_extra_upload_ext'] = 'ext1 ext2';
// On défini la 'time_zone'
$cfg['time_zone'] = 'Europe/Paris';
$cfg['pear_path'] = '/usr/share/php';
$cfg['login_success_url'] = $cfg['url_base'].$cfg['idf_base'];
$cfg['after_logout_page'] = $cfg['url_base'].$cfg['idf_base'];
$cfg['cache_engine'] = 'Pluf_Cache_File';
$cfg['cache_timeout'] = 300;
$cfg['cache_file_folder'] = $cfg['tmp_folder'].'/cache';
$cfg['template_folders'] = array(
dirname(__FILE__).'/../templates',
);
$cfg['installed_apps'] = array('Pluf', 'IDF');
$cfg['pluf_use_rowpermission'] = true;
$cfg['middleware_classes'] = array(
'Pluf_Middleware_Csrf',
'Pluf_Middleware_Session',
'IDF_Middleware',
'Pluf_Middleware_Translation',
);
$cfg['template_context_processors'] = array('IDF_Middleware_ContextPreProcessor');
$cfg['idf_views'] = dirname(__FILE__).'/urls.php';
$cfg['languages'] = array('en', 'fr', 'de', 'es_ES');
$cfg['allowed_scm'] = array('git' => 'IDF_Scm_Git',
'svn' => 'IDF_Scm_Svn',
'mercurial' => 'IDF_Scm_Mercurial',
'mtn' => 'IDF_Scm_Monotone',
);
// Enfin on renseigne le chemin de git que nous avons précédement installé
$cfg['git_path'] = '/homez.xxx/yyy/opt/git/bin/git';
return $cfg;
Fiou, le plus gros est fait! Je vous rassure, j'ai fini de vous éclater les yeux avec tout ce rouge :p
- Maintenant on modifie le fichier path.php. J'ai mis en rouge la ligne que vous devez modifier :
define('PLUF_PATH', dirname(__FILE__).'/../../pluf/src');
define('IDF_PATH', dirname(__FILE__).'/../..');
set_include_path(get_include_path()
.PATH_SEPARATOR.PLUF_PATH
.PATH_SEPARATOR.IDF_PATH
);
(Diantre! je suis à une ligne rouge de saigner des yeux!)
A présent nous sommes à 2,3 commandes de la fin de la configuration d'Indefero. Vérifiez bien vos informations et ensuite tapez cette commande par ssh :
ssh:/www/indefero/www/$ php.BETA /homez.xxx/yyy/www/indefero/src/pluf/src/migrate.php --conf=/homez.xxx/yyy/www/indefero/src/IDF/conf/idf.php -a -i -d -u
Pluf_Migrations_Install_setup
IDF_Migrations_Install_setup
REMARQUE : (mouai, je ne sais si le bleu est vraiement mieux^^) Ne continuez pas si vous obtenez des erreurs. Les erreurs sont en générales en lien avec votre base de données, vérifiez qu'elle est disponible (cela prend quelques minutes pour la créer du coté d'OVH) et que les informations que vous avez renseignées sont correctes.
Si tout est bon, tapez la même commande mais sans le -u :ssh:/www/indefero/www/$ php.BETA /homez.xxx/yyy/www/indefero/src/pluf/src/migrate.php --conf=/homez.xxx/yyy/www/indefero/src/IDF/conf/idf.php -a -i -d
Maintenant passons à la création de l'admin! Créez un fichier boot.php dans www/.
Insérez le code suivant dedans et remplacez les données par les vôtres :
//Sans espace entre le < et ? < ?php
require '/homez.xxx/yyy/www/indefero/src/IDF/conf/path.php';
require 'Pluf.php';
Pluf::start('/homez.xxx/yyy/www/indefero/src/IDF/conf/idf.php');
Pluf_Dispatcher::loadControllers(Pluf::f('idf_views'));
$user = new Pluf_User();
$user->first_name = 'PLOP';
$user->last_name = 'Mr'; // Required!
$user->login = 'plop'; // must be lowercase!
$user->email = 'mrplop@gmail.com';
$user->password = 'SuperMotDePasseIntrouvable';
$user->administrator = true;
$user->active = true;
$user->create();
print "Utilisateur créé\n";
?>
REMARQUE : Ne faites pas comme moi, renseignez des informations correctes afin de ne pas avoir un suivi bordélique du projet. Si les membres renseignent n'importe quoi, le projet deviendra vite du grand n'importe quoi...
Exécutez le fichier de cette manière :
ssh:/www/$ php.ORIG.5.3.5 boot.php
Vous venez d'enregistrer l'admin Indefero.
Pensez ensuite à supprimer le fichier boot.php :ssh:/www/$ rm boot.php
Et voila, votre environnement Indefero est en place, accessible via http://yyy.eu/indefero/ ou depuis le (sous-)domaine que vous avez pu renseigner dans la config plus haut.
Il ne reste plus qu'une chose, créer votre premier projet! ;)
Utilisation d'Indefero par les membres (et vous, admin)
A ce stade vous disposez d'un environnement pour la gestion de vos projets publique et privé. Ce choix se fait lors de la création d'un projet avec Indefero par une petite case à cocher si vous souhaitez rendre ce dernier privé. A noter que seul les admins peuvent créer des projets.
La première étape : la gestion des membres (pas vous pour le moment)! Le processus d'enregistrement de leur clé ne pouvant être automatique sur nos serveurs mutualisé, la marche à suivre est la suivante :
- Le nouveau membre (peb pour l'exemple) doit tout d'abord s'enregistrer sur Indefero.
- Il doit ensuite générer une paire de clé RSA.
> Pour Windows : je vous laisse chercher (regardez de ce coté ICI).
> Pour OSX/Linux : Ouvrez un terminal et tapez la commande suivante :
$ ssh-keygen -t rsa
REMARQUE : Par la suite vous DEVREZ METTRE UNE PASSPHRASE pour des raisons de sécurité. Disons que pour la mise en place vous n'en mettrez pas, mais ça ne doit être que temporaire! - Il doit ensuite vous envoyer le fichier id_rsa.pub qui correspond à sa clé plubique qui va permettre de l'identifier auprès du serveur.
- VOUS, créez un fichier authorized_keys2 dans le dossier /.ssh de votre serveur et enregistrez sa clé de cette manière :
command="python /homez.xxx/yyy/www/indefero/scripts/gitserve.py peb",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1[...]NbKf mac@peb
Voila, en gros de votre coté (admin), vous devez simplement ajouter la clé publique des utilisateurs au fichier authorized_keys2.
A présent ils peuvent jouer avec les repo git présent sur votre serveur UNIQUEMENT s'ils font partie du projet (vous pouvez le définir dans les paramètres du projet sous Indefero). Nous avons bien une notion de projet privé avec Indefero.
Alors pour vous, admin de votre serveur, un petit problème se pose... Vous devez disposer de votre connexion ssh pour gérer votre serveur (vous en aurez besoins pour la création de projet git, on verra cela plus bas). Or la commande utilisée pour les membres empêche la connexion ssh pour des opérations autres qu'avec git... Mais elle permet aussi de faire automatiquement les redirections des adresse des repo git... Bref, vous devrez vous coltiner les adresses de repo super pas pratique^^.
Ainsi ne mettez pas votre clé dans le fichier authorized_keys2 et sachez que pour vos opérations git vous devrez faire différement (nous allons voire cela ci-dessous).
Création et utilisation d'un projet git
fiouuuu, enfin! nous y sommes arrivés :p
REMARQUE : ici je ne détaillerais pas les commandes git, ceci fera l'objet d'un futur tuto ;)
Pour créer un projet git vous devez :
- Connectez vous en ssh à votre serveur et initialisez votre repo git:
ssh:/$ cd git
ssh:/git$ mkdir plop.git
ssh:/git$ cd plop.git
ssh:/git/plop.git$ git init --bare - Créez ensuite le projet sous Indefero (avec le même nom bien évidement, ici plop, sans le .git)
C'est tout, votre repo est prêt!
Maintenant VOUS, clonez le repo sur votre PC/MAC ainsi :$ git clone ssh://userssh@yyy.eu/homez.xxx/yyyy/git/plop.git
$ git add .
$ git commit -m "First commit"
$ git push origin master
Dernière des dernières étapes, un membre du projet veut cloner le repo :
$ git clone ssh://peb@pebdev.eu/plop.git
Victoire! Indefero est à présent totalement fonctionnel sur votre hébergement mutualisé OVH, avec des notions d'utilisateurs, de projets privés et publiques, le tout avec une interface web bien partique!
Dernière chose très importante, pensez bien à protéger l'ensemble d'Indefero par un htaccess, c'est important pour éviter quelques petits soucis.
Comme d'habitude, si vous avez des questions n'hésitez pas à les poser dans les commentaires! Pour ma part je vais aller reposer mes yeux fortement irrités par l'écriture de ce tuto^^
Liens m'ayant fortement aidés :
- Connectez vous en ssh à votre serveur et initialisez votre repo git:
Salut,
J'essaye de mettre a jour Git sur mon serveur mutualise (OVH).
J'ai suivit ton tutoriel en vain. Je me demandais si tu pourrais m'eclairer si je t'envoyais mon message d'erreur.
Merci d'avance,
Patrice
Salut,
pas de problème, tu trouveras mon mail sur la page de contact (menu en haut).
Cependant si le message d'erreur peut passer dans les commentaires je préférerai cette méthode.
Salut,
Alors voila, les etapes suivantes marchent bien:
ssh:/opt/src/$ cd git
ssh:/opt/src/git/$ make configure
ssh:/opt/src/git/$ ./configure --prefix=$HOME/opt/git --without-tcltk
au ./configure j'obtiens un probleme de permissions sur le fichier "generate-cmdlist.sh" comme tu l'as bien decrit.
J'applique les bonnes permissions et refait le ./configure (pas sur si qu'il faille le refaire?).
Je bloque a l'etape du make. J'obtiens le message suivant:
user@ssh1:~/dev/git/src$ make
SUBDIR gitweb
SUBDIR ../
make[2]: ? GIT-VERSION-FILE ? est ? jour.
GEN git-instaweb
SUBDIR perl
SUBDIR git_remote_helpers
SUBDIR templates
MSGFMT po/build/locale/is/LC_MESSAGES/git.mo
/bin/sh: msgfmt: command not found
make: *** [po/build/locale/is/LC_MESSAGES/git.mo] Erreur 127
Bonjour,
je viens de recompiler la dernière version disponible de git. La compilation a réussi par contre pas du premier coup, je suis tombé sur ton erreur (la précédente version ne bloquée pas dessus).
La solution est d'ignorer se msgfmt avec la commande :
$ make -i
msgfmt n'est pas vital pour git :
(http://www.delafond.org/traducmanfr/man/man1/msgfmt.1.html)
Sinon voici les corrections que j'ai fais dans le tuto pour y parvenir :
$ chmod -R 755 git (j'avais oublié le -R)
$ make clean (avant le make confgure, sans le faire la compilation échoue de mon coté)
Si tu as d'autres problèmes n'hésite pas ;)
Bonjour,
Merci pour le tuto, il est clair et très bien fait !
Par contre de mon côté je m'arrache les cheveux depuis plusieurs jours car je suis bloqué a une étape.
je suis sur une offre ovh business, j'ai réalisé toutes les étapes sans avoir de blocage, ni même de message d'erreur (hormis pour le fichier msgfmt mais j'ai du coup utilisé la commande make -i).
Seulement à la fin du make -i, je n'ai rien de rien dans le répertoire ~/opt/git/bin.
je sèche complément car j'ai beau regarder en détail les logs je ne vois rien de bloquant (le --prefix est bien renseigné)
Si quelqu’un a rencontré le même problème et qu'il a su le résoudre je suis preneur ! ;)
Ok je viens de comprendre ma boulette .... trop la lose c'était tellement évident !
j'avais pas mis le "-i" pour le "make install", je ne l'avais fait que pour le "make" seul...
Hello.
Merci pour ton aide (mon email du mois dernier)
J'ai finalement réussi à installer git avec une version plus récente (1.7.7) sur un mutualisé ovh pro.
Seule différence pour moi, j'ai mis SetEnv PHP_VER 5_3 dans le .htaccess au lieu de de SetEnv PHP_VER 5
++
Bonjour,
J'ai bien suivi le tuto et je t'en remercie mais je suis bloqué car quand je veux créer un project, je ne peux pas sélectionner le type de dépot soit GIT, j'ai l'impression que la connexion entre git et indefero ne se fait pas bien :(
Est ce que quelqu'un a déjà eu ce souci ?
Bonjour,
ça donne l'impression que le fichier idf.php est mal configuré...
est -ce que tu vois du SVN ou Mercurial dans le choix du type de dépôt?
Je te conseil de refaire une pass rapide du tuto en vérifiant :
- La bonne installation de git
- La bonne configuration des fichiers idf
De mon coté je n'ai jamais eu ce problème :/
Bonjour et merci pour ce tuto !
Je bloque malheureusement a la fin de l'installation d'indefero tous semble marcher correctement sauf que je n'arrive pas a y accéder via http://lqm.fr/indefero/ je tombe dans le répertoire d'indefero sur mon serveur mutualisé.
J'ai manqué une étape ? Auriez-vous peut être une piste de solution a ce problème?
Merci pour ce tuto.
Je rajoute mon expérience : j'ai choisi d'utiliser le git du serveur mutualisé, car en version 1.7.2.5.
Mais php refuse d'exécuter /usr/bin/git. Je l'ai donc copié dans un répertoire local.
Ensuite, dans src/IDF/Scm.php, dans la fonction exec, j'ai rémplacé :
$return = pclose($fp);
par :
pclose($fp);
$return = 0 ;
car pclose retourne -1.
Une fois ces modifs faites, tout est OK.
Merci pour ton retour LeJav, c'est intéressant pour gagner du temps et ne pas réinstaller une version de git sur le serveur. Je rajouterai ton info dans le tuto un de ces 4.
@Joffrey : tu dois pointer dans le dossier indefero/www qui contient le fichier index.php
Salut!
Je tiens un blog en Espagnol sur la même thématique et j'aimerais savoir si je peux traduire votre article pour en parler sur mon site ?
Comment vous contacter pour vous faire part de mes suggestions ?
Bonjour,
D'abord, bravo, le tuto est super. Mais je ne l'ai pas encore suivi du tout. Je suis juste à l'initialisation du projet git. Quand je créé le git distant et que j'essaie de le clôner sur mon local, j'obtiens l'erreur suivante :
fatal: protocol error: bad line length character: Usin
Depuis hier, je suis bloqué.. Une idée ?
super quel plaisir de lire ce genre d' article, je partage cette page sur twitter
Hello, quel plaisir de lire ce genre d' info, Explications vraiment au top
super quel plaisir de lire ce genre d' article, Explication vraiment au top
See What Starporn Tricks The Celebs Are Using Starporn (demo2-Ecomm.in.ua)
You'll Never Be Able To Figure Out This Star Porn's Tricks star Porn