Gestión de proyectos con OpenProject
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:
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:
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:
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:
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!
Comentarios Recientes