Projet

Général

Profil

Actions

Wiki » Historique » Révision 97

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


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

Sa principale difficulté d’installation est sa dépendance à Ruby.
Voir aussi :


{{toc}}

h2. Installation

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

  • openSUSE 13.1
  • Redmine 2.4.2

h3. Prérequis

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

Les logiciels supplémentaires suivants :


zypper install libmysqlclient-devel ruby-2.0 ruby20-devel rubygem-bundler  rubygem-mysql2 rubygem-pg ImageMagick ImageMagick-devel git gcc make

h3. MySQL

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;

h3. Redmine

L’installation sera faite dans \srv\redmine (exemple avec la version 2.5)


cd /srv/
svn co http://svn.redmine.org/redmine/branches/2.5-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.

h3. Ruby

Installation des gems de Ruby


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

h3. 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

h3. Serveur web

Redmine peux être utiliser avec le serveur inclus webrick (port 3000) ou Apache (port 80).

h4. Webrick

Ouvrir dans le pare-feu le port TCP 3000 :


yast firewall services add tcpport=3000 zone=EXT

Lancer le serveur web


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

h5. 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

h4. 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 :

h3. Modules Apache

Ajout


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

Activation des modules Apache


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

h3. Modules Passenger


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

Changer les droits sur le fichiers de log


chmod 0666 /srv/redmine.log/production.log

Créer le dossier des fichiers temporaire

Par défaut les fichiers sont dans /tmp mais se font enlever par le « clean-up »journalier et doivent être refait avec un reload d'Apache


mkdir /srv/redmine/tmp/passenger

h3. Activation de la configuration

Créer le fichier /etc/apache2/conf.d/passenger.conf et ajouter la configuration inscrite par l'installation.

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



    # La ligne suivante est nécessaire seulement si plusieurs site web son présents sur le même serveur.
    ServerName redmine.yourdomain.com
    DocumentRoot /srv/redmine/public

    RailsEnv production
    PassengerAppRoot /srv/redmine
    PassengerTempDir /srv/redmine/tmp/passenger

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

Relancer Apache :


systemctl reload apache2

h2. Post-installation

A partir d’un navigateur web, se brancher à :

Utiliser l’usager admin avec le mot de passe admin.
Vérifier la configuration dans Administration, Information.

Si un avertissement apparait pour l’écriture des répertoires, changer les droits :

Semble être nécessaire que pour Apache


cd /srv/redmine
chmod 0777 public/plugin_assets
chmod 0777 files

h2. Personnalisation

h3. 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

h3. Plugins

h4. 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

Relancer Redmine

h4. 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

h4. Code Highlight

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

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

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

Ajout des langages supplémentaires supportées par le « plug-in » Redmine Rouge. Voir "ici":https://github.com/mediatainment/redmine_codebutton/issues/2
Éditer le fichier /srv/redmine/plugins/redmine_codebutton/assets/javascripts/wiki-codehighlight.js

  • Ajouter les langages voulus dans la variable codeRayLanguages

Relancer Apache


systemctl reload apache2.service

h4. 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

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

h4. Redmine People

A faire

h4. Like Button

Bouton pour Facebook, Google+ et Twitter

h4. 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

Relancer Redmine

h2. 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

Relancer Redmine

h2. 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 évolué :

 

#!/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

h2. Dépannage

h3. Mot de passe perdu

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

h3. Le service tombe « DEAD » à chaque fois (webrick)

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

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