![]() |
|
|||||||
![]() |
|
|
|
Outils de la discussion |
|
#1
|
|||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||
|
La nouvelle Debian 5.0 (Lenny) est sortie le 14 Février dernier.
Voici une nouvelle version de mon précédent tuto (Installation de Redmine avec Apache, le tout sur une Debian Etch) basée sur l'actuelle Debian stable. Globalement pas beaucoup de changement dans la procédure, si ce n'est que tout les paquets peuvent maintenant être installés depuis les dépôts de Lenny directement au lieu de passer par les backports ou la compilation. Il y a néanmoins quelques nuances, à ne pas lire en diagonal donc ;) Présentation Redmine est un gestionnaire de projets très "web 2.0" (design épuré, ajax, interactions). Il permet donc, comme sa description l'indique, de faire du suivi de projets (roadmap, gantt, assistance) mais pas seulement. On peut le faire interagir avec un contrôleur de versions (sont supportés actuellement subversion, darcs, mercurial, cvs, bazaar, git et filesystem) et, par exemple, lier automatiquement un ticket d'assistance avec un commit. Il inclut aussi un système de forums et de wiki, spécifiques à chaque projets. Redmine est écrit en Ruby et utilise le framework Ruby On Rails (RoR ou Rails pour les intimes). Seulement, pour faire tourner ce genre d'application, il faut utiliser un serveur spécifique capable d'interpréter le Rails (webrick ou mongrel pour les plus connus). Le problème c'est que bien souvent on a un Apache qui tourne derrière avec généralement du PHP et tout le toutim. L'objectif est donc de faire marcher Redmine avec Apache, histoire d'avoir une plate-forme homogène, et que l'on ait pas besoin de jongler avec les ports (par défaut, un serveur Rails écoute le port 3000 ou 8000). Ce tutorial est très spécifique à la Debian 5.0 Lenny, mais le principe reste le même pour les autres distro. Note : je n'aborde pas ici la sécurisation du serveur, il est bien évident qu'il ne faudra pas laisser par exemple phpmyadmin libre d'accès comme ça. I. Installation du serveur LAMP Si vous avez déjà un LAMP qui tourne, vous pouvez passer directement à l'étape suivante. Pour installer un LAMP, debian-way : Voilà, finit. On effectue une première sécurisation basique du serveur MySQL : Laissez les réponses par défaut (sauf pour la création du mot de passe root au début, normalement vous l'avez déjà fait lorsque vous avez installé le paquet mysql). Un petit tweak au passage pour MySQL : marre d'avoir le charset par défaut "latin1_swedish_ci" ? Simple, il suffit d'éditer le fichier : Puis ajoutez dans la section [mysqld] les lignes suivantes : (changez avec le charset voulu si vous n'utilisez pas l'utf-8) N'oubliez pas de redémarrer MySQL : On teste Apache : http://www.votredomaine.tld devrait vous renvoyer vers la page par défaut de Apache ("It works!"). On teste PHP et MySQL : Citation:
Vous devriez avoir une page de login. Testez avec le compte root (ou un autre si vous en avez créé un). Si tout marche que c'est que PHP et MySQL sont bien installés. On va maintenant créé un utilisateur de base qui accueillera Redmine plus tard : -d /home/cequevousvoulez indique la home du user (elle peut avoir un nom différent du login) -g 33 force le user à appartenir au groupe qui a la GID 33, c'est à dire Apache (indispensable pour les permissions sur le serveur web) -m dit qu'il faut créer la home -s /bin/bash indique le shell du user, en l'occurrence la ça sera bash login_voulu c'est le login (ou le nom) de l'utilisateur Ensuite il faut lui créer un mot de passe : Vérifiez si tout est ok : La home est bien créée avec les bons droits, impeccable. II. Installation de Rails La encore, avec la nouvelle Debian Lenny 5.0, on va pouvoir utiliser la debian-way pour installer nos paquets. Installation des paquets ruby nécessaires : Il va falloir maintenant installer rubygems, le gestionnaire de paquets interne à ruby. Je disais que grâce à Lenny on pouvait tout installer sans utiliser de dépôts tiers, j'ai un peu menti Nous avons besoin de la version 1.3.1 de RubyGems alors que la version dans Lenny est la 1.2.0 :On va aussi créer un lien symbolique pour éviter les erreurs de certains PATH codés en dur : Bien. Notre environnement est prêt à accueillir Redmine. Contrairement à mon ancien tuto, je vais être plus prudent cette fois et utiliser une version release de Redmine. En effet, le développement étant devenu très actif ces dernières semaines, il y a beaucoup de changements dans les dépendances selon la révision du trunk. Vous pouvez toujours utiliser la version trunk mais faites attention aux dépendances (à vérifier : http://www.redmine.org/wiki/redmine/RedmineInstall notamment). Au moment où je rédige cet article, l'actuelle version release est la 0.8.2 (si ce n'est plus le cas quand vous attaquerez ce tuto, vérifiez dans le lien donné juste au dessus si il y a des changements de dépendances). Cette version requiert : - Ruby 1.8.6 ou 1.8.7 (on est bon avec Lenny : 1.8.7) - RubyGems 1.3.1 (on est bon) - Rails 2.1.2 (voir plus bas) Il nous manque donc Rails 2.1.2 : Et voilà ! Il nous reste deux petites choses à installer. D'abord le link ruby->mysql : Ensuite il nous faut le paquet imagemagick et son link ruby->RMagick pour que Redmine puisse générer les graphiques de Gantt : Voilà ! Rails est bien installé et correctement configurer, on va passer à l'étape suivante. III. Installation de Redmine Comme je l'ai dis plus haut, nous allons utiliser cette fois une version release de Redmine. Actuellement c'est la 0.8.2. On se place dans la home de l'utilisateur créé plus haut : On change d'utilisateur pour éviter de foutre la merde dans les permissions : Vous voilà identifié en tant que login_voulu, on peut maintenant récupérer Redmine : On va configurer la connexion à la base de données (n'oubliez donc pas de créer un utilisateur et une base pour Redmine) : Renseignez les champs de la section PRODUCTION. Ensuite nous allons initialiser la base : Tout est ok normalement. On va maintenant remplir la base avec les données par défaut : Voilà, Redmine est installé. Premier test pour voir si tout marche bien. Assurez-vous d'être dans le répertoire racine de redmine (ici c'est donc "redmine") puis : Ceci lance le serveur intégré Webrick sur le port 3000. Direction votre site pour tester : http://www.votredomaine.tld:3000 Vous devriez normalement arriver sur la page d'accueil de Redmine. Si ce n'est pas le cas vérifiez que vous avez bien suivi toutes les étapes. Si vous avez une erreur du type "500 internal error" il y a 99% de chance que ça vienne des permissions qui ont sautées. Vérifiez que toute l'arborescence appartienne bien à login_voulu:www-data. Si ce n'est pas le cas un petit : devrait tout remettre en ordre. Redmine marche c'est bien. Par contre il marche indépendamment de Apache pour l'instant. Étape suivante donc :p IV. Servir du rails via Apache Nous allons maintenant installer le vrai serveur pour Rails (Webrick sert surtout au debug, à ne surtout pas mettre en prod). Pour cela nous allons installer Mongrel : Ensuite nous allons créer le fichier de configuration qui dira à Mongrel quel site il faut faire tourner : -e production indique que le serveur doit tourner en mode production -p 8000 lance Mongrel sur le port 8000 -N 3 indique qu'il y aura 3 instances du serveur -c /home/... le chemin vers la racine de redmine -C /home/... le chemin vers où le fichier de configuration va être créé -a dit à Mongrel d'écouter le localhost Vérifiez que le fichier de config a bien été créé et est bien rempli : devrait afficher un truc du genre : Bien. Maintenant il faut indiquer à Mongrel où trouver ce fichier de config. Par défaut il va chercher dans /etc/mongrel_cluster. Ce répertoire n'existe pas nous allons donc le créer : Ensuite, plutôt que de copier le fichier de conf créé juste avant, on va y faire un lien symbolique (pratique si on lance plusieurs Redmine): On installe le script qui va permet de gérer Mongrel (et de le démarrer automatiquement au boot notamment) : On le modifie par rapport à nos besoins (voir les commentaires ajoutés) : Citation:
Une fois le fichier modifié, on le rend exécutable : Et on l'injecte dans le système : Voilà vous pouvez désormais controler le serveur directement avec les commandes : D'ailleurs, lancez le serveur : Maintenant on s'occupe de Apache. On active les modules nécessaires : Puis on modifie le fichier : Pour qu'il ressemble à ceci : (on modifie en-fait les directives Order et Allow from). On créé ensuite un VHOST (par exemple) : Citation:
La section Proxy balancer indique à Apache de balancer toutes les requêtes venant de redmine.votredomaine.tld:80 sur localhost:8000 qui est justement l'endroit où Mongrel écoute. Les directives Deflate disent qu'il faut utiliser Apache pour servir les fichiers de type html/css au lieu de Mongrel (le traitement est ainsi beaucoup plus rapide). On active ce vhost : Et on relance Apache pour qu'il prenne tout en compte : Et on test l'url http://redmine.votredomaine.tld Vous devriez voir la page d'accueil de Redmine, bravo ! Mises à jour 11/03/2009 - Première version du tuto :)
__________________
Administrateur
|
| Liens Sponsorisés |
|
#2
|
|||
|
|||
|
Bonjour,
Merci beaucoup pour ce tuto. Cependant j'ai deux petites questions. J'ai installé redmine, sur une gentoo. Tout fonctionne bien, hormis l'envoie de mail. Lorsque je m'envoie un mail, via la commande mail pas de souci je le reçois. En revanche depuis redmine, rien. Y a t' il un moyen de débuger cela ? La seconde question m'embarrasse plus. Ajouter un user et demander son authentification via ldap. Pas de pb ca marche. Mais comment peut on le supprimer ? J'ai passé en revue toutes les options, je n'ai rien trouvé. Merci d'avance. |
|
#3
|
||||
|
||||
|
Coucou,
Question bête mais comme tu n'as pas précisé : as tu configuré ton serveur mail dans le fichier email.yml ? Est-ce que ton serveur mail utilise le ssl/tls ? Si c'est le cas je te renvois à ce message : http://www.admincafe.re/forums/showp...9&postcount=24 Pour le ldap par-contre je ne pourrais pas t'aider : je ne l'utilise pas.
__________________
Administrateur
|
|
#4
|
|||
|
|||
|
J'avais bien configuré email.yml en m'appuyant sur l'exemple.
Sauf que j'ai fais une faute de frappe. Ca marche maintenant. Il ne me reste plus à savoir comment supprimer un utilisateur ? Je sais c'est idiot mais je ne trouve pas de bouton corbeille ou autre dans la gestion des utilisateurs. |
|
#5
|
||||
|
||||
|
Ah si tu parles de supprimer un utilisateur dans Redmine, ce n'est pas possible. Tu peux au mieux le verrouiller mais pas le supprimer (sinon le faire manuellement dans la base de données).
Je ne sais pas trop pourquoi c'est comme ça d'ailleurs. J'imagine que c'est en rapport avec la gestion des tickets ou autre.
__________________
Administrateur
|
|
#6
|
||||
|
||||
|
Juste pour la petite histoire, tu peux supprimer la ligne chkconfig de ton fichier /etc/init.d/mongrel_cluste, c'est une ligne qui marche pour redhat...
|
|
#7
|
|||
|
|||
|
Bonjour à tous,
c'est peut être un peu osé de poser ma question ici, mais j'ose ^^ Je suis sur une debian lenny, j'ai suivi le tuto et tout fonctionne au poil jusqu'à webrick qui m'a permis d'aprcevoir un redmine qui fonctionne. Là ou je patague c'est apparemment avec apache ou mongrel. Car une fois mongre_cluster lancé (sans queconques message d'erreur) apache redémarré, impossible d'accéer à redmine via monserveur.tld:3000 ou monserveur.tld:8000 (pas de connexion alors que firewall et routage ok) redmine.monserveur.tld renvoie à la racine de /var/www/ d'apache... je suis un peu dans le flou et n'ai pas trouvé de solution on the web qui aurait fonctionné pour moi. J'ai peut être une piste avec les ports qu'écouterait apache2 genre listen 3000 ou listen 8000 mais si c'est ca, je ne sais pas ou le mettre car c'a me met des erreurs au restart d'apache et l'empêche de démarrer. merci d'avance et merci pour ce tuto. à bientôt Gorghoa PS, s'il faut ouvrir un sujet pour ca dites moi. |
|
#8
|
||||
|
||||
|
Bonjour,
As-tu déjà configuré le proxy balancer sur Apache ? Si ce n'est pas le cas encore, as-tu essayé l'url : redmine.tonserveur.com:8000 ? Peux-tu afficher le contenu de l'hote virtuel que tu as créé pour Redmine ici stp ?
__________________
Administrateur
|
|
#9
|
|||
|
|||
|
bonjour,
Merci de prendre le temps de me répondre. Effectivement je n'ai jamais configuré le proxy balancer d'apache. redmine.barosofts.dyndns.org:8000 bloque un navigateur sur "chargement de la page en cours" (epiphany et elinks) en local (/etc/hosts renseignés.). Firefox en externe quand à lui met une erreur de chargement. les permission sur /opt/redmine sont user:ww-data Code:
<VirtualHost *:80>
#ServerAdmin admin@votredomaine.tld
ServerName redmine.barosofts.dyndns.org
DocumentRoot /opt/redmine/public/
<Directory /opt/redmine/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
<Proxy balancer://mongrel_cluster>
BalancerMember http://127.0.0.1:8000
BalancerMember http://127.0.0.1:8001
BalancerMember http://127.0.0.1:8002
</Proxy>
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} -f
RewriteRule (.*) $1 [L]
ProxyPass / Balancer://mongrel_cluster/
ProxyPassReverse / balancer://mongrel_cluster/
AddOutputFilter DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
ErrorLog /var/log/apache2/redmine.votredomaine.tld.error.log
LogLevel warn
CustomLog /var/log/apache2/redmine.votredomaine.tld.access.log combined
ServerSignature Off
</VirtualHost>
Edit : y'a t-il un moyen de savoir que quelque chose tourne effectivement sur le port 8000 ? ci joint mongrel_cluster status Code:
barosofts:/home/doddo/.scripts# /etc/init.d/mongrel_cluster status Checking all mongrel_clusters... mongrel_rails cluster::status -C monsite.yml found pid_file: tmp/pids/mongrel.8000.pid found mongrel_rails: port 8000, pid 6223 found pid_file: tmp/pids/mongrel.8001.pid found mongrel_rails: port 8001, pid 6228 found pid_file: tmp/pids/mongrel.8002.pid found mongrel_rails: port 8002, pid 6231 Dernière modification par gorghoa ; 23/03/2009 à 13h10 |
|
#10
|
||||
|
||||
|
D'après le mongrel status c'est OK, mais tu peux aussi vérifier avec un "netstat -l" (par exemple).
Ton site donne effectivement un timeout. Si tu n'utilises pas le proxy apache comme dans le tuto, il ne faut pas passer par lui (apache). Le proxy sert justement à faire le lien entre Apache et Mongrel. Si tu souhaites seulement utiliser mongrel comme il me semble avoir compris, il faut que tu détruises cet hôte virtuel (apache ne doit plus du tout gérer le répertoire de redmine). Tu pourras ensuite accéder à ton serveur directement depuis ton_adresse_ip:8000.
__________________
Administrateur
|
![]() |
|
| Liens sociaux |
| Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s)) | |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| [TUTORIAL] Installation de Redmine avec Apache, le tout sur une Debian Etch | Kawo | Administration de serveurs web | 73 | 13/02/2010 07h01 |
| [TUTORIAL] Création automatique de dépôts Subversion dans Redmine | Kawo | Administration de serveurs web | 20 | 28/08/2009 21h11 |
| [RESOLU] SPOOLSV.EXE plante avec NTDLL.DLL, plus de service spooleur en 3 secondes... | Pilo | Administration postes clients XP/Vista | 4 | 24/10/2008 16h46 |
| [RESOLU] Debian - Exim | RoY | Administration des distributions *nix et *nux | 4 | 11/08/2008 20h04 |
| [Vidéo] Apache Web Server Internals | Pilo | Administration de serveurs web | 2 | 25/06/2008 13h50 |