
Dans ce tuto, nous allons voir comment monter de toute pièces et en moins d'une heure un environnement complet subversion/apache/mysql afin de faire tourner Redmine et son gestionnaire de version accessible depuis n'importe où.
Quelques mots sur redmine:
Il s'agit d'un gestionnaire de projets simple ergonomique et puissant, orienté développement. Vous pouvez créer autant de projets et d'utilisateurs que vous le souhaitez, avec un système de suivit de bugs, un wiki, un forum, upload de documents ...etc par projet:
- des trackers : par défaut il en existe trois. Un pour les anomalies, un pour les demande d’évolution et un autre pour les demandes d’assistance. Mais vous pourrez très simplement en créer d’autres en ajoutant des champs supplémentaires qui pourrait vous être utile.
- un wiki vous permettant ainsi d’avoir avec votre gestionnaire de source un site entier
- un forum
- un dépôt de source interfaçable avec la plupart des gestionnaires de versions (subversion, git, mercurial, bazaar, CVS, ...)
- un dépôt de documents vous permettant de mettre facilement à disposition des ressources (tutoriels, how-to, ...) à vos utilisateurs ou encore des documents de travail pour vos contributeurs.
- un dépôt de fichiers afin que les utilisateurs puissent aisément télécharger les versions stables de votre logiciel
- un système de publication d’annonces afin de communiquer simplement avec vos utilisateurs.
- un système de feuilles de route automatiquement complétées en fonction des bugs ou demandes formulés pour le projet
- de nombreux plugins disponibles sur le site de l'éditeur
1. Installation du serveur
Si avec Os X serveur, déployer ce genre de plateforme est relativement aisée, cela peut devenir un vrai casse tête avec la version client.
Si Os X possède nativement un serveur apache, un ftp et le langage Ruby, il lui manque pas mal d'élément.
Heureusement pour nous, des gens on déjà fait la partie du travail la plus dur pour nous. Nous allons donc en profiter.
Stack Bitnami redmine: il s'agit en fait d'une boite, dans laquelle se trouve apache, mysql, subversion, ruby, git et bien d'autres choses, compilée et prête à l'emploi grâce à un installateur.
Il existe plusieurs versions, celle qui nous intéresse et la "NATIVE", c'est à dire que l'on installe tout directement sur son système, dans un dossier qui contiendra tous les éléments requis.
Je vous invite donc à télécharger sans plus attendre cette stack, vous la trouverez ici: http://bitnami.org/stack/redmine
Tout se fait automatiquement, vous n'avez qu'Ă choisir le dossier dans lequel vous souhaitez installer l'environnement, puis suivre le guide.
Si tout s'est ,bien passé, alors Redmine devrait être lancé à la fin de l'installation, sinon vous le trouverez à l'adresse suivante:
http://localhost:8080/redmine
Lancer / arrĂŞter les services
Bitnami pensé à tout, vous avez à votre disposition un script qui permet avec un seule commande terminal de lancer tous les services. Ce script se trouve à la racine du dossier fraichement installé, et se nomme ctlscript.sh.
Sont fonctionnement est on ne peut plus simple: vous avez le choix entre start, stop ou restart
Tous les services:
./ctlscript.sh (start|stop|restart) - Mysql:
./ctlscript.sh (start|stop|restart) mysql
- Apache:
./ctlscript.sh (start|stop|restart) apache
- Redmine:
./ctlscript.sh (start|stop|restart) redmine
- Subversion:
./ctlscript.sh (start|stop|restart) subversion
2. Configurer Apache ( pour subversion et port 80 )
Vous l'aurez sans doutes remarqué après le premier lancement, mais le port utilisé est 8080, alors que le port utilisé par défaut est le 80.
Il est possible de revenir Ă ce port d'origine, en modifiant la configuration d'Apache.
Ouvrez le fichier httpd.conf qui se trouve dans Apache2/conf/httpd.conf
- Modifiez la ligne:
Listen 8080
par
Listen 80
- Et la ligne:
ServerName localhost:8080
par
ServerName localhost
Maintenant, il faut spécifier un chemin vers un dossier qui accueillera vos fichiers Subversion. Dans l'exemple ci-dessous, ce dossier est placé dans le même dossier que redmine, et se nomme svn.
Après avoir créée ce dossier, ajoutez à la configuration d'apache:
DAV svn
SVNParentPath "/Applications/redmine-0.8.7-0/apps/svn"
Cet ajout aura pour effet de situer votre répertoire svn à http://localhost/svn.
Notez que le répertoire "root" d'Apache se trouve dans apache2/htdocs (là ou se trouve la page d'accueil).
Si vous souhaitez bloquer l"accès du svn, je vous invite à lire cet article: http://www.csoft.net/docs/svndav.html.en
Pensez également à ouvrir les ports tcp de votre routeur afin que vous puissiez vous connecter depuis internet. (http:ip-du-serveur/redmine)
Pour que ces changements soit pris en compte, vous devrez redémarrer le serveur Apache avec la commande vue ci-dessus.
Une fois le port Apache configuré sur 80, vous devrez avoir les privilèges suffisant pour lancer le serveur, vous devrez alors ajouter 'sudo' devant la commande du script (sudo ./ctlscript start apache).
De même, vérifiez bien que le partage web soit désactivé dans les préférences de partage d'osx, et qu'aucun autre apache (genre MAMP) ne fonctionne sur ce port.
3. Configuration du dépot pour Redmine
Je passe volontairement sur la configuration générale de redmine, elle est relativement simple à prendre en main et vous pourrez expérimenter par vous même.
Subversion
Tout d'abord, vous devrez créer un "repository' sur votre machine, dossier auquel redmine et votre client svn vont pouvoir se connecter et commiter/updater.
Si vous avez choisi le dossier par défaut de l'installation de Bitnami, et placé votre répertoire svn avec redmine:
/Applications/redmine-0.8.7-0/subversion/bin/svnadmin create /Applications/redmine-0.8.7-0/apps/svn/depoSi vous avez déjà subversion d'installé (il est fourni avec xcode):
svnadmin create /Applications/redmine-0.8.7-0/apps/svn/depo
Maintenant, vous devrez définir les droits d'accès pour votre dépôt.
Ouvrez le fichier depot/conf/svnserve.conf et décommentez les 3 ligne suivantes:
#anon-access = read
#auth-access = write
#password-db = passwd
comme ceci:
anon-access = read
auth-access = write
password-db = passwdanon-access correpond aux utilisateurs non enregistrés, ils peuvent avoir un accès en lecture seule (read) ou aucun accès (none)
auth-access sont les utilisateurs qui nous allons enregistrer, qui ont un accès en lecture/écriture.
Pour enregistrer des utilisateurs, ouvrez le fichier passwrd qui se trouvent dans le même dossier, et décommentez de la même manière les ligne qui se trouvent dessous [users]. Les utilisateurs sont enregistrés de cette manière: identifiant = mot de passe. Remplacez donc les entrées existantes par les vôtres.
[users]
identifiant = mot de passe
Redmine
Maintenant, allez dans Redmine et dans la partie "configuration" d'un projet que vous aurez créé.
A l'onglet "dépôts", sélectionnez "subversion" et configurez l'url vers votre dépôt comme ceci:
file:///Applications/redmine-0.8.7-0/apps/svn/depotSi vous avez autorisé l'accès en lecture au tout venant de votre dépôt, aucun mot de passe n'est requis, sinon vous pouvez créer un utilisateur redmine dans le fichier de configuration du dépôt pour y avoir accès.
Voilà , normalement tout devrait fonctionner, vous pouvez effectuer un test en créant une arborescence tags/branches/trunk:
mkdir -p /tmp/Project1/trunk /tmp/Project1/branches /tmp/Project1/tags
/Applications/redmine-0.8.7-0/subversion/bin/svn import file:///Library/Subversion/Repository/Project1 -m "Premier commit"
Si vous voulez savoir comment utiliser Subversion avec Xocde, pour pouvez lire cet article (Ă partir de la partie "Using Subversion from Xcode")
http://developer.apple.com/mac/articles/server/subversionwithxcode3.html
4. Se connecter en SSH
Pour assurer la maintenance de ,votre serveur à distance, le moyen le plus simple et d'activer OpenSSH, qui est livré avec Mac Os X
Allez dans les préférences de partage du système, puis activez "sessions à distances". Voilà , merci Apple, vous pouvez maintenant vous connecté à votre serveur depuis n'importe quelle machine distante, afin de pouvoir créer de nouveau dépots, arrêter/ relancer vos services...etc. Le terminal d'OSX permet ce genre de connexion (menu -> shell -> nouvelle connexion distante).
Comme pour le serveur Apache, pensez Ă ouvrir le bon port tcp sur votre routeur (22 pour ssh). Le mieux est de se connecter avec un compte admin afin de pouvoir effectuer les commandes en root (sudo). Pour savoir oĂą vous vous trouvez Ă tout moment, tapez la commande pwd.
Notez également que le partage de fichiers d'Os X permet le partage ftp, vous pourrez donc vous connecter à votre disque dur depuis n'importe où avec un client ftp tel que cyberduck et votre adresse IP (firefox ou finder peuvent se connecter à un ftp mais en lecture seule)
5. Une Url Ă la place de l'IP
Dernière pièce du puzzle, si vous ne souhaitez pas votre connecter à votre serveur via l'ip de celui-ci, vous pouvez utiliser un nom de domaine gratuit chez dyndns
Il vous suffira de créer un compte et ensuite d'ajouter un Hostname (nom de domaine), en choisissant "Host with IP address" et en rentrant l'ip de votre machine qui fait office de serveur.
Le lien entre le nom de domaine et votre adresse IP peut prendre un certain temps, selon les fournisseurs d'accès. Ne paniquez donc pas si ça ne fonctionne pas dans les 5 minutes :)
| Assistant Boot Camp expérimental pour Hackintosh |
|---|



Commentaires
Bon sa ferait un gros truc pour du locale mais bon, de plus il supporte plusieurs SCM, donc du coup on doit pouvoir testé différent gestionnaire, Git me tente, mais comme tu explique avec SVN je commencerai surement avec.
Donc si en locale sa tourne bien sa va surement me tenter, tous est réunis et ça c'est quand même pas mal.
Des truc me seront pas utile comme le fofo et Wiki, mais pas mal.
Merci Sonotone
PS : Chez moi ta capture ne s'affiche pas ;)
Sinon niveau forum / wiki etc... tu peux les désactiver dans chaque projet.
Bon courage pour l'install ;)
Faudra que je lise leur doc, car se cas de figure doit ĂŞtre exposer je pense.
Et l'inutile oui je le désactiverai.
En tous cas c'est une solution qui méritai d'être présenté.
Et c'est quand mĂŞme plus conviviale avec un beau visuel :D
Est ce que c'est normal que lorsque je fais ma redirection depuis no-ip, c'est renouveau l'adresse ip qui apparait au lieu de mon nom de domaine