Redmine L’installation suivante décrit une installation complète de Redmine sur une distribution Ubuntu 12.04, avec un utilisateur redmine, Ruby Version Manager (rvm), Unicorn (serveur Ruby) et nginx comme serveur frontal.

Installer les paquets

  • git
  • curl..
sudo apt-get install git curl build-essential libssl-dev libmysqlclient-dev  

Installer rvm

Pour installer rvm suivre le billet suivant en modifiant l’utilisateur et le groupe par redmine. Utiliser la version 1.9.3 de Ruby.

Installer Redmine

Créer la base de données

mysql -uroot -p create database redmine;  
mysql> grant all on redmine.* to redmine@localhost identified by "motdepasse";  
mysql> quit  

Installer

redevenir l’utilisateur redmine. et télécharger (et décompresser si nécessaire) la dernière version de Redmine dans le répertoire utilisateur. Nous avons maintenant une application installée dans* /home/redmine/redmine*.

Paramétrer Redmine

indiquer dans le fichier database.yml les paramètres de connexion à la base de données.

Installer les plugins nécessaires.

Installer Unicorn

Dans le répertoire d’installation de Redmine:_

gem install unicorn  

Créer un fichier unicorn.rb dans le répertoire de configuration de Redmine:

$unicorn_user = "redmine"
$unicorn_group = "redmine"
worker_processes 2  
working_directory '/home/redmine/redmine'  
listen      "127.0.0.1:<port redmine>"  
timeout     30  
pid         "tmp/pids/unicorn.pid"  
stderr_path "log/unicorn.log"  
stdout_path "log/unicorn.log"  
preload_app  true  
before_fork do  
 |server, worker|
   defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
 end
 after_fork do
 |server, worker|
   defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
   begin
     uid, gid = Process.euid, Process.egid
     user, group = $unicorn_user, $unicorn_group
     target_uid = Etc.getpwnam(user).uid
     target_gid = Etc.getgrnam(group).gid
     worker.tmp.chown(target_uid, target_gid)
     if uid != target_uid or gid != target_gid
       Process.initgroups(user, target_gid)
       Process::GID.change_privilege(target_gid)
       Process::UID.change_privilege(target_uid)
     end
   rescue
     if RAILS_ENV = "development"
       STDERR.puts "could not change user, oh well"
     else
       raise e
     end
   end
 end

bash Créer le script de démarrage /etc/init.d/redmine:

#!/bin/bash
# # unicorn_rails_redmine Startup script for unicorn.
# # chkconfig: - 85 15 # description: redmine on unicorn start/stop script.
# #
 # set rvm environment valiables.
#
export PATH=/home/redmine/.rvm/gems/ruby-1.9.3-p392@redmine/bin:/home/redmine/.rvm/gems/ruby-1.9.3-p392@global/bin:/home/redmine/.rvm/gems/ruby-1.9.3-p392/bin:/home/redmine/.rvm/rubies/ruby-1.9.3-p392/bin:/home/redmine/.rvm/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/redmine/bin  
export GEM_HOME=/home/redmine/.rvm/gems/ruby-1.9.3-p392@redmine export GEM_PATH=/home/redmine/.rvm/gems/ruby-1.9.3-p392@redmine:/home/redmine/.rvm/gems/ruby-1.9.3-p392@global:/home/redmine/.rvm/gems/ruby-1.9.3-p392  
export BUNDLE_PATH=  
export MY_RUBY_HOME=/home/redmine/.rvm/rubies/ruby-1.9.3-p392  
export IRBRC=/home/redmine/.rvm/rubies/ruby-1.9.3-p392/.irbrc  
set -u set -e APP_NAME=redmine APP_ROOT="/home/redmine/$APP_NAME" CNF="$APP_ROOT/config/unicorn.rb" PID="$APP_ROOT/tmp/pids/unicorn.pid" ENV=production UNICORN_OPTS="-D -E $ENV -c $CNF" old_pid="$PID.oldbin" cd $APP_ROOT || exit 1 sig () {         test -s "$PID" && kill -$1 `cat $PID` } oldsig () {         test -s $old_pid && kill -$1 `cat $old_pid` } case ${1-help} in start)         sig 0 && echo >&2 "Already running" && exit 0         cd $APP_ROOT ; unicorn_rails $UNICORN_OPTS         ;; stop)         sig QUIT && exit 0         echo >&2 "Not running"         ;; force-stop)         sig TERM && exit 0         echo >&2 "Not running"         ;; restart|reload)         sig HUP && echo reloaded OK && exit 0         echo >&2 "Couldn't reload, starting instead"         unicorn_rails $UNICORN_OPTS         ;; upgrade)         sig USR2 && exit 0         echo >&2 "Couldn't upgrade, starting instead"         unicorn_rails $UNICORN_OPTS         ;; rotate)         sig USR1 && echo rotated logs OK && exit 0         echo >&2 "Couldn't rotate logs" && exit 1         ;; *)         echo >&2 "Usage: $0 <start|stop|restart|upgrade|rotate|force-stop>"         exit 1         ;; esa  

Rendre le fichier exécutable et le tester:

sudo chmod +x /etc/init.d/redmine  
sudo service redmine start  

Paramétrer nginx

Avec les paramètres précédents, il suffit d’ajouter le fichier redmine dans /etc/nginx/sites-available/:

upstream redmine {  
         server 127.0.0.1:<port redmine>; 
} 
server {  
         server_name <domaine du serveur ex monredmine.toto.fr>;
         root /home/redmine/redmine/public;
         proxy_redirect off;
         location / {
                 try_files $uri/index.html $uri.html $uri @ruby;
         }
         location @ruby {
                 proxy_set_header  X-Real-IP  $remote_addr;
                 proxy_set_header  X-Forwarded-For proxy_add_x_forwarded_for;
                 proxy_set_header  Host $http_host;
                 proxy_redirect off;
                 proxy_pass http://redmine;
         }
 }

Faire un lien symbolique entre sites-enable et sites-available:

sudo ln -s /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/redmine

Redémarrer nginx.

sudo service nginx restart  

Sources:

http://www.andrehonsberg.com/article/install-rvm-ubuntu-1204-linux-for-ruby-193
http://qiita.com/items/c172b6d3f952aa686625
http://doc.ubuntu-fr.org/redmine#servirredminevia_apache

**Paramétrer l’envoi de mail

**

Modifier le fichier config/configuration.yml et ajouter ou modifier les lignes suivantes:

production:  
 email_delivery:
 delivery_method: :smtp
 smtp_settings:
 enable_starttls_auto: true
 address: "mon.mailpreovider.xxx"
 port: <Le Port>
 domain: "your.domain.com"
 authentication: :plain
 user_name: "user@your.domain.com"
 password: "XXXXXXXX"

Attention le fichier doit rester au format YAML (pas de tabulation). Ensuite arrêter, puis redémarrer Redmine (un reload ne suffit pas) et redémarrer nginx.:wq

}

service redmine stop  
service redmine start  
service nginx restart  

pour Gandi.net
http://wiki.gandi.net/en/ssl/intermediate?rev=1236084787
http://wiki.gandi.net/fr/mail/standard-settings