Compiler redmine 1.9.3 puis installer redmine sur apache le tout sur une debian squeeze…

évidemment ruby 1.9.3 n’est pas encore disponible en paquet debian squeeze donc on compile, on installe et hop…

Comme d’habitude vérifier la présence de:

  • g++
  • libc
  • libtool
  • autoconf
  • openssl dev
  • fcgi dev
telecharger les sources de ruby
lancer autoconf
.configure 
make
(regarder les messages d'erreur sur la creation des config) openssl doit passer si vous voulez l'utiliser (si il ne passe pas c'est qu'il manque la lib. Retournez dans aptitude)
make install

Installer les paquets connexe via gem

gem install rails
gem install fcgi
gem install rack

Descendre les sources redmine suivre la doc redmine

Ajouter la dependance sur fcgi dans Gemfile supprimer le fichier Gemfile.lock relancer le bundle install:

bundle install --without development test postgresql sqlite rmagick

Installer passenger via gem:

gem install passenger

Compiler passenger pour apache:

passenger-install-apache2-module

Ajouter dans le module passenger dans /etc/site-available (copier/coller les lignes fournit en fin de compilation du passenger)

Ensuite creer le virtual host en pointant sur l’appli ruby.

<VirtualHost *:443>
 ServerName www.domain.com
 DocumentRoot /opt/redmine/current/public
 <Directory /opt/redmine/current/public>
       AllowOverride all
       Options -MultiViews
       </Directory>
       ErrorLog /var/log/apache2/redmine_error.log
       LogLevel error
       CustomLog /var/log/apache2/redmine_cust.log combined
       SSLEngine on
       SSLCertificateFile    /etc/ssl/certs/openways.com.crt
       SSLCertificateKeyFile /etc/ssl/private/openways.com.key
       SSLCertificateChainFile /etc/ssl/certs/gd_bundle.crt
</VirtualHost>

lancement d’apache sans prompt avec une clé privé avec passphrase

Apache embarque une directive qui permet de lancer une commande. Voici la’ doc avec exemple simpliste:
[utilisation de sslpassphrasedialog|http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslpassphrasedialog|en]

Attention la’ directive doit se trouver dans le root context (hors du virtual host) donc pour gérer du multi host il faut faire un script qui parse les args reçus.