http://www.redmine.org/
Nuestra instalación va a ser particular ya que tendremos instalado de forma compilada mysql 5.5, apache 2.2.17 que no es objeto del manual. Solo debemos saber que los tenemos en el path y que están instalados en /usr/local/apache y /usr/local/mysql.
Como CentOS es un sistema bastante antiguo dispone de paquetes anticuados que no acepta RedMine. Deberemos descargar y compilar previamente dichos paquetes.
Prerrequisitos
RedMine 1.2.0, la versión que instalaremos, tiene los siguientes prerrequisitos para funcionar:
- Ruby 1.8.6, 1.8.7
- Rails 2.3.11
- Rack 1.1.1
- ImageMagick >= 6.7.0 para la gema rmagick
ImageMagick
Necesitamos una versión de ImageMagick mayor a la que trae el sistema CentOS 5.6 que es la 6.2.8 Por tanto bajamos el código fuente de la web con el siguiente comando.
# wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
Descomprimimos y entramos en el directorio
# tar -xzf ImageMagick.tar.gz # cd ImageMagick-6.7.0-8
Compilamos e instalamos en /usr/local/imagemagick
# ./configure --prefix=/usr/local/imagemagick # make && make install
Comprobamos que está instalado y metemos imagemagick en el path
# /usr/local/imagemagick/bin/Magick-config --version 6.7.0 Q16 # vim /etc/profile … PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache2/bin:/usr/local/php/bin:/usr/local/php/lib/php:/usr/local/php/lib/php/phing:/usr/local/imagemagick/bin:/usr/local/ruby/bin … # export PATH=$PATH:/usr/local/imagemagick/bin
Ruby
Instalamos Ruby 1.8.7 para ello descargamos el paquete comprimido desde el ftp de ruby.
# wget ftp://ftp.ruby-lang.org//pub/ruby/1.8/ruby-1.8.7.tar.bz2
Descomprimimos
# tar -xjf ruby-1.8.7.tar.bz2 # cd ruby-1.8.7
Configuramos, compilamos e instalamos ruby en /usr/local/ruby
# ./configure --prefix=/usr/local/ruby --enable-shared --enable-pthread --enable-install-doc # make && make install
Una vez que acabe la instalación con la siguiente salida, tendremos instalado ruby.
... Generating RI... Files: 549 Classes: 1630 Modules: 835 Methods: 8452 Elapsed: 265.272s ./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./instruby.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --install=rdoc --rdoc-output=".ext/rdoc" installing rdoc
Añadimos ruby al PATH del sistema para tener los comandos disponibles y comprobamos la versión.
# vim /etc/profile ... PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache2/bin:/usr/local/php/bin:/usr/local/php/lib/php:/usr/local/php/lib/php/phing:/usr/local/ruby/bin ... # export PATH=$PATH:/usr/local/ruby/bin # ruby --version ruby 1.8.7 (2008-05-31 patchlevel 0) [x86_64-linux]
Si hubiéramos instalado ruby con los paquetes del sistema, lo suyo sería instalar lo necesario a través del mismo sistema de paquetería, es decir, yum en CentOS, pero como tenemos compilado ruby habrá que instalar su propio sistema de paquetería.
RubyGems
Ruby usa un sistema de paquetería propio denominado RubyGems que usa paquetes gem o gemas. Hay que descargar y compilar gems para poder usarlo. La última versión es la 1.8.5 pero esta no funciona correctamente con rake y redmine debido a un bug. Hay que bajar he instalar la versión 1.6.2. Podemos ver una lista de paquetes aquí https://rubyforge.org/frs/?group_id=126
# wget http://rubyforge.org/frs/download.php/74445/rubygems-1.6.2.tgz # tar -xzf rubygems-1.6.2.tgz # cd rubygems-1.6.2
Ejecutamos la instalación mediante ruby
# ruby setup.rb --rdoc --ri
RubyGems 1.6.2 installed
=== 1.6.2 / 2011-03-08
Bug Fixes:
* require of an activated gem could cause activation conflicts. Fixes
Bug #29056 by Dave Verwer.
* `gem outdated` now works with up-to-date prerelease gems.
------------------------------------------------------------------------------
RubyGems installed the following executables:
/usr/local/ruby/bin/gem
gem --version
1.6.2Esto instalará rubygems en /usr/local/ruby/bin/. Ahora disponemos del comando gem en el PATH que es el que usaremos para buscar, instalar gemas o actualizar.
NOTA: NO DEBEMOS Actualizar rubygems con el siguiente comando hasta que se resuelva el bug, pero serviría para actualizar a la ultima versión.
gem update --system
Con los siguientes comandos podemos ver las gemas instaladas
# gem list # gem list --local
O buscar o listar las remotas
# gem list -r # gem search -r nombregema
Podemos ver un listado de gemas aquí http://rubygems.org/gems
Instalación de Gemas
Ahora instalaremos las gemas necesarias para RedMine
# gem install rails -v=2.3.11 # gem install i18n -v=0.4.2 # gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config # gem install rmagick # gem install passenger
Esto puede tardar un rato. Además, al tener mysql compilado debemos decirle al sistema donde están las librerías de mysql. Para ello creamos un fichero de librerías de mysql y ejecutamos ldconfig. Si no lo hacemos, al ejecutar la instalación de la base de datos con rake en un paso posterior dará error.
# vim /etc/ld.so.conf.d/mysql.conf /usr/local/mysql/lib /usr/local/mysql/lib64 # ldconfig
comprobamos que tenemos instalado los requisitos
# gem list *** LOCAL GEMS *** actionmailer (2.3.11) actionpack (2.3.11) activerecord (2.3.11) activeresource (2.3.11) activesupport (2.3.11) daemon_controller (0.2.6) fastthread (1.0.7) i18n (0.4.2) mysql (2.8.1) passenger (3.0.7) rack (1.1.2, 1.1.0) rails (2.3.11) rake (0.9.2) rmagick (2.13.1)
Instalación de RedMine 1.2.0
Efectivamente, lo que hemos hecho hasta ahora es instalar los prerrequisitos :-D. Ahora vamos a instalar el gestor de proyectos e incidencias
Creamos la base de datos redminedb en mysql 5.5 y el usuario de mysql redmine con todos los permisos para la base de datos. Necesitamos el usuario root de mysql y la contraseña.
# mysql -u root -p -e "create database redminedb character set utf8;" # mysql -u root -p -e "use mysql; grant all privileges on redminedb.* to 'redmine'@'localhost' identified by 'micontraseña';"
Descargamos la versión 1.2.0
# wget http://rubyforge.org/frs/download.php/74944/redmine-1.2.0.tar.gz # tar -xzf redmine-1.2.0.tar.gz
Configuramos el archivo database.yml con los parámetros necesarios de nuestra base de datos.
# cd redmine-1.2.0/config/ # cp database.yml.example database.yml # vim database.yml ... # MySQL (default setup). production: adapter: mysql database: redminedb host: localhost username: redmine_user password: redmine-pass encoding: utf8 ...
En el caso de usar otro puerto, podríamos añadir la directiva port: numpuerto, por ejemplo, port: 3307.
Yo pondré redmine en /var/lib/redmine. El directorio /var/lib/redmine/public es el que contiene el sitio web de redmine y es el que deberemos poner en apache.
# mv /redmine-1.2.0 /var/lib/redmine # cd /var/lib/redmine/
Creamos un almacén de secretos de sesión con rake. Lanzará una serie de warnings sobre opciones obsoletas que ignoramos.
# rake generate_session_store
Creamos la estructura de la base de datos del entorno de producción que creará las tablas y la cuenta de administración por defecto.
# RAILS_ENV=production rake db:migrate
# RAILS_ENV=production rake redmine:load_default_data
rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+)
WARNING: 'task :t, arg, :needs => [deps]' is deprecated. Please use 'task :t, [args] => [deps]' instead.
at /var/lib/redmine/lib/tasks/email.rake:170
Select language: bg, bs, ca, cs, da, de, el, en, en-GB, es, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en] es
====================================
Default configuration data loaded.Configuramos el módulo ruby de apache con passenger
# passenger-install-apache2-module
Pulsamos intro y debemos cumplir los requisitos que nos pida.
Checking for required software...
* GNU C++ compiler... found at /usr/bin/g++
* Curl development headers with SSL support... found
* OpenSSL development headers... found
* Zlib development headers... found
* Ruby development headers... found
* OpenSSL support for Ruby... found
* RubyGems... found
* Rake... found at /usr/local/ruby/bin/rake
* rack... found
* Apache 2... found at /usr/local/apache2/bin/httpd
* Apache 2 development headers... found at /usr/local/apache2/bin/apxs
* Apache Portable Runtime (APR) development headers... found at /usr/bin/apr-1-config
* Apache Portable Runtime Utility (APU) development headers... found at /usr/bin/apu-1-configAñadimos las siguientes lineas al final del fichero de configuración de apache
# vim /usr/local/apache2/conf/httpd.conf # Módulo necesario para redmine y ruby LoadModule passenger_module /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so PassengerRoot /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.7 PassengerRuby /usr/local/ruby/bin/ruby
Comprobamos la sintaxis
# apachectl configtest Syntax OK
El usuario de sistema que usará redmine será daemon y el grupo daemon que es el usuario de apache compilado. Damos los permisos necesarios del sistema a los directorios.
# chown -R root:root /var/lib/redmine
# chown -R daemon:daemon tmp public log files vendor
Creamos un link simbólico que apunte desde el Documentroot de apache al directorio público de redmine.
# ln -s /var/lib/redmine/public /var/www/redmine
Creamos un alias para apache en el fichero de configuración principal.
# vim /usr/local/apache2/conf/httpd.conf Alias /redmine /var/lib/redmine/public RailsBaseURI /redmine <Directory /var/lib/redmine/public> RailsEnv production Options ExecCGI FollowSymLinks Order allow,deny Allow from all AllowOverride all </Directory>
Cambiamos el archivo de configuración para el email añadiendo al final del archivo la parte en negrita. Vosotros deberéis añadir vuestra propia configuración de mail.
# cp -a /var/lib/redmine/config/configuration.yml.example /var/lib/redmine/config/configuration.yml
# vim /var/lib/redmine/config/configuration.yml
...
# specific configuration options for production environment
# that overrides the default ones
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: "localhost"
port: 25
...Por último reiniciamos Apache
# /etc/init.d/httpd restart
Podemos ir a http://localhost/redmine entrar con el usuario admin y contraseña admin por defecto.
Un ejemplo de proyecto
NOTA: Lo primero a hacer debería ser cambiar la contraseña del usuario admin.

0 comentarios:
Publicar un comentario en la entrada