En este artículo vamos a ver cómo instalar Redmine 3.2 en Xampp. Si recordamos Xampp es una equeña aplicación que incluye servidor Apache, PHP y MySQL de manera conjunta y ya preconfigurada para que podamos disponer de un servidor web sin necesidad de realizar apenas configuración.
Aunque lo ideal sería instalar nuestra herramienta de Gestión de Proyectos Redmine en un servidor Linux, puede sernos muy útil para los que desarrollamos sobre Windows instalar nuestro entorno sobre este tipo de plataformas.
Resumo los pasos que habría que dar. Al final del artículo tenéis una recopilación de los posibles problemas que os podéis encontrar en alguno de los pasos.
También te puede interesar:
→ Redirigir redmine del puerto 3000 al 80 por Apache
→ Configurar repositorio SVN Redmine
→ Diagrama entidad relación de Redmine realizado con MySQL Workbench
→ Cómo instalar Xampp con Ruby on Rails para Redmine
Tabla de contenidos
- 1 Pasos a realizar para instalar Redmine
- 2 Instalar previamente
- 3 Instalación de Ruby 2.1
- 4 Instalación de Development-Kits
- 5 Instalación de gemas necesarias
- 6 Pasos para Instalar de Redmine
- 7 Descargar y desplegar Redmine
- 8 Creación de la BBDD
- 9 Configurar la cadena de conexión a la BBDD
- 10 Instalación de dependencias
- 11 Generación de Token para protección de las claves
- 12 Creación de esquema de Base de Datos
- 13 Cargar datos básicos en la Base de Datos
- 14 Arrancar Servidor Web
- 15 Acceso a Redmine
- 16 Otras configuraciones
- 17 Posibles problemas que podemos tener
Pasos a realizar para instalar Redmine
- Crear BBDD de MySQL para Redmine
- Instalar Ruby
- Instalar DevKits
- Instalar gemas: json 1.8.3 y redcarpet 3.3.2
- Instalar gema: Bundler
- Ejecutar instalador de Redmine: bundle install --without development test rmagick
Instalar previamente
Tanto Ruby, como DevKits deben de ser de la misma arquitectura, 32 o 64 bits y hay que coger la versión en la que todos sean compatibles.
- Ruby 2.1.7 (32bits) installer: http://rubyinstaller.org/downloads/
- Development-Kit compatible con Ruby 2.1.7: http://rubyinstaller.org/downloads/
- Rails 4.2 (Se puede instalar usando este comando, gem install rails -v '4.2', pero el instalador de Redmine ya lo hace él solo por lo que no es necesario que hagamos nada.)
La versión de Ruby 2.2 me dio problemas en la instalación de Development Kits. Me fue imposible instarlarlo todo con esa versión.
Después probé con la versión 1.9.3 de Ruby, pero parece que para mejorar compatibilidades con otras gemas tiene una carpeta de gemas de ruby 1.9.1 y estas son incompatibles con la gema de Redcarpet. Por dicho motivo, tampoco pude completar una instalación satisfactoria con esta versión de Ruby. Al final, la única con que la pude completar la instalación fue con Ruby 2.1.7.
Instalación de Ruby 2.1
- Descargar Ruby 2.1 de 32 bits installer e instalarlo en d:\xampp\ruby21
- Crear las variables de entorno.
- Añadir al PATH de windows la ruta: d:\xampp\ruby21\bin
- Añadir al PATH de windows la ruta: d:\xampp\DevKits\bin
- Comprobar que está correctamente instalado Ruby ejecutando el comando: ruby -v
Instalación de Development-Kits
Los pasos que voy a seguir están basadas en las instrucciones originales de https://github.com/oneclick/rubyinstaller/wiki/Development-Kit
Descargamos las Development Kits y las descompromimos en d:\xampp\DevKits
Si tenemos un SO de 64 bits hay que modificar previamente el fichero d:\xampp\DevKitsdk.rb ya que tiene un BUG. Corregir la variable REG_KEYS con estos valores:
# variable corregida para sistemas de 64 bits
REG_KEYS = [
'SoftwareRubyInstallerMRI',
'SoftwareRubyInstallerRubinius',
'SoftwareWow6432NodeRubyInstallerMRI'
]
Ahora ejecutamos el siguiente comando desde d:\xampp\DevKits:
ruby dk.rb init
Este comando nos detectará todas las versiones de Ruby que tengamos instaladas en nuestro sistema. Deberemos modificar el fichero config.yml para que solo contenga la versión de Ruby que nos interese.
Una vez configurado el fichero config.yml, ya podemos realizar el paso que instala las Develpment Kits, ejecutando el comando:
ruby dk.rb install
Instalación de gemas necesarias
Ahora ya podremos ejecutar el siguiente comando para instalar la gema de JSON y comprobar a la vez que DevKits está instalado correctamente:
gem install json -v '1.8.3' --platform=ruby
Instalamos la gema Redcarpet:
gem install redcarpet -v '3.3.2'
Pasos para Instalar de Redmine
Ya tenemos todo lo necesario. Nuestro sistema ya instalado Ruby On Rails y podemos comenzar con la instalación de nuestro sistema de Gestión de Proyectos con Redmine.
Los pasos aquí descritos están basados en las instrucciones originales de la web de Redmine donde incluyo mis anotaciones propias donde me han surgido problemas que no vienen en dichas instrucciones.
Descargar y desplegar Redmine
Seguimos las instrucciones originales de Redmine:
http://www.redmine.org/projects/redmine/wiki/RedmineInstall
Descargamos el zip de Redmine y lo descomprimos en d:\xampp\htdocs\redmine-3.2.0
Creación de la BBDD
Arrancamos Xampp, con su Apache y MySQL.
Creamos la BBDD desde PHPMyAdmin.
Si queremos hacerlo por comandos:
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
Si nuestro MySQL es anterior a la versión 5.0.2 nos podemos saltar el comando CREATE USER y ejecutar este:
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'my_password';
Configurar la cadena de conexión a la BBDD
Actualizar el fichero de BBDD de Redmine con el nombre que hayamos usado: /config/database.yml en la entrada de "production" que utiliza la librería mysql2.
production:
adapter: mysql2
database: redmine3
host: localhost
username: root
password: root
encoding: utf8
Instalación de dependencias
Redmine usa Bundler para poder resolver las dependencias entre gemas. Para ello necesitamos instalarlo ejecutando el comando:
gem install bundler
Ahora tenemos que colocarnos bajo el directorio donde vamos a publicar nuestro Redmine. En nuestro caso en:
d:xampphtdocsredmine-3.2.0
Como no hemos instalado la gema de IMageMagick ejecutamos el comando:
bundle install --without development test rmagick
Si nos da problemas, podemos seguir las instrucciones la Wiki de Redmine:
- Instalar paquete .exe
- Configurar variables de entorno CPATH y LIBRARY_PATH
- Ejecutar "bundle install"
Generación de Token para protección de las claves
Este paso genera un Token aleatorio para que se utilizará para la generación de las cookies que almacenan la sesión de los usuarios. Es utilizado por Rails y previene de accesos malintencionados. Si generamos un nuevo Token invalidaremos todas las sesiones abiertas, pero esto requiere un reinicio del servidor.
Desde Redmine 2.x se hace mediante el comando:
bundle exec rake generate_secret_token
Creación de esquema de Base de Datos
Crear la variable de entorno:
set RAILS_ENV=production
y ejecutar el siguiente comando desde la carpeta de redmine para crear la estructura de BBDD:
bundle exec rake db:migrate
No hay foto ya que el log generado es muy extenso.
Cargar datos básicos en la Base de Datos
Redmine necesita de un conjunto de datos básicos para poder funcionar. Hay que lanzar el siguiente comando para que realice los inserts necesarios en nuestra base de datos.
bundle exec rake redmine:load_default_data RAILS_ENV=production
El sistema nos preguntará en qué idioma vamos a utilizar la aplicación. Instroducimos "es" de Español y cargará los datos básicos de configuración en ese idioma.
Y con eso es todo. ya tenemos instalado nuestro Redmine por completo.
Podemos sacar una foto de la configuración general de nuestro sistema si ejecutamos el comando:
gem env
Arrancar Servidor Web
Para el caso de Redmine 3.x debemos lanzar desde consola el siguiente comando:
bundle exec rails server webrick -e production
Yo por ejemplo, como nunca recuerdo de memoria el comando, me he creado un archivo BAT en el rail de mi Redmine, así cuando levanto la base de datos desde el panel de control de Xampp, ejecuto también mi BAT.
Acceso a Redmine
Introducir en el navegador la url:
localhost:3000
Usuario y contraseña por defecto es admin / admin
Otras configuraciones
Otros elementos que seguramente nos insterese configurar serán:
- Configurar email en el fichero configconfiguration.yml en la variable email_delivery.
- Configurar carpeta de adjuntos de los tickets en configconfiguration.yml en la variable attachments_storage_path.
Posibles problemas que podemos tener
No descarga paquetes con SSL
Si tenemos errores con SSL puede ser que se deba a problemas que tengamos en nuestra red. Para ello deberemos habilitar la posibilidad de descargar gemas sin SSL eliminando (con -r) el repositorio HTTPS y añadiendo (con -a) el repositorio HTTP,
gem sources -r https://rubygems.org/ - to temporarily remove secure connection
gem sources -a http://rubygems.org/ - add insecure connection
Ahora actualizaremos el listado de gemas que podemos decargar con el comando:
gem update --system
O si seguimos teniendo problemas con el SSL podemos usar este otro:
gem update --system --source http://rubygems.org/
Y ya podremos ejecutar nuevamente el comando que nos daba problemas.
Dependencias al ejecutar bundle install
Puede que a ejecutar el comando bundle install este no termine correctamente y nos pida ejecutar estos dos comandos para que el comando pueda ejecutarse completamente:
gem install rack-openid -v '1.4.2'
gem install actionview -v '4.2.7.1'
Error al instalar gemas
Could not find a valid gem in any repository
Esto se puede deber a que no tenemos ningún repositorio configurado en nuestra instalación de Ruby. Para comprobarlo lanzamos el siguiente comando:
gem sources
Si no sale nada tendremos que añadir un repositorio de la siguiente manera:
gem sources --add http://rubygems.org/
Si probamos de nuevo a instalar las gemas, ya no debería darnos ningún error.
Error: dl is deprecated please use fiddle
Se muestra el error pero al final acaba ejecutándose el comando db:migrate. Se trata solo de un warning. Puede que en un futuro haya que ejecutar otro comando para instalar la BBDD.
Todo bien, pero no me reconoce MSDOS la palabra gem, para instalar las gemas
Comprueba que tienes bien las variables de entorno. La web me ha borrado las barras \ en las rutas de los ficheros. Lo corrijo. Un saludo.
Buenos dias Javier,
Primero de todo gracias por el manual, esta bastante bien.
Tengo un problema cuando tengo que instalar el comando "bundle install --without development test rmagick"
al final del todo no termina porque da error al instalar nokogiri 1.8.1 porque dice que necesita la versión de ruby = 2.2 ; la conclusión que saco es que necesitamos la versión 2.2 de ruby o usted realizo algun paso mas que no esta en el manual.
Mi pregunta es, ¿si usted ha creado este manual instalando la versión de ruby 2.1.7 como es que ha podido realizar todos los pasos?
Gracias.
Buenas Ramón. Puede que algún comando haya resuelto alguna dependencia y se haya descargado alguna librería que ahora esté más actualizada y que de ahí te de el error. Cuando hice la instalación, como puedes ver en las capturas de pantalla, no tuve ningún problema. Creo que el problema puede ser ese, que ahora se descargue alguna librería más actualizada y que exija ahora la versión 2.2 de Ruby. El tutorial lo hice con la versión 2.1.7 porque era incapaz de que me funcionara con la 2.2. Puede que ahora esté más depurado y haya nuevas versiones de las librerías y ya funcione. Tendría que volver a probarlo. Un saludo y gracias por el aviso.
Hola de nuevo Javier,
Finalmente he podido instalar todo con otra versión de ruby y ya estoy configurando Redmine.
Ahora tengo una duda de como hacerlo, quiero acceder al redmine desde otro pc de la red local de la empresa y no lo consigo, siempre me carga la pagina principal del apache pero no Redmine, ¿me podrias decir como hacerlo?
Gracias!!!
Me alegro que lo hayas conseguido. En principio, si en local te funciona con la url localhost:3000, desde otra máquina te debería funcionar con la url ip_redmine:3000. Donde ip_redmine es la IP de la máquina donde tienes instalado el redmine. No debería de abrirte la página principal del apache. ¿Estás probando con la url correcta? Un saludo.
Hola Javier,
Sí, estoy probando con la IP correcta porque si no le pongo nada o le pongo el 80 me carga la pagina principal de apache.
Ahora bien, he encontrado este otro post tuyo y he seguido los pasos, no me ha funcionado.
https://www.javierrguez.com/redirigir-redmine-del-puerto-3000-al-80-por-apache/
El caso es que antes de modificar los ficheros he realizado una copia de los mismos pero ahora los cambios que le he echo al fichero HTTPD.CONF los he perdido, se que algunas de las lineas siguientes deben llevar una # delante pero no recuerdo cuales. El problema ahora es que al poner el puerto 3000 no carga nada, termina dando un error, en cambio en local si funciona.
Las lineas a modificar eran estas:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
¿me podrias decir cuales son?
Hola Ramón. No te sabría decir la configuración por defecto. Lo mejor es que te descargues la misma versión del Xampp que estás utilizando y restaures el fichero. Este otro tutorial que dices es para redirigir desde el puerto 3000 al 80. Eso yo lo haría cuando ya tengas fina la instalación. Si al entrar con la url y por el puerto 3000 te da error, puede ser porque no hayas arrancado el Redmine. Debes arrancar tanto el MySQL, como Apache como el Ruby. Ejecuta el comando del paso "Arrancar Servidor Web". Se te abre una ventana de consola, y debes dejarla abierta.
Hola Javier,
Si instalo de nuevo el paquete XAMP que lo tengo descargado tendré que configurar de nuevo todo? o es mejor que lo instale en una maquina aparte y coja solo ese fichero?
Por otra parte, en local funciona todo, tengo arracando tanto Apache como MySql como Ruby a traves de la consola como dice el post. Yo tambien he creado un .bat para que se inicie con windows.
Me refería a que te bajaras el Xampp versión ZIP y cogieras los ficheros que necesites para ver la configuración original. No para que lo reinstales, es que sino lo tienes que instalar todo de nuevo. Por lo que me comentas lo tienes bien instalado. Creo que me acaba de venir a la cabeza el problema que comentas. Cuando yo lo instalé en un Windows 2016 Server creo que tuve el mismo problema que tu. Por eso hice el tutorial para que publicara por el puerto 80 en vez del 3000, porque el puerto 3000 no fui capaz de abrirlo en Windows y no accedía desde otra máquina. Vas a tener que configurarlo siguiendo el tutorial para que publique por el puerto 80. Coge el fichero original de Xampp y vuelve a configurarlo según el tutorial a ver si te funciona por el puerto 80, pero sin reinstalar Xampp. Saludos.
De acuerdo Javier, voy a descargar el zip de xampp.
Gracias, ya te cuento 😉
Hola javier como estas? al intentar acceder de otra pc me emite esto sabes como puedo solucionarlo?
El servidor web informó que se produjo un error al intentar acceder al sitio web. Haga clic aquí para volver a la página anterior.
URL: ip_redmine:3000/
La IP del cliente y del servidor es la misma.
Hola Sebastian. ¿Desde otro pc o desde el mismo? Pones la misma ip cliente que la ip del servidor. Independientemente de la instalación, comprueba primero que tienes acceso al Apache por el puerto 80 para decartar problemas de red. ¿Accediendo como localhost te funciona? Un saludo.
Hola javier, desde el mio funciona perfectamente de localhost, y si al apache tengo acceso por el puerto 80 por lo que puedo ver. Me es imposible ingresar desde otra pc que estan en red. Con testlink no tengo ningun problema, solo surge con redmine.
Tendras algun mail para comunicarme. Te dejo el mio si podes asi me das una mano sebastian.villalonga01@gmail.com
desde ya muchas gracias
Saludos
Hola Sebastián. Te respondo primero por aquí porque creo saber cuál es tu problema. Te cuento lo que me pasó a mi una vez por si es lo mismo. Yo lo monté una vez en un Windows Server y el problema que tenía para acceder desde otra máquina es que por defecto el puerto 3000 está cerrado en Windows. Intenté miles de formas de abrirlo en el firewall de Windows pero me fue imposible. El único puerto que me funcionaba era el 80. Por eso, hice este otro artículo donde explico cómo publicar redmine por el puerto 80 en vez de hacerlo por el 3000. Fue la única solución que encontré para mi caso y creo que a ti te está ocurriendo lo mismo. Si no es lo mismo, seguro que es parecido. Puede que tengas el puerto 3000 cerrado. Para comprobarlo haz un telnet desde la otra máquina. Un saludo, Javier.
Hola Espero me puedas ayudar, segui tus pasos para instalar la versión más reciente de redmine pero tengo problemas para que cargue lleva casi 15 minutos de que entre al pero no tiene respuesta.
En ninguno de los pasos obtuve errores
Espero aun me puedas apoyar...
Mira en los logs a ver si aparece algún error. La última versión no la he instalado en Xampp. Puede que tengas que actualizar la versión de Ruby. Mira los requisitos de la última versión. A lo mejor tienes que cambiar algo. Un saludo, Javier.