Projet

Général

Profil

Actions

Wiki » Historique » Révision 46

« Précédent | Révision 46/279 (diff) | Suivant »
Patrice Nadeau, 2014-10-05 12:10


%{font-size:18pt}Redmine%


{{toc}}

h1. Redmine

Logiciel de gestion de projets, sources, bugs et timeline.
Contient un module de Wiki, de fichiers.
Supporte aussi les systèmes de version de fichier (Git, SVN entre autre).
Disponible à http://www.redmine.org/projects/redmine/wiki/Download

De base, ne fonctionne pas avec Apache
Pour une solution possible, voir : http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Apache_to_run_Redmine

Sa principale difficulté d’installation et sa dépendance à Ruby. D’où le but de ce guide.
Voir aussi :

h1. Installation

Ce guide documente une installation GNU/Linux avec les version suivantes :

  • openSUSE 13.1
  • Redmine 2.4.2

h2. Prérequis

Un serveur LAMP(Linux, Apache, MySQL, PHP) openSUSE

Les logiciels supplémentaires suivants :

  • libmysqlclient-devel
  • mysql-community-server
  • ruby-2.0
  • ruby20-devel
  • rubygem-bundler
  • rubygem-mysql2
  • rubygem-pg
  • ImageMagick
  • ImageMagick-devel
  • git
  • gcc
  • make

h2. MySQL

Ajout au démarrage automatique et démarrage du service :


chkconfig -a mysql
rcmysql start

Création de la base de donnés.
Substituer les items suivants à votre choix :

  • redmine : Usager pour la base de donnés.
  • password : Mot de passe de la base de donnees.
  • db : Nom de la base de donnés.

Lancer MySQL :


mysql -u root -p

Commandes MySQL :


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

h2. Redmine

L’installation sera faite dans \srv\redmine


cd /srv/
svn co http://svn.redmine.org/redmine/branches/2.4-stable redmine
cd redmine
cp config/database.yml.example config/database.yml
cp config/configuration.yml.example config/configuration.yml
mkdir public/plugin_assets

Si un usager MySQL autre que root ou mot de passe diffèrent est utilisé :
Éditer le fichier config/database.yml, section Production et modifier les lignes :

  • username
  • password

Éditer le fichier config/configuration.yml et modifier la configuration SMTP.

h2. Ruby

Installation des gems de Ruby


cd redmine
gem install bundler
gem install activerecord-mysql2-adapter
bundle install --without development test

h2. Initialisation

Création de la cryptographie, de la structure et des donnés de base :


cd /srv/redmine
rake generate_secret_token
RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data

Ouvrir dans le pare-feu :

  • TCP : 3000

Lancer le serveur web (test)


cd /srv/redmine
ruby script/rails server webrick -e production

A partir d’un navigateur web, se brancher à http://server:3000.
Utiliser l’usager admin avec le mot de passe admin.
Vérifier la configuration dans Administration, Information.

h2. Transformation en daemon

Le script original vient de http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_on_openSUSE
Copier le script dans le fichier /etc/init.d/redmine

Le modifier de la manière suivante :

  • REDMINE_BIN=/srv/redmine/current/script/rails
  • REDMINE_USER=user
  • Corriger le «typo» à la ligne 73 : $REDMI-NE_BIN -> $REDMINE_BIN
  • Dans la section stop, après la ligne killproc, ajouter rm $PIDFILE

Rendre le fichier exécutable, l’ajouter aux services SUSE et l’exécuter au démarrage :


chmod 0755 /etc/init.d/redmine
cp -s /etc/init.d/redmine /usr/bin/rcredmine
chkconfig -a redmine

h1. Apache

En test, voir #23

Transformation pour utilisation avec Apache.

  • N'utilise pas webrick
  • Accessible par le port 80 au lieu de 3000

Information provenant de :

h2. Modules Apache

Ajout


zypper install libcurl-devel apache2-devel apache2-mod_perl perl-Apache-DBI 

Activation des modules Apache


a2enmod ssl
a2enmod perl
a2enmod dav
a2enmod dav_svn
a2enmod dav_fs
a2enmod rewrite
a2enmod headers

h2. Modules Passenger


cd /srv/redmine
gem install passenger
passenger-install-apache2-module2.0

h2. Activation de la configuration


systemctl reload apache2

Note

Donne une message d'erreur que le module dav_svn n'est pas installé

Ajouter dans /etc/apache2/conf.d/passenger.conf


LoadModule passenger_module /usr/lib64/ruby/gems/2.0.0/gems/passenger-4.0.49/buildout/apache2/mod_passenger.so

  PassengerRoot /usr/lib64/ruby/gems/2.0.0/gems/passenger-4.0.49
  PassengerDefaultRuby /usr/bin/ruby2.0

Ajouter dans /etc/apache2/vhosts.d/vhost.conf



    ServerName redmine.yourdomain.com
    DocumentRoot /srv/redmine/public

    RailsEnv production
    RailsBaseURI /redmine

    
        Options Indexes ExecCGI FollowSymLinks
        AllowOverride None
        Order deny,allow
        Allow from all
    

Vérifier la configuration

Plugin assets directory writable

h1. Personnalisation

h2. Ajout d’un logo

Les informations viennent de : http://www.redmine.org/projects/redmine/wiki/Howto_add_a_logo_to_your_Redmine_banner

Copier le logo dans /srv/redmine/public/images/logo.png

Modifier le fichier /srv/redmine/app/views/layout/base.rhtml.erb

  • Ajouter la ligne


  • Si on ne veux plus afficher le titre, mettre en commentaire :


Redémarrer Redmine


rcredmine restart

h2. Plugins

h3. Extended Fields

Permet de créer de nouveau champ dans la basse de donnés.

http://www.redmine.org/plugins/extended_fields

Installation :


cd /srv/redmine
svn co http://svn.s-andy.com/extended-fields plugins/extended_fields
rake redmine:plugins:migrate RAILS_ENV=production
rcredmine restart

h3. Redmine Rouge

Permet le support de langage supplémentaire pour l'affichage de la syntaxe d'un code source.

"Langage supporté":http://rouge.jayferd.us/demo

https://github.com/ngyuki/redmine_rouge


cd /srv/redmine/plugins
git clone https://github.com/ngyuki/redmine_rouge.git
cd ..
bundle install
# Relancer redmine
rcredmine restart

h3. Code Highlight

http://www.redmine.org/plugins/codehightlight_button

Bouton permettant de sélectionner du code et d'activer la syntaxe selon un langage.

Ne fonctionne pas pour les langages supplémentaires supportées par le « plug-in » Redmine Rouge. Voir "ici":https://github.com/mediatainment/redmine_codebutton/issues/2

Installation


cd /srv/redmine/plugins
git clone https://github.com/mediatainment/redmine_codebutton.git
cd ..
rake redmine:plugins
rake redmine:plugins:migrate RAILS_ENV=production
# Relancer Redmine
rcredmine restart

h3. Redmine Issue Checklist

Extends issues to store checklist items

http://redminecrm.com/projects/checklist

Installation


cd /srv/redmine/plugins
wget http://redminecrm.com/license_manager/4200/redmine_issue_checklist-2_0_5.zip
unzip redmine_issue_checklist-2_0_5.zip
bundle exec rake redmine:plugins NAME=redmine_issue_checklist RAILS_ENV=production
# Relancer Redmine
rcredmine restart

Configuration
Dans Administration

  • Plugins
    ** Choisir les options voulues
  • Roles and permissions
    ** Choisir le rôle
    Donner les droits voulus sur :
    *** Done checklist items
    *** Edit checklist items
    *** View checklist

h3. Redmine People

A faire

h3. WikiNG

Personnalisation des items dans le wiki.
Ajoute des boutons et des icônes comme FIXME et TODO.

« Écrase » le bouton installé par Code Highlight

Installation


cd /srv/redmine
wget http://projects.andriylesyuk.com/attachments/download/564/wiking-1.0.0b.tar.bz2
tar xvf wiking-1.0.0b.tar.bz2
mv wiking plugins
rake redmine:plugins:migrate RAILS_ENV=production
# restart Redmine
rcredmine restart

h1. Mise à jour

S’assurer d'avoir les dernières versions des plugins.

Disponible a http://www.redmine.org/projects/redmine/wiki/Download

Mise à jour de Redmine à partir de SVN (dernière version)

Vérifier la version pointée par SVN


svn info

Si ne pointe pas sur la bonne, faire le changement :


svn switch http://svn.redmine.org/redmine/branches/2.4-stable

Faire la mise à jour :


svn update

Installation des «gem» de Ruby.

Vérifier la version de rubygem-mysql2 et modifier le fichier Gemfile pour la même version.


cd /srv/redmine
rm -r /usr/lib64/ruby/gems/*
zypper rm rubygem-mysql2
zypper in rubygem-mysql2
gem install bundler
gem install activerecord-mysql2-adapter
bundle install --without development test

Mise à jour (base de donnés, « plugins ») et ménage :


rake db:migrate RAILS_ENV=production
rake redmine:plugins:migrate RAILS_ENV=production
rake tmp:cache:clear
rake tmp:sessions:clear
rcredmine restart

h1. Copie de sécurité

Remplacer les items suivants :

  • username : Usager de la base de donnés.
  • password : Mot de passe de la base de donnés.
  • database : Nom de la base de données.
  • path : Emplacement pour recevoir le fichier.

/usr/bin/mysqldump -u username -p password database | gzip > /path/redmine_`date +%y_%m_%d`.gz
rsync -a /srv/redmine/files /path/

Script un peu plus evolué :

 

#!/bin/bash
#
# backup_redmine.sh
# Backup of a Redmine setup
# Last Changes: 2013-02-23
# Maintainer: Patrice Nadeau  

# TODO Verify the results (folder exist, enough disk pace , etc..)

## The only variable needed to be changed
# Directory of the Redmine install
declare -r RAIL_ROOT='/srv/redmine'
# MySQL database
declare -r MYSQL_DB=''
# MySQL username for the Redemine db
declare -r MYSQL_USER=''
# MySQL password for the Redemine db
declare -r MYSQL_PASSWORD=''
# Directory for the backup (must exist and with no space in the name)
declare -r DIR='/root'
## end

# Exit level
declare -ir EXIT_OK=0
declare -ir EXIT_WARNING=1
declare -ir EXIT_ERROR=2

declare -i STATUS=$EXIT_OK

# The directory inside the archive 
declare -r REDMINE='redmine'
TMP_DIR=$DIR/$REDMINE

# This will be used for the archive file 
declare -r DST=$DIR/redmine_$(date +%Y%m%d_%H%M%S).tar.gz

# The temporary sql file
declare -r TMP_MYSQL=$TMP_DIR/$MYSQL_DB.mysql

echo "Backup in progress in $DST"

#### Create the temp directory ####
mkdir $TMP_DIR

#### backup MySQL ####
if [ $STATUS -eq $EXIT_OK ] 
then
	STEP='Creating MySQL backup'
	mysqldump --user=$MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DB \
		> $TMP_MYSQL
	STATUS=$?
fi

#### backup the Redmine folder ####
if [ $STATUS -eq $EXIT_OK ] 
then
	STEP='Creating Redmine'"'"' files backup'
	cp --recursive $RAIL_ROOT $TMP_DIR
	STATUS=$?
fi

#### create the archive file ####
if [ $STATUS -eq $EXIT_OK ] 
then
	STEP="Creating archive"
	tar --create --gzip --file $DST --directory=$DIR $REDMINE
	STATUS=$?
fi

#### cleanup ####
if [ $STATUS -eq $EXIT_OK ] 
then
	STEP='Cleaning up'
	rm --recursive --force $TMP_DIR
	STATUS=$?
fi

#### exit ####
if [ $STATUS -eq $EXIT_OK ] 
then
	echo "Backup done"
else
	echo "Bakup failed with error code $STATUS in step $STEP"
fi


exit $STATUS

h1. Dépannage

h2. Mot de passe perdu

Le mot de passe admin par défaut est en hash Sha1 : da3174755c5e82a436b6c7ff87c873ee50d6654b et est admin.

h2. Le service tombe « DEAD » a chaque fois

Effacer le fichier /srv/redmine/tmp/pids/server.pid.

Mis à jour par Patrice Nadeau il y a environ 10 ans · 46 révisions