Gestión de proyectos con OpenProject

openproject-dsing-800

La gestión de proyectos en las empresas e incluso para los trabajadores autónomos es clave. OpenProject es un sistema de gestión de proyectos que funciona a través de la web, que de ésta manera permite a múltiples usuarios, independientemente de su localización, participar y gestionar los proyectos. OpenProject es software libre, utiliza la Licencia Pública General GNU, y sus desarrollo es continuo desde la comunidad.


¿Qué ofrece OpenProject?

  • Gestión de proyectos
  • Gestión de problemas e incidencias
  • Plazos de los proyectos
  • Wiki
  • Gestión documental
  • Foro
  • Muchas otras características

¿Quién hay detrás de OpenProject?

La Fundación OpenProject se creó en el año 2012. La fundación ofrece un marco organizativo y técnico, ya que gran parte desarrollo se realiza desde una comunidad a nivel mundial.

 

¿Cómo lo instalamos en un servidor GNU/Linux?

Para el artículo he usado un servidor Ubuntu Server 14.04, antes de instalar el software debemos de cumplir con los requisitos, que son:

  • Ruby 2.1.0
  • Git
  • Bundler
  • Base de datos MySQL 5.x o PostgreSQL 8.x

Instalamos los paquetes:

1
apt-get install git curl

Las dependencias necesarias para las gems de Ruby:

1
apt-get install build-essential libxslt-dev libxml2-dev libmysql-ruby libmysqlclient-dev libpq-dev libsqlite3-dev libyaml-0-2

Habilitamos OpenProject para generar imágenes:

1
apt-get install libmagickwand-dev libmagickcore-dev libmagickcore4-extra libgraphviz-dev libgvc5

Instalamos el servidor MySQL (la otra alternativa es usar PostgreSQL)

1
sudo apt-get install mysql-server

Nos pedirá de crear una contraseña de root para el servidor de base de datos:

openproject-captura-1

Instalamos el servidor de caché memched, no es obligatorio pero si recomendable para entornos en producción.

1
sudo apt-get install memcached

Creamos usuario y grupo openproject

Se recomienda un usuario y grupo separado para openproject, sobre todo en entornos de producción, no sería necesario para un entorno de desarrollo o test.

1
2
3
groupadd openproject
useradd --create-home --gid openproject openproject
passwd openproject # (la contraseña que queramos)

A partir de éste punto continuaremos la instalación con el usuario openproject recién creado. De ésta manera todos los ficheros y directorios creados serán asignados a éste usuario.

1
su openproject -c "bash -l"

Accedemos al directorio de trabajo del usuario.

1
cd ~

 

Instalamos Ruby Version Manager (RVM)

Nos permitirá trabajar con diferentes versiones de Ruby.

1
gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
1
2
curl -L https://get.rvm.io | bash -s stable
source $HOME/.rvm/scripts/rvm

Nos resultará algo similar a la siguiente imagen:

 

openproject-captura-2

 

Instalamos Ruby usando RVM

Deshabilitamos rvm autolibs, ya que no necesitamos privilegios para instalar Ruby.

1
2
rvm autolibs disable
rvm install 2.1.0

Instalamos Bundler

1
gem install bundler

Verificamos la instalación comprobando la versión:

1
bundle --version

 

Clonamos el repositorio OpenProject

1
2
3
git clone https://github.com/opf/openproject.git
cd openproject
git checkout stable

 

Iniciamos Bundler para instalar todas las gemas

1
bundle install

o el siguiente comando si no instalamos rmagick

1
bundle install --without rmagick

Al terminar la instalación veremos la siguiente imagen:

 

openproject-captura-3

Esto significa que todo ha ido bien hasta aquí.

 

Configuramos la base de datos con MySQL

Creamos base de datos y datos de usuario:

1
2
3
CREATE DATABASE openproject CHARACTER SET utf8;
CREATE USER 'openproject'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON openproject.* TO 'openproject'@'localhost';

 

Debemos de crear también la base de datos openproject_development y openproject_test, asignado los privilegios al usuario openproject.

Configuramos OpenProject

Copiamos config/database.yml.example a config/database.yml

Edita database.yml, con el nombre de la base de datos y las credenciales.

Tenemos que crear una cuenta de correo para los avisos de openproject. En el ejemplo está usando una cuenta de gmail.

Copiamos config/configuration.yml.exaple a config/configuracion.yml

Editamos el archivo con una configuración similar a la siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# default configuration options for all environments
default:
  # Outgoing emails configuration (see examples above)
  email_delivery:
    delivery_method: :smtp
    perform_deliveries: true
    smtp_settings:
      address: smtp.gmail.com
      port: 587
      enable_starttls_auto: true
      domain: "gmail.com" 
      authentication: :login
      user_name: "yourgmailaccountname”
      password: "yourpassword"

Añadimos la línea:

enable_starttls_auto: true

Habilitamos memcached:

1
rails_cache_store: :memcache

Creamos las bases de datos:

1
bundle exec rake db:create:all

Nos dirá que las bases de datos ya existen.

 

Instalando Plugins (opcional)

Crearemos un fichero llamado Gemfile.plugins y en él añadiremos los plugins que queramos utilizar. (Más info)

1
2
nano Gemfile.plugins
gem "openproject-plugins", "~> 1.0.2", :branch => 'stable'

Instalamos el plugin:

1
bundle install

 

Arrancamos OpenProject

Para iniciar el servicio lo haremos con el comando:

1
bundle exec rails server

Ya nos podemos ir a nuestro navegador, y escribir http://localhost:3000

El usuario y contraseña por defecto son admin.

Y ya lo tenemos funcionando:

openproject-captura-5

En la próxima parte instalaremos el módulo passenger, que junto con Apache2 nos permitirá usar OpenProject a través del puerto 80.

See you soon!

 

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.