{{>toc}} h1. RedmineOnSlackware12 h2. Objetivo Esta pretende ser una guia de instalación de Redmine sobre la distribución binaria de Slackware 12. h2. Paquetes Requeridos de la Distribución * d/subversion * d/ruby * n/httpd * ap/mysql * xap/imagemagick h2. Software a instalar # "RubyGems":http://www.rubygems.org/ # "Rake":http://rake.rubyforge.org/ # "Ruby on Rails":http://www.rubyonrails.org/ # "RMagik":http://rmagick.rubyforge.org/ h3. RubyGems Debemos bajar el paquete de instalación desde "aquí":http://rubyforge.org/frs/download.php/34638/rubygems-1.1.0.tgz. Terminada la descarga descomprimimos el paquete y ejecutamos la instalación.
   # tar zxvf rubygems-1.1.0.tgz
   # cd rubygems-1.1.0
   # sudo ruby setup.rb
y probamos si quedo bien instalado
   # sudo gem help list all
h3. Rake Una vez que tenemos rubygems instalado estamos listos para instalar los paquetes que faltan remotamente con @gem@, pero en el caso de Rake ha ocurrido que en algunos equipos falla, así que recomiendo hacerlo de forma local. La descarga del .gem lo pueden hacer desde "aquí":http://rubyforge.org/frs/download.php/29751/rake-0.8.1.gem. En el directorio donde descargamos el paquete ejecutamos:
   # sudo gem install --local rake
Si todo termina bien deberían poder estar ejecutando bien los siguientes comandos:
  # rake --help
  # rake --version
h3. Ruby on Rails Aquí podemos utilizar la forma recomendada en la pagina de "descarga":http://www.rubyonrails.org/down de Ruby on Rails, lo cual no seria necesario descargar ningún paquete:
   # sudo gem install rails --include-dependencies
Finalizado este paso podríamos ejecutar:
  # rails --help
  # rails --version
h3. RMagik Para RMagick lo único que hay que tener en cuenta es que bajo Slackware 12 no compila "RMagick2":http://rmagick.rubyforge.org/rmagick2.html, asi que recomiendo instalar la ultima versión binaria para ruby-1.8.6 de "RMagick1":http://rubyforge.org/frs/shownotes.php?release_id=17512
   # sudo gem install rmagick -v 1.15.12
h2. MySQL Para las personas que no tiene habilitado el servicio de MySQL en su instalación deberán tener en cuenta comentar la linea 27 del script de inicio del motor @/etc/rc.d/rc.mysqld@ para tener conectividad a la Base de Datos en forma remota.
  # su - mysql
  mysql# mysql_install_db
  mysql# exit
  # su -
  root# chown 755 /etc/rc.d/rc.mysqld
  root# . /etc/rc.d/rc.mysqld start
  root# mysql
  mysql> create database redmine character set utf8;
  mysql> GRANT ALL PRIVILEDGES ON redmine.* TO 'yourredmineuser'@'localhost' INDENTIFIED BY 'youraccesspassword';
  mysql> quit;
  root# exit
Esto es lo básico para que funcione bien Redmine, pero no se olviden de establecer la password de root del motor. h2. Instalación de Redmine Aqui recomiendo trabajar sobre el directorio @/srv/www/@ para tener una instalación armoniosa dentro de la distribución, asi ejecutamos:
  # cd /srv/www
  # sudo svn co http://redmine.rubyforge.org/svn/trunk redmine
Luego copiamos el archivo de ejemplo de conexión desde @config/database.yml.example@ hasta @config/database.yml@
  # cd /srv/www/redmine
  # sudo cp config/database.yml.example config/database.yml
y editamos los parámetros según los valores establecidos en el anterior paso, teniendo mucho cuidado de no olvidar agregar la linea al final de la seccion de producción que indica donde va a encontrar el archivo mysql.sock el instalador. Sin este ultimo paso la instalación no funciona.
production:
adapter: mysql
database: redmine
host: localhost
username: yourredmineuser
password: youraccesspassword
socket: /var/run/mysql/mysql.sock
A partir de aquí podemos seguir los "lineamientos de instalación":http://www.redmine.org/wiki/redmine/RedmineInstall#3 desde la pagina de instalación de Redmine a partir del punto 4. h2. Configuración del entorno con Apache+Mongrel Gran parte de los siguientes "lineamientos":http://www.redmine.org/wiki/redmine/HowTo_run_Redmine_with_a_Mongrel_cluster expuestos a continuación se extrajeron de la "guia publicada en este site en la sección de HOWTO's":http://www.redmine.org/wiki/redmine/HowTo_run_Redmine_with_a_Mongrel_cluster. Lo primero que se debe hacer es verificar que nuestro servidor apache tenga los siguiente módulos habilitados, asi que nos dirigimos al @/etc/httpd/httpd.conf@ y verificamos que las lineas descriptas a continuación esten descomentadas:
  [..]
  LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so
  LoadModule proxy_module lib/httpd/modules/mod_proxy.so
  LoadModule proxy_http_module lib/httpd/modules/mod_proxy_http.so
  LoadModule proxy_balancer_module lib/httpd/modules/mod_proxy_balancer.so
  [..]
  Include /etc/httpd/extra/httpd-vhosts.conf
  [..]
El paso siguiente sera instalar "Mongrel":http://mongrel.rubyforge.org/ a traves de gem:
  sudo gem install mongrel mongrel_cluster daemons
Configuramos el cluster de mongrel para Redmine, para no tener problemas de permisos de usuario, lo que debemos hacer antes de configurar el cluster es darle permisos al usuario sobre la instalación de redmine, asi ejecutamos:
  # cd /var/www
  # sudo chown -R apache.apache redmine
  # cd redmine
  # sudo chmod 0666 log/production.log
  # sudo mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /var/www/redmine --user apache --group apache
Luego creamos un script de inicio para el cluster en @/etc/rc.d/rc.redmine@ que puede ser algo asi:
#!/bin/sh
#
# To prevent "Can't open file '/root/.subversion/servers'" on
# mongrel log we try to temporally change de HOME envvar .
#
#
# by Claudio D'Amico

CWD=`pwd`
TMP=${TMP:-/tmp}
OLDHOME=`echo $HOME`
REDMINEINSTALL="/var/www/redmine"

export HOME=$TMP

cd $REDMINEINSTALL

case "$1" in
  'start')
      mongrel_rails cluster::start
  ;;
  'stop')
      mongrel_rails cluster::stop
  ;;
  'restart')
      mongrel_rails cluster::restart
  ;;
  'status')
      mongrel_rails cluster::status
  ;;
  *)
    echo "Usage: $0 {start|stop|restart|status}"
  ;;
esac

cd $CWD

export HOME=$OLDHOME
A continuación editamos el archivo @/etc/httpd/extra/httpd-vhost.conf@ y lo configuramos segun esta "guia":http://www.redmine.org/wiki/redmine/HowTo_run_Redmine_with_a_Mongrel_cluster. Luego de reiniciar apache deberíamos tener redmine funcionando en nuestro "localhost":http://localhost/. Enjoy!