# Installation Redmine Ce document explique l'installation du logiciel Redmine depuis les sources. Cette installation à été testé sur une Debian Jessie avec Redmine en version 3.0, 3.1, 3.2, 3.3 et 3.4. À noter : * La catégorie nommées prérequis ne sont à faire qu'une seule fois par serveur. * Les commandes sont à lancer avec l'utilisateur entre parenthèse. ## Prérequis (User = root) Installations des dépendances : ~~~ # aptitude install libpam-systemd libmysqlclient-dev ruby ruby-dev bundle imagemagick git-core git-svn gcc build-essential libxml2-dev libxslt1-dev libssl-dev ~~~ Installation des dépendances 2 (L'installation en une fois crée des conflits !) : ~~~ # aptitude install libmagickwand-dev libmagickcore-dev ~~~ Si Squid est présent vous devez rajouter les sites github et rubygems dans sa liste blanche ! ~~~ echo "https://github.com/.*" >> /etc/squid3/whitelist.conf echo "http://rubygems.org/.*" >> /etc/squid3/whitelist.conf echo "http://.*.rubygems.org/.*" >> /etc/squid3/whitelist.conf ~~~ **/home ne doit pas avoir l'attribut noexec !!!** ## Création du compte Unix (User = root) Choix de l'utilisateur $REDMINE propriétaire de l'application ~~~ REDMINE='redmine' ~~~ Création de l'utilisateur $REDMINE : ~~~ useradd $REDMINE -d "/home/$REDMINE" -c "Redmine $REDMINE" -s "/bin/bash" -m ~~~ Ajout de l'utilisateur www-data au groupe $REDMINE : ~~~ adduser www-data $REDMINE ~~~ ## Création de la base de donnée (User = root) [HowtoMySQL]() ## Installation (User = $REDMINE) Se connecter avec l'utilisateur $REDMINE : ~~~ su - $REDMINE ~~~ Choisir la $BRANCHE de la version de Redmine : * voir le dépôt [Github](https://github.com/redmine/redmine) pour choisir une version * vérifier les prérequis sur [redmine.org](http://www.redmine.org/projects/redmine/wiki/RedmineInstall#Exigences) ~~~ BRANCHE=3.4-stable ~~~ Configuration du profile : ~~~ cat > ~/.profile < ~/www/config/configuration.yml < ~/www/config/additional_environment.rb < ~/www/config/database.yml < ~/www/Gemfile.local < "", :lastname => "", :mail => "", :mail_notification => "none", :status => 1) user.login = '' user.password = '' user.password_confirmation = '' user.valid? # will return true if the user is valid user.admin = true user.save ~~~ ### Compter les issues d'un projet / les supprimer Ceci est notamment utile à faire avant de supprimer un projet, ce qui est peut-être impossible via l'interfaces web si il y atrop d'issues : ~~~ > p = Project.find(42) > p.issues.count (0.1ms) SELECT COUNT(*) FROM "issues" WHERE "issues"."project_id" = 42 => 1337 > p.issues.each(&:destroy) ... ~~~ ### Changer le mot de passe de l’administrateur Dans le cas où il n’y a qu’un seul utilisateur administrateur, on peut toujours changer son mot de passe en éditant directement la base de données. La procédure est dans [la FAQ de Redmine](https://www.redmine.org/projects/redmine/wiki/FAQ#Reset-password-lost-without-admin-redmine-account-but-with-admin-redmine-database-account). # FAQ ## Déterminer la version de Redmine L’information est accessible depuis l’interface dans _Administration_ puis _Informations_. En ligne de commande, il faut vérifier le contenu du fichier `//lib/redmine/version.rb`. La version est lisible dans les variable `MAJOR`, `MINOR` et `TINY`. Par exemple, pour une instance Redmine en 5.0.3 : ~~~ $ cat ./lib/redmine/version.rb […] MAJOR = 5 MINOR = 0 TINY = 3 […] ~~~ > Commande AWK pour extraire la version au format `x.y.z` : > > ~~~ > $ awk '/^ *MAJOR/ { major = $NF } /^ *MINOR/ { minor = $NF } /^ *TINY/ { tiny = $NF } END { printf "%u.%u.%u", major, minor, tiny }' ./lib/redmine/version.rb > ~~~ ## Changer un mot de passe avec `rails` ~~~ # su - REDMINE $ cd ~/www $ RAILS_ENV=production bundle exec rails c > user = User.where('login').first > user.password = 'mon-nouveau-mot-de-passe' > user.password_confirmation = 'mon-nouveau-mot-de-passe' > user.save! ~~~