Linux 2 min de lectura

Instalar Redmine con Phusion Passenger en SLES 11 SP1 (mod_rails)

Pantalla con consola de comandos abierta lista para instalar redmine sles junto al logotipo de SUSE Linux
Tengo que instalar Redmine en un cliente. La maquina es una SLES 11, para variar y ya tiene funcionando un Apache2 con mod_jk. Necesitamos instalar las herramientas de desarrollo de apache, así como ruby y su sistema de gestión de modulos, gem.
servidor:~# zypper install gcc make ruby rubygems rubt-devel rubygem-rake rubygem-rails apache2-devel gcc-c++
servidor:~# gem install passenger
servidor:~# /usr/bin/passenger-install-apache2-module
Este ultimo comando, nos dira si nos falta algo. En caso contrario, nos compila el modulo en /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/ext/apache2/mod_passenger.so Lo copiamos a /usr/lib/apache2/ porque si no, al figurar en /etc/sysconfig/apache2, no lo encontrara en el inicio y no lo cargará (demasiado automatismo tonto) Posteriormente añadimos estas dos lineas a un .conf de apache, yo creo /etc/apache2/redmine-adicionales.conf y lo incluyo en /etc/apache2/httpd.conf añadiendole la linea Include /etc/apache2/redmine-adicionales.conf PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.15 PassengerRuby /usr/bin/ruby1.8 Ahora creamos un VirtualHost nuevo en /etc/apache2/conf.d/0x-hostname.dominio.tld.conf que contenga:
ServerName redmine.tudominio.tld
ServerAlias respondeaquitambien.tudominio.tld
DocumentRoot /srv/redmine/publicAllowOverride all
Options -MultiViews

LogLevel warn
CustomLog /var/log/apache2/redmine.dominio.tld-access.log combined
ErrorLog /var/log/apache2/redmine.dominio.tld-error.log

Nos vamos a /srv y nos bajamos el tarball de redmine:
servidor:~# cd /srv
servidor:~# wget 'http://rubyforge.org/frs/download.php/71723/redmine-1.0.0.tar.gz'
servidor:~# tar zxvf redmine-1.0.0.tar.gz
servidor:~# mv redmine-1.0.0 redmine
servidor:~# chown -R wwwrun.www redmine
Redmine depende de una base de datos, así que creamos la base de datos, usuario y la poblamos con la estructura que viene con el programa.
servidor:~# mysql -u root -p
mysql> create database redmine charset utf8;
mysql> grant all on redmine.* to redmine@'localhost' identified by 'contraseñaquequieras';
mysql> flush privileges;
##NOTA: En caso de que esto te de algún problema, puedes ejecutar en el mysql también:
mysql> grant all on redmine.* to redmine@'%' identified by 'contraseñaquequieras';
mysql> flush privileges;
## La configuración de la base de datos va en /srv/redmine/config/database.yml y este es su contenido:
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: contraseniaquequieras
encoding: utf8
socket: /var/run/mysqld/mysqld.sock
Ahora vamos a poblar la base de datos con la estructura propia de redmine y pasarla a modo producción:
servidor:~# rake db:migrate RAILS_ENV="production"
*** opcional***
servidor:~# rake redmine:load_default_data RAILS_ENV="production"
*** nos llena la db datos que vienen de fabrica *** Por ultimo activamos el modulo, reiniciamos apache y debería salirnos Redmine al acceder con un navegador a http://redmine.dominio.tld
a2enmod passenger
service apache2 restart
/etc/init.d/apache2 restart
A gusto del consumidor :) Si actualizamos a una versión mas nueva de Redmine, también hay que ejecutar
rake db:migrate RAILS_ENV=production

Comentarios