Installer et configurer Redmine sur FreeBSD

© Christian PAULUS. Document créé le 26 janvier 2011 , mis à jour le 26 janvier 2011.

L'homme qui ne tente rien ne se trompe qu'une fois. Lao-Tseu

Accueil du site > Astuces > FreeBSD > Installer et configurer Redmine sur FreeBSD

Redmine/Apache / FreeBSD 8

Redmine est un outil de gestion de projet via le web, développé en Ruby.

Pour instaler cet outil prometteur, en attendant d’avoir un script d’installation complet, il faut relever les manches et agripper son terminal favori. Tout se passe à la mimine.

Ce document comporte probablement des erreurs. Ce n’est qu’un guide. Il sera modifié au fur et à mesure de vos remarques éventuelles et des tests réalisés localement. Prenez le temps de vérifier toutes les commandes conseillées. Vous êtes seul responsable de votre machine. Si vous avez un doute, faites-vous aider par une personne compétente. Vous suivez ce guide à vos propres risques.

Installation via les ports

L’installation de redmine via les ports est des plus simple :

cd /usr/ports/www/redmine

Si besoin, toutes les dépendances sont installées dans la foulée (ruby et compagnie).

Redmine est installé dans /usr/local/www/redmine/

Création de la base de données

Pour mysql, il faut créer la base de données. Classiquement, via phpMyAdmin (bouton SQL) ou plus simplement via la commande mysql :

create database redmine character set utf8;
create user 'redmine'@'localhost' identified by 'my_password';
grant all privileges on redmine.* to 'redmine'@'localhost';

Dans cet exemple, la base de données redmine est directement accessible par l’utilisateur redmine sur la machine locale, avec le mot de passe my_password.

Modifiez my_password en quelque chose de plus complexe. ;-)

Configurer redmine

Aller dans le répertoire de travail :

cd /usr/local/www/redmine/

Puis dans le répertoire de configuration :

cd config

Recopier le fichier de configuration pour la base de données :

cp -p database.yml.example database.yml

Editer et corriger ce fichier de configuration. Par exemple, pour un serveur local en production sous MySQL :

production:
 adapter: mysql
 database: redmine
 host: localhost
 username: redmine
 password: my_password
 encoding: utf8

Le my_password est à remplacer par le mot de passe que vous avez choisi précédemment.

Créer la clé secrète

La création d’une clé de session pour valider l’intégrité des données de cookies est nécessaire :

cd /usr/local/www/redmine/
rake generate_session_store

Cette clé va être créée dans le fichier config/initializers/session_store.rb

Si ce n’est pas déjà fait, mettre à jour rails :

gem install rails -v=2.3.5

Créer la structure de la base de données

cd /usr/local/www/redmine/
rake db:migrate RAILS_ENV="production"

C’est un poil long. Ne pas s’inquiéter.

La commande crée les tables nécessaires :

+-------------------------------------+
| Tables_in_redmine                   |
+-------------------------------------+
| attachments                         |
| auth_sources                        |
| boards                              |
| changes                             |
| changesets                          |
| changesets_issues                   |
| comments                            |
| custom_fields                       |
| custom_fields_projects              |
| custom_fields_trackers              |
| custom_values                       |
| documents                           |
| enabled_modules                     |
| enumerations                        |
| groups_users                        |
| issue_categories                    |
| issue_relations                     |
| issue_statuses                      |
| issues                              |
| journal_details                     |
| journals                            |
| member_roles                        |
| members                             |
| messages                            |
| news                                |
| open_id_authentication_associations |
| open_id_authentication_nonces       |
| projects                            |
| projects_trackers                   |
| queries                             |
| repositories                        |
| roles                               |
| schema_migrations                   |
| settings                            |
| time_entries                        |
| tokens                              |
| trackers                            |
| user_preferences                    |
| users                               |
| versions                            |
| watchers                            |
| wiki_content_versions               |
| wiki_contents                       |
| wiki_pages                          |
| wiki_redirects                      |
| wikis                               |
| workflows                           |
+-------------------------------------+
47 rows in set (0.00 sec)

Remarque : les noms des tables ne sont pas prefixés.

Ensuite, une commande non obligatoire, mais fortement conseillée, chargement de la configuration par défaut. Rester devant le terminal, rake va vous demander la langue souhaitée :

RAILS_ENV=production rake redmine:load_default_data

Dans le doute, valider la ligne de configuration du fichier config/environment.rb. Par exemple, pour un environnement de production :

ENV['RAILS_ENV'] ||= 'production'

Tester le service

cd /usr/ports/www/redmine
ruby script/server -e production

qui doit répondre correctement :

=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
/usr/local/www/redmine/config/../vendor/rails/railties/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010.  Use #requirement
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-01-20 14:50:11] INFO  WEBrick 1.3.1
[2011-01-20 14:50:11] INFO  ruby 1.8.7 (2010-08-16) [amd64-freebsd8]
[2011-01-20 14:50:11] INFO  WEBrick::HTTPServer#start: pid=457 port=3000

Essayer une connexion sur le port 3000 avec un navigateur web permet de compléter le test.

L’interface apparaît en anglais. Le login/pass à l’installation est admin/admin. A modifier en priorité (menu administration).

Pour arrêter ce serveur, CTRL-C. Un kill -KILL du pid est parfois nécessaire.

Redmine en mode serveur

Ajouter les paramètres nécessaires à /etc/rc.conf :

redmine_enable="YES"
redmine_flags=""

et lancer le serveur :

/usr/local/etc/rc.d/redmine start

Manque de bol, (21/01/2011), si le test fonctionne, le lancement en mode serveur échoue.

Pressé par le temps et n’ayant pas besoin d’un mode autonome, ce billet illustre maintenant l’installation compatible avec Apache 2 ...

Installation de redmine (bis) pour Apache 2

Configuration du port :

cd /usr/ports/www/redmine/
make config

Cocher MYSQL, MAGIC et PASSENGER.

Si vous entrez :

make showconfig

la réponse doit être du style :

===> The following configuration options are available for redmine-1.1.0_1:
    MYSQL=on "Enable MySQL support"
    POSTGRESQL=off "Enable PostgreSQL support"
    RMAGIC=on "Enable Gantt charts support"
    THIN=on "Use Thin WEB server"
    PASSENGER=on "Use Apache/Nginx WEB server"
===> Use 'make config' to modify these settings

Compilation et installation :

make
make install
make clean

Si vous avez déjà installé redmine, il sera plutôt :

make
make deinstall
make reinstall
make clean

Configuration apache pour un hôte redmine virtuel

Exemple pour un serveur virtuel Apache pour l’url http://redmine.foo.bar/ (ne pas oublier de créer ce sous-domaine dans votre dns/bind) :

<VirtualHost *:80>
       ServerName redmine.foo.bar
       ServerAdmin webmaster@foo.bar
       DocumentRoot /usr/local/www/redmine/public/
       <Directory /usr/local/www/redmine/public/>
               Options -MultiViews
               Order allow,deny
               Allow from all
               AllowOverride all
       </Directory>
       CustomLog /var/log/httpd/foo.bar.redmine_access.log combined
       ErrorLog /var/log/httpd/foo.bar.org.redmine_error.log
#       LogLevel debug
</VirtualHost>

Remplacer foo.bar par le nom de votre serveur.

Pour un log détaillé, validez la ligne LogLevel debug.

Valider la ligne de configuration Apache2 :

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.2/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.2
PassengerRuby /usr/local/bin/ruby18

Activer les dispatch :

/usr/local/www/redmine/public
mv dispatch.cgi.example dispatch.cgi
mv dispatch.fcgi.example dispatch.fcgi
mv dispatch.rb.example dispatch.rb

Corrigez le chemin de l’interpréteur pour ces trois scripts :

#!/usr/bin/env ruby

devient

#!/usr/local/bin/ruby

Si ce n’est pas déjà fait, mettre à jour rails :

gem install rails -v=2.3.5

Et pour finir, demander à Apache d’activer ce nouveau serveur :

apachectl graceful

ou pour les puristes (ou les méfiants) :

/usr/local/etc/rc.d/apache22 restart

Plussoyez !

Répondre à cet article