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:
apt-get install git curl
Las dependencias necesarias para las gems de Ruby:
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:
apt-get install libmagickwand-dev libmagickcore-dev libmagickcore4-extra libgraphviz-dev libgvc5
Instalamos el servidor MySQL (la otra alternativa es usar PostgreSQL)
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.
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.
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.
su openproject -c "bash -l"
Accedemos al directorio de trabajo del usuario.
cd ~
Instalamos Ruby Version Manager (RVM)
Nos permitirá trabajar con diferentes versiones de Ruby.
gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
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.
rvm autolibs disable
rvm install 2.1.0
Instalamos Bundler
gem install bundler
Verificamos la instalación comprobando la versión:
bundle --version
Clonamos el repositorio OpenProject
git clone https://github.com/opf/openproject.git
cd openproject
git checkout stable
Iniciamos Bundler para instalar todas las gemas
bundle install
o el siguiente comando si no instalamos rmagick
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:
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:
# 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:
rails_cache_store: :memcache
Creamos las bases de datos:
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)
nano Gemfile.plugins
gem "openproject-plugins", "~> 1.0.2", :branch => 'stable'
Instalamos el plugin:
bundle install
Arrancamos OpenProject
Para iniciar el servicio lo haremos con el comando:
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!