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 :
- web : http://martin-denizet.com/install-redmine-2-5-x-with-git-and-subversion-on-debian-with-apache2-rvm-and-passenger/
- livre : "Mastering Redmine":http://shop.oreilly.com/product/9781849519144.do
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