Outils pour utilisateurs

Outils du site


linux:installer_le_gestionnaire_de_projets_redmine_sur_ubuntu_10.10_et_derives

Installer le gestionnaire de projets Redmine 1.1 sur Ubuntu 10.10 et dérivés

N.b : Pour toutes les opération effectuées depuis le shell il est préférable d'être root, ou d'ajouter simplement sudo devant les commandes.

Installation de prérequis pour Redmine

aptitude install build-essential ruby1.8-dev rubygems
gem install rack -v=1.0.1
gem install -v=0.4.2 i18n # on peut peut être se passer du numéro de version, pas testé car suivi un autre tuto.
gem install -v=2.3.5 rails
gem install -v=0.8.7 rake
svn co http://redmine.rubyforge.org/svn/branches/1.1-stable redmine-1.1
aptitude install libmysqlclient-dev
sudo addgroup redmine
sudo adduser redmine --no-create-home --ingroup redmine # Saisir un mot de passe pour l'utilisateur nouvellement créé

Installation et configuration de la base de données

gem install mysql
mysql -u -p
# CREATE DATABASE redmine DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# GRANT ALL PRIVILEGES ON redmine.* TO 'xxx'@'localhost' IDENTIFIED BY 'xxx' WITH GRANT OPTION;
# Pensez à changer les identifiants pour le copier-coller ;-)

Configuration de Redmine

cp ~/redmine-1.1/config/database.yml.example ~/redmine-1.1/config/database.yml
nano ~/root/redmine-1.1/config/database.yml
# production:
# adapter: mysql
# database: redmine
# host: localhost
# username: xxx
# password: xxx
# encoding: utf8

Puis pour terminer l'installation (Je l'ai fait à la racine du dossier contenant redmine)

nano config/environment.rb # Vérifier que la version de RAILS_GEM_VERSION soit bien 2.3.5 et corriger si nécessaire...
rake generate_session_store
RAILS_ENV=production rake db:migrate # Créer la structure de la base
RAILS_ENV=production rake redmine:load_default_data # Insérer les données par défaut, indiquer "fr" à la fin

Placer Redmine dans un dossier partagé sécurisé et autoriser l'écriture certains dossiers

sudo mkdir /opt/redmine
sudo cp -r ~/redmine-1.1/* /opt/redmine
mkdir -p /opt/redmine/tmp /opt/redmine/public/plugin_assets # Création de ces dossiers pour rester dans les conventions
cd /opt/redmine
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets

Faire le ménage en supprimant le dossier d'install de Redmine récupéré par Subversion au début

rm -R ~/Redmine-1.1/

Servir Redmine avec Apache

aptitude install apache2-prefork-dev libapr1-dev libaprutil1-dev
gem install passenger
/var/lib/gems/1.8/bin/passenger-install-apache2-module # Exécuter ça pour compiler et configurer le module passenger
# ou : cd /var/lib/gems/1.8/gems/passenger-3.0.2/bin  
# ./passenger-install-apache2-module  
nano /etc/apache2/mods-available/passenger.load
# Ajouter : 
# LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.2/ext/apache2/mod_passenger.so
# Le dossier ci dessus peut être différent suivant la version du module ou votre distribution et se trouver sous "/var" au lieu "/usr", exécutez un "gem environment" pour en savoir plus
nano /etc/apache2/mods-available/passenger.conf
# Ajouter :
# PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.2
# PassengerRuby /usr/bin/ruby1.8
a2enmod passenger
a2enmod rewrite # N.B : Ca m'étonnerait qu'il ne soit pas déjà actif chez vous ;-)
# Ajouter un Alias devrait suffire, à vous de voir si vous préférez un VirtualHost ou autre...
nano /etc/apache2/sites-enabled/000-default
# Ajouter :
# Alias /forge "/opt/redmine/public"
# RailsEnv production
# RailsBaseURI /forge
sudo ln -s /opt/redmine/public /var/www/lolo/forge

On se connecter ensuite à Redmine via l'URL http://serveur-web/forge/login le login/password par defaut est admin/admin, configuration pour utiliser openLDAP comme serveur d'authentification pour les utilisateurs :

Pour configurer l'envoi des mails :

cp /opt/redmine/config/email.yml.example /opt/redmine/config/email.yml
nano /opt/redmine/config/email.yml

Et configurer comme suit

production:
  delivery_method: :smtp
  smtp_settings:
    address: votre.adresse.de.serveur.smtp
    port: 25

Attention il y a des paramètres supplémentaires si votre serveur smtp requiert une authentification bien sur.

Installation de Git pour gérer les versions du code source

aptitude install git # N.B : dans mon cas il était déjà installé, j'ai du mal à me rappeler si c'est moi qui l'ai fait à l'install du serveur ou si c'était en standard...
mkdir -p /opt/redmine/git_repositories/bac_a_sable.git
cd /opt/redmine/git_repositories/bac_a_sable.git
chown www-data:www-data /opt/redmine/git_repositories/bac_a_sable.git
git config --global user.name "Laurent Espitallier"
git config --global user.email "mon@adresse.mail"
git init --bare
git update-server-info
git config http.receivepack true # Pour autoriser un push via http !

Dans la page de configuration de votre projet, faites comme suit :

Premiers commit dans le bac à sable…

mkdir /home/travail
cd /home/travail
git init
git add .
git commit -m "Initial commit"
git remote add origin /opt/redmine/git_repositories/bac_a_sable.git/
git push origin master

Partager son dépôt via HTTP en basant l'authentification sur LDAP

Activer les modules d'authentification ldap

a2enmod authnz_ldap

Puis ajouter à l'un de vos fichiers de configuration activés (un VirtualHost par exemple)

Pour publier efficacement Git sur HTTP

SetEnv GIT_PROJECT_ROOT /opt/redmine/git_repositories/bac_a_sable.git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git_repos/ /usr/lib/git-core/git-http-backend/

Pour imposer l'authentification LDAP

Alias /git_repos "/opt/redmine/git_repositories" # Je ne publie que dépôt par dépôt

# Mais comme possibilité de plusieurs projets publics, je défini les droits d'accès pour tous...
<Location /git_repos>
Options +ExecCGI
AuthBasicProvider ldap
AuthType Basic
AuthzLDAPAuthoritative on
AuthName "Space Oasis Git Repo"
AuthLDAPURL "ldap://localhost:389/OU=users,DC=serveur,DC=local" NONE
require valid-user
Order deny,allow
</Location>

Gérer plus finement les droits d'accès au dépôt (l'utilisateur d'Apache et de redmine auront besoin d'accéder au dépôt), pour cela installer le package acl

aptitude install acl

Modifier le fichier /etc/fstab (cela dépendra de votre configuration, il ne s'agit donc ici que d'un exemple !)

nano /etc/fstab

Dans les options de la partition qui accueille le dépôt ajouter dans l'option ,acl comme cela par exemple

/dev/sda1   /   ext4   errors=remount-ro,acl   0   1

Enregistrez et remontez la partition

mount -o remount /

Et exécutez successivement

setfacl -R -m u:redmine:rwx /opt/redmine/git_repositories/bac_a_sable.git/
setfacl -R -m u:www-data:rwx /opt/redmine/git_repositories/bac_a_sable.git/

Pour tester, depuis un poste client

# Si dépôt publié via un certificat SSL autosigné (pour HTTPS) d'abord faire la manip suivante :
echo '[http] sslverify = false' >> ~/.gitconfig

Puis

cd ~
git clone http://mon-nom-d-utilisateur@adresse-du-serveur-web/bac_a_sable.git
cd bac_a_sable
touch testfile
git add testfile
git commit -m "test"
git push origin master 

Saisissez votre mot de passe “and voilà”

linux/installer_le_gestionnaire_de_projets_redmine_sur_ubuntu_10.10_et_derives.txt · Dernière modification: 2012/07/27 23:30 par frenchhope