User Tools

Site Tools


informatica:linux:redmine

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatica:linux:redmine [2013/05/30 14:48] javiinformatica:linux:redmine [2016/04/21 18:38] javi
Line 4: Line 4:
  
 Probado en Ubuntu 12.04.2 LTS Probado en Ubuntu 12.04.2 LTS
- 
- 
- 
- 
- 
- 
- 
- 
- 
  
 ===== Instalacion ===== ===== Instalacion =====
Line 32: Line 23:
 2. (OPCIONAL) Instalar paquetes. Los necesitamos si vamos a usar MySQL y RMagick (para manipular PDF y PNG): 2. (OPCIONAL) Instalar paquetes. Los necesitamos si vamos a usar MySQL y RMagick (para manipular PDF y PNG):
  
-  sudo aptitude install libmysqlclient-dev libmagickwand-dev+  sudo aptitude install libmysqlclient-dev imagemagick libmagickwand-dev  
 + 
 +Depende de si tenemos un sistema muy precario: 
 + 
 +  sudo aptitude install make
  
 3. Instalar 'bundler' y las 'gems' requeridas: 3. Instalar 'bundler' y las 'gems' requeridas:
 +
 +3.1 (Opcional, solo para Debian) Instalar paquetes para que no casque la gem de json:
 +
 +  sudo aptitude install ruby-mkrf ruby-dev
 +  
 +3.2. Instalar:
 +
 +**Nuevo (21/4/2016)**
 +<code>
 +sudo aptitude install ruby
 +</code>
 +
 +**Antiguo**
  
 <code> <code>
 sudo aptitude install rubygems sudo aptitude install rubygems
 +</code>
 +
 +<code>
 cd /var/www/redmine cd /var/www/redmine
 sudo gem install bundler sudo gem install bundler
Line 45: Line 56:
 **OJO** si intentamos 'sudo aptitude install rubygems -R' fallara en la instalacion de la gem de json **OJO** si intentamos 'sudo aptitude install rubygems -R' fallara en la instalacion de la gem de json
  
-3.(Opcional)+3.3. (Opcional)
  
 Depende de la version de ruby: Depende de la version de ruby:
Line 105: Line 116:
 Usuario y contrasenya: admin Usuario y contrasenya: admin
  
 +===== Configuracion =====
  
 +==== Field permissions  ====
 +
 +Incidencia:
 +
 +http://www.redmine.org/issues/11887
 +
 +**Objetivo**: establecer que un campo (por ejemplo "Description") sea obligatorio cuando la incidencia llega a un determinado estado ("In progress" por ejemplo) dentro del workflow de un determinado tracker.
 +
 +**Problema**: Si el usuario es "admin" aparentemente nunca se le aplica esta restriccion, no importa al rol o roles que pertenezca
 +
 +{{:informatica:linux:redmine_field_permissions.png|}}
 +
 +**Explicacion**: El comportamiento si el usuario es "admin" no es muy intuitivo. En resumen existe la siguiente regla: el campo ("Description" en la imagen de ejemplo) y el estado ("In progress" en la imagen de ejemplo) tienen que estar marcados como "Required" o "Read-only" para **TODOS** los roles existentes si queremos que se aplique tambien a los usuarios que son "admin".
 +
 +Basta con que un rol no tenga este campo seleccionado, o que a posteriori se anyada un nuevo rol en otro proyecto etc.. para que a los usuarios "admin" no se les aplique la restriccion.
 +
 +**Sugerencia**: Que los usuarios normales del sistema NO sean admins, porque estos heredan los permisos de TODOS los roles, y es un infierno ajustarlos todos. 
 ===== Apache + SSL + redmine ===== ===== Apache + SSL + redmine =====
  
Line 113: Line 142:
 **IMPORTANTE** Seguir las instrucciones siguientes, es mucho mas simple que en las instrucciones de arriba. **IMPORTANTE** Seguir las instrucciones siguientes, es mucho mas simple que en las instrucciones de arriba.
  
-1. Instalar el modulo passenger:+1. Instalar el modulo passenger y habilitarlo:
  
   sudo aptitude install libapache2-mod-passenger   sudo aptitude install libapache2-mod-passenger
 +  sudo a2enmod passenger
 +
 +2. Habilitar modulo SSL:
 +
 +  sudo a2enmod ssl
  
-2. Configurar:+3. Configurar virtualhost:
  
 <code> <code>
Line 155: Line 189:
 **IMPORTANTE** la ruta es /public (/var/www/redmine/public en el ejemplo) **IMPORTANTE** la ruta es /public (/var/www/redmine/public en el ejemplo)
  
-3. Reiniciar apache:+4. Reiniciar apache:
  
   sudo /etc/init.d/apache2 restart   sudo /etc/init.d/apache2 restart
  
-4. Acceder:+5. Acceder:
  
   http://redmine.myserver.com   http://redmine.myserver.com
Line 179: Line 213:
     delivery_method: :sendmail     delivery_method: :sendmail
 </code> </code>
 +
 +**BUG** (http://www.redmine.org/issues/13904): Si usamos ssmtp en lugar de Postfix, la configuracion sera:
 +
 +<code>
 +production:
 +  email_delivery:
 +    delivery_method: :sendmail
 +    sendmail_settings:
 +      arguments: '-i'
 +</code>
 +
  
 2. (COMPROBAR) Creo que es necesario reiniciar el servidor de páginas web, apache en este caso: 2. (COMPROBAR) Creo que es necesario reiniciar el servidor de páginas web, apache en este caso:
Line 206: Line 251:
 </code> </code>
  
 +==== Cambiar URL de los enlaces del correo enviado ====
  
 +Las notificaciones por correo incluyen un enlace URL al ticket que origino la notificacion. Esa URL se construye concatenando protocolo (http o https) + hostname (localhost por defecto) + puerto (3000 por defecto). Para cambiarlo:
  
 +1. Editamos archivo de configuracion:
  
 +  sudo cp /srv/www/redmine/config/settings.yml /srv/www/redmine/config/settings.yml.bak
 +  sudo vim /srv/www/redmine/config/settings.yml
 +
 +Y ajustamos los siguientes parametros:
 +
 +<code>
 +...
 +host_name:
 +  default: redmine.example.com
 +...
 +protocol:
 +  default: https
 +...
 +</code>
 +
 +2. No se si es estrictamente necesario, pero reinicio Apache:
 +
 +  sudo /etc/init.d/apache2 restart
 ===== Autenticacion LDAP ===== ===== Autenticacion LDAP =====
 +
 +==== Basico ====
  
 1. Login como admin 1. Login como admin
Line 233: Line 301:
  
 6. Probar 6. Probar
 +
 +7. Si funciona y queremos mantener los mismos usuarios (opcion recomendable):
 +
 +7.1. Iniciar sesion con un usuario con permisos de administrador (probablemente "admin")
 +
 +7.2. Ir a "Administration/users"
 +
 +7.3. (Para cada uno de los usuarios) pulsar sobre el nombre
 +
 +7.4. (Para cada uno de los usuarios) en el desplegable "Authentication mode" seleccionar LDAP (en nuestro caso aparecera "LDAP de Mi empresa")
 +
 +7.5. (Para cada uno de los usuarios) pulsar "Save"
 +
 +==== Solo login si se pertenece a un grupo ====
 +
 +1. (OpenLDAP server) Enable memberof overlay
 +
 +1.1. Create a file:
 +
 +  vim ~/memberof_add.ldif
 +
 +With below content:
 +
 +<code>
 +dn: cn=module,cn=config
 +objectClass: olcModuleList
 +cn: module
 +olcModulePath: /usr/lib/ldap
 +olcModuleLoad: memberof
 +</code>
 +
 +1.2. Create a file:
 +
 +  vim ~/memberof_config.ldif
 +
 +With below content:
 +
 +<code>
 +dn: olcOverlay=memberof,olcDatabase={1}hdb,cn=config
 +objectClass: olcMemberOf
 +objectClass: olcOverlayConfig
 +objectClass: olcConfig
 +objectClass: top
 +olcOverlay: memberof
 +olcMemberOfDangling: ignore
 +olcMemberOfRefInt: TRUE
 +olcMemberOfGroupOC: groupOfNames
 +olcMemberOfMemberAD: member
 +olcMemberOfMemberOfAD: memberOf
 +</code>
 +
 +1.3. Load them. It will depend on your OpenLDAP configuration, so we will propose some possibilities:
 +
 +  sudo ldapadd -c -Y EXTERNAL -H ldapi:/// -f memberof_add.ldif
 +  sudo ldapadd -c -Y EXTERNAL -H ldapi:/// -f memberof_config.ldif
 +
 +Or:
 +
 +  ldapadd -D cn=admin,cn=config -w "password" -H ldapi:/// -f memberof_add.ldif
 +  ldapadd -D cn=admin,cn=config -w "password" -H ldapi:/// -f memberof_config.ldif
 +
 +A restart is NOT needed if you use dynamic runtime configuration engine (slapd-config).
 +
 +1.4. (Optional) Test it:
 +
 +  ldapsearch -D cn=admin,dc=example,dc=com -x -W -b 'dc=example,dc=com' -H 'ldap://127.0.0.1:389/' '(&(objectClass=posixAccount)(memberOf=cn=ldapredmine,ou=groups,dc=example,dc=com))'
 +
 +2. (OpenLDAP server) Create the group. In this example the user is "ldap_user_1" and the group is "ldapredmine":
 +
 +<code>
 +dn: cn=ldapredmine,ou=groups,dc=example,dc=com
 +cn: ldapredmine
 +description: Staff members allowed to login to redmine ticketing system
 +member: cn=ldap_user_1,ou=people,dc=example,dc=com
 +objectclass: groupOfNames
 +objectclass: top
 +</code>
 +
 +Adjust "dn" and "cn"s to fit to your DIT structure
 +
 +3. (Redmine) Edit the LDAP authentication mode. In my case "ldap_user_1" is a "posixAccount" objectclass:
 +
 +| **Base DN** | dc=example,dc=com |
 +| **Filter** | (&(objectClass=posixAccount)(memberOf=cn=ldapredmine,ou=groups,dc=example,dc=com)) |
  
 ===== Incrementar nivel de logs ===== ===== Incrementar nivel de logs =====
Line 238: Line 390:
 1. Crear el siguiente documento ('/srv/www/redmine' es la ruta a la instancia redmine): 1. Crear el siguiente documento ('/srv/www/redmine' es la ruta a la instancia redmine):
  
-  sudo vim /srv/www/redmine/additional_environment.rb+  sudo vim /srv/www/redmine/config/additional_environment.rb
  
 Con el siguiente contenido: Con el siguiente contenido:
Line 249: Line 401:
 2. Ajustar permisos por si las moscas: 2. Ajustar permisos por si las moscas:
  
-  sudo chown www-data:www-data /srv/www/redmine/additional_environment.rb+  sudo chown www-data:www-data /srv/www/redmine/config/additional_environment.rb
  
 3. Reiniciar apache: 3. Reiniciar apache:
informatica/linux/redmine.txt · Last modified: 2016/04/21 18:47 by javi