Introduction
Comme bapt, j'ai pour mes besoins personnels de mettre en place une forge sur mon OS préféré afin de dégager mon vieux truc sur une jail et quelques wrappers...
Redmine est donc une bonne alternative a tout ce qui trainne et en plus c'est en ruby (balle avec des branches dedans !).
Pas mal de composants sont sur les ports donc nous allons les utiliser port :
- redmine : /usr/ports/www/redmine
- mysql (ou pgsql... a vous de choisir)
- ruby-mysql : /usr/ports/databases/ruby-mysql
- thin : le serveur web du coma pour ruby : /usr/ports/www/rubygem-thin
- le binding image magic : ruby-rmagick : /usr/ports/graphics/ruby-rmagick
- git : /usr/ports/devel/git
Pour l'installation des ports, c'est assez simple et je passe donc cette étape.
Après compilation de tous ces packages, il vous reste a configurer redmine, la base mysql, thin et le serveur git :p
Configuration de redmine
Il s'agit de prendre en gros ce qu'il y a dans le manuel d'install de redmine.
Créer la base SQL :
En ligne de commande ou via phpmyadmin :p
create database redmine character set utf8; create user 'redmine'@'localhost' identified by 'my_password'; grant all privileges on redmine.* to 'redmine'@'localhost';
Configurer redmine
Dans /usr/local/www/redmine
cd config cp database.yml.example database.yml cp email.yml.example email.yml
Editer les 2 fichiers pour que la configuration soit correspondante a vos paramètres.
Configuration de base de redmine
Session store secret :
RAILS_ENV=production rake config/initializers/session_store.rb
Initialisation de la DB :
RAILS_ENV=production rake db:migrate
Insertion des valeurs par défaut :
RAILS_ENV=production rake redmine:load_default_data
1er lancement
ruby script/server webrick -e production
Se connecter sur http://127.0.0.1:3000/ avec comme login admin et password admin. Vérifier que tout est ok puis arreter le server webrick a coup de Ctrl+C.
Configuration du serveur thin.
Thin permet d'avoir un serveur web rapide.
Droits d'accès
Dans notre forge, les accès web seront fait en tant www:www. Comme dans notre test, nous avons accédés a pas mal de pages en tant que root. Il faut changer les droits pour le serveur web thin se pete pas la tete :
cd /usr/local/www && chown -R www:www redmine
Fichier de démarrage
Il reprends le fichier de démarrage de bapt avec les modification FreeBSD :
[kiwi@dev2 /usr/local/etc/rc.d]$ cat thin
#!/bin/sh
#
# PROVIDE: thin
# REQUIRE: DAEMON
#
# thin_enable="YES"
#
thin_enable=${thin_enable-"NO"}
. /etc/rc.subr
name=thin
rcvar=`set_rcvar`
command=/usr/local/bin/${name}
stop_cmd="/usr/local/bin/thin -c /usr/local/www/redmine -e production stop"
command_args="-c /usr/local/www/redmine -e production -d -u www -g www start"
load_rc_config ${name}
run_rc_command "$1"
Pour l'activer :
# chmod 755 /usr/local/etc/rc.d/thin # echo "thin_enable=YES" >> /etc/rc.conf # /usr/local/etc/rc.d/thin start
Le serveur web tourne alors sur le port 3000, vous pouvez donc vous connecter dessus sans soucis. En cas d'un internal error, il faut jeter un coup d'oeil dans /usr/local/www/redmine/log/* afin de voir où est l'erreur... (en général c'est des problèmes de droits...).
Git et ses amis...
To be continued...