Installer Redmine
Redmine est gestionnaire de projet logiciel écrit en Ruby et basé sur Ruby on Rails (RoR). Cet article montre un exemple d'installation d'une application RoR avec intégration dans Apache.
Installer les prérequis
Ruby
- Installer ruby avec la doc :
# aptitude install ruby rdoc ri libopenssl-ruby
Il faut aussi certains packages ruby tiers, pour le support PostgreSQL par exemple. Il s'agit de “RubyGems”, qu'on peut comparer à Pear pour PHP ou les modules Perl provenant du CPAN.
- Installer RubyGems :
# aptitude install rubygems
Ce package fourni la base de pour obtenir et gérer les gems, surtout avec la commande /usr/bin/gem
.
On va ensuite installer le gem de rake
, il s'agit de l'équivalent de la commande make pour Ruby:
# gem install rake Successfully installed rake-0.8.7 1 gem installed Installing ri documentation for rake-0.8.7... Installing RDoc documentation for rake-0.8.7... # gem list *** LOCAL GEMS *** rake (0.8.7)
Apache
Voir l'article détaillé. On va ajouter mod_proxy
# a2enmod Your choices are: ... ... proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http rewrite ... Which module(s) do you want to enable (wildcards ok)? proxy_http Considering dependency proxy for proxy_http: Enabling module proxy. Enabling module proxy_http. Run '/etc/init.d/apache2 restart' to activate new configuration! # /etc/init.d/apache2 restart Restarting web server: apache2 ... waiting .
Vhost: /etc/apache2/sites-available/redmine.example.org
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName redmine.example.org DocumentRoot /var/www/example.org/redmine/public <Directory /var/www/example.org/redmine/public> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/example.org/redmine_error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/example.org/redmine_access.log combined Alias /images /var/www/example.org/redmine/public/images Alias /stylesheets /var/www/example.org/redmine/public/stylesheets Alias /javascripts /var/www/example.org/redmine/public/javascripts <Proxy *> Order deny,allow Allow from all </Proxy> # ProxyPreserveHost on ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000 ProxyPass /images ! ProxyPass /stylesheets ! ProxyPass /javascripts ! </VirtualHost>
PostgreSQL
Voir l'article détaillé. On va ajouter le gem pour que Ruby, et par extension Redmine puisse parler avec PostgreSQL. On va la compiler, il faut donc ajouter les versions -dev
de certains paquets:
# aptitude install ruby-dev libpq-dev
On peut alors ajouter le gem pg
:
# gem install pg Building native extensions. This could take a while... Successfully installed pg-0.8.0 1 gem installed Installing ri documentation for pg-0.8.0... Installing RDoc documentation for pg-0.8.0...
On créé ensuite, un utilisateur et une base dédiée pour Redmine :
# su - postgres $ createuser -SDRlIPE redmine --> Entrer un mot de passe $ createdb -E UTF8 -O redmine redmine
Mongrel
# aptitude install mongrel
# useradd -d /var/www -g www-data -N -r -s /bin/false mongrel
: passer le rc-script en mode Debian à partir de skeleton
#!/bin/sh APP_ROOT=/var/www/example.org/redmine DB=production PORT=3000 USER=mongrel GROUP=www-data case $1 in start) mongrel_rails start -e $DB -p $PORT -a localhost -P $APP_ROOT/log/mongrel_${PORT}.pid -c $APP_ROOT --user $USER --group $GROUP -d rc=$? ;; stop) mongrel_rails stop -c $APP_ROOT -P $APP_ROOT/log/mongrel_${PORT}.pid rc=$? ;; restart) $0 stop $0 start ;; *) echo "Usage: `basename $0` {start|stop|restart}" exit 1 ;; esac exit $rc
config logrotate
Installer Redmine
# gem install -v=2.3.5 rails # cd /var/www/example.com/redmine # svn co http://redmine.rubyforge.org/svn/branches/0.9-stable . # cd config # cp database.yml.example database.yml -> Editer database.yml # rake generate_session_store # RAILS_ENV=production rake db:migrate # RAILS_ENV=production rake redmine:load_default_data (in /var/www/example.com/redmine) Select language: bg, bs, ca, cs, da, de, el, en, es, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh, zh-TW [en] en ==================================== Default configuration data loaded.
mkdir tmp public/plugin_assets sudo chgrp -R www-data files log tmp public/plugin_assets sudo chmod -R g+w files log tmp public/plugin_assets