Instalacion Huarpe

Sergio estamos instalando Huarpe, cumplimos todos los requisitos previos y cuando ejecutamos “composer install --no-dev” del instructivo de instalacion nos da los siguientes errores

Problem 1
- Installation request for simplesamlphp/saml2 dev-master → satisfiable by simplesamlphp/saml2[dev-master].
- simplesamlphp/saml2 dev-master requires ext-dom * → the requested PHP extension dom is missing from your system.
Problem 2
- Installation request for simplesamlphp/simplesamlphp dev-master → satisfiable by simplesamlphp/simplesamlphp[dev-master].
- simplesamlphp/simplesamlphp dev-master requires ext-dom * → the requested PHP extension dom is missing from your system.
Problem 3
- simplesamlphp/simplesamlphp dev-master requires ext-dom * → the requested PHP extension dom is missing from your system.
- hslavich/simplesamlphp-bundle dev-master requires simplesamlphp/simplesamlphp dev-master → satisfiable by simplesamlphp/simplesamlphp[dev-master].
- Installation request for hslavich/simplesamlphp-bundle dev-master → satisfiable by hslavich/simplesamlphp-bundle[dev-master].

Como seguimos?

Saludos

Marisa

Hola Marisa,

Básicamente, les está diciendo el sistema que necesitan instalar la extensión DOM de PHP (la frase the requested PHP extension dom is missing from your system lo indica, es una validación que está en el propio composer).

No lo habíamos agregado como un requerimiento explícito al Huarpe ya que esa extensión viene habilitada por defecto con los paquetes de debian/ubuntu (ej. php5-cli, libapache2-mod-php5). Lo agrego a la documentación ahora… Uds. deberían instalarlo y/o habilitar esa extensión en el php de su sistema.

Saludos!

Pregunto por el ultimo paso de la instalacion (la sincronizacion)

“Sincronizar con Arai-Usuarios la aplicación”
“Es indispensable, volver a ejecutar la sincronización en Araí-Usuarios con Araí-Registry, para que nos reporte la nueva aplicación disponible (en este caso SIU-Huarpe).”

Al correr : ${ARAI_USUARIOS_DIR}/bin/arai-cli registry:add \ --maintainer-email email@institucion.edu.ar \ --maintainer “nombre responsable”
${ARAI_REGISTRY_URL}

Obtengo:
Ya existe un archivo de lock. Si continúa se perderá la configuración actual

[u]¿Debo borrar ese archivo lock?

¿Debo borrar otra cosa?[/u]

Muchas gracias

Saludos!

Javier Bonfanti
UNR

Hola Javier,

Este error te da cuando ya se intentó registrar una vez (y existe el archivo arai.lock). Hay una opción para el comando de arai-cli registry:add que permite sobreescribir este archivo, –force-register=yes, agregalo al final cuando lo ejecutes.

En el caso de que ya lo tengas registrado, bien con todos los datos, deberías poder hacer un arai-cli registry:sync correctamente.

Al correr el comando junto con “–force-register=yes” me aparece:
Ya existe un archivo de lock. Si continúa se perderá la configuración actual
Notice: Undefined index: CN

Y me queda:
| ID Instancia | Nombre | Descripción |
±--------------------±------------------±------------------+
| siu/huarpe_1 | siu/huarpe | SIU-Huarpe Core |
| siu/arai-usuarios_1 | siu/arai-usuarios | SIU-Arai Usuarios |

Pero al ejecutar: ${HUARPE_PATH}/bin/arai-cli registry:sync
Obtengo:
No existe un archivo de lock en este path: ‘/opt/huarpe-core/arai.lock’. Probablemente no se hizo la registración en Araí
¿Qué seria ese mensaje?

Otra pregunta
¿Cómo accedo a huarpe? ¿Es mediante la url que defini mas el alias, en este caso: https://huarpe.unr.edu.ar/simplesaml ?

Muchas gracias

Javier Bonfanti
UNR

Tal parece que no quedó bien la sincronización con Registry. Probemos eliminar y volver a empezar.

  • elimina la aplicación en registry, con el comando ./bin/console packages:remove siu/huarpe_1
  • eliminá el archivo arai.lock del directorio de huarpe
  • ejecutá el add/sync de nuevo en el Huarpe

El tema es así, cada aplicación que se registra, queda en Registry, luego tiene que funcionar el sync si o sí.

Huarpe lo accedes por la url que configuraste en la variable HUARPE_URL y que sería tmb el nombre del servidor donde esté instalado huarpe. Para ver como configurar Apache, se les proporciona un archivo de alias.conf que pueden incluirlo o tomarlo de ejemplo. “simplesaml” es el alias del servicio interno de Huarpe, que se conecta al IDP que está en Arai-Usuarios.

Hola, logre hacer todo.
Tengo un problema con acceder al portal.
Tengo un entorno de desarrollo, todo en la misma pc (arai-registry, arai-usuarios y huarpe-core)
¿ Es correcto dejar el alias.conf de huarpe así con el alias /huarpe?

(Hago el include de este alias.conf a mi httpd.conf)
DocumentRoot /opt/huarpe-core/web
Alias /huarpe “/opt/huarpe-core/web”
<Directory /opt/huarpe-core/web>
AllowOverride All
Require all granted

Alias /simplesaml /opt/huarpe-core/vendor/simplesamlphp/simplesamlphp/www
<Directory /opt/huarpe-core/vendor/simplesamlphp/simplesamlphp/www>
Require all granted

Ya que al ingresar a url/huarpe/portal
Obtengo:

500
Se ha producido un error inesperado
Intente en otro momento o contáctese con el administrador.

Gracias,
Javier Bonfanti
UNR

Hola Javier, buenísimo ya estamos mas cerca.

Mirá el tema es el siguiente, no hay forma de diferenciar el host de Arai-Usuario del de Huarpe, no lo probé pero si hay dramas con los clientes SSL esto puede ser el culpable. Por lo que te recomiendo hacelo todo local pero con diferentes virtualhost y cada uno con un servername específico, de ultima en tu pc definís nombres ficticios (en /etc/hosts) que luego tenes que utilizar en los certificados SSL cuando los construyas. No es fácil esto.

Bien. Una forma rápida es que accedas a Huarpe y en la url pongas https://url.huarpe.com/[b]app_dev.php[/b] para acceder al modo desarrollador/depuración. Si hay errores (que los hay, por eso el 500) los vas a ver en pantalla (también los podes ver en el archivo de logs del apache y el de la aplicación).

Hola Sergio, instale huarpe en otra pc, para ajustarme al instalador.
Pero sigo teniendo el error 500.
Si bien en el caso anterior no podia acceder a /app_dev.php, pero en este casi si. donde me tira la siguiente traza de error:

[1] Symfony\Component\Debug\Exception\ContextErrorException: Notice: Memcache::get(): Server 127.0.0.1 (tcp 11211) failed with: Connection refused (111)
at n/a
in /opt/huarpe-core/vendor/simplesamlphp/simplesamlphp/lib/SimpleSAML/Memcache.php line 50

at Symfony\Component\Debug\ErrorHandler->handleError('8', 'Memcache::get(): Server 127.0.0.1 (tcp 11211) failed with: Connection refused (111)', '/opt/huarpe-core/vendor/simplesamlphp/simplesamlphp/lib/SimpleSAML/Memcache.php', '50', array('key' => 'simpleSAMLphp.session.2990675970e6653db2d892ac55192dbb', 'latestInfo' => null, 'latestTime' => '0', 'latestData' => null, 'mustUpdate' => false, 'allDown' => true, 'server' => object(Memcache)))
    in  line 

at Memcache->get('simpleSAMLphp.session.2990675970e6653db2d892ac55192dbb')
    in /opt/huarpe-core/vendor/simplesamlphp/simplesamlphp/lib/SimpleSAML/Memcache.php line 50

at SimpleSAML_Memcache::get('simpleSAMLphp.session.2990675970e6653db2d892ac55192dbb')
    in /opt/huarpe-core/vendor/simplesamlphp/simplesamlphp/lib/SimpleSAML/Store/Memcache.php line 45

at SimpleSAML\Store\Memcache->get('session', '2990675970e6653db2d892ac55192dbb')
    in /opt/huarpe-core/vendor/simplesamlphp/simplesamlphp/lib/SimpleSAML/SessionHandlerStore.php line 52

at SimpleSAML_SessionHandlerStore->loadSession('2990675970e6653db2d892ac55192dbb')
    in /opt/huarpe-core/vendor/simplesamlphp/simplesamlphp/lib/SimpleSAML/Session.php line 337

at SimpleSAML_Session::getSession()
    in /opt/huarpe-core/vendor/simplesamlphp/simplesamlphp/lib/SimpleSAML/Session.php line 253

at SimpleSAML_Session::getSessionFromRequest()
    in /opt/huarpe-core/vendor/simplesamlphp/simplesamlphp/lib/SimpleSAML/Auth/Simple.php line 60

at SimpleSAML_Auth_Simple->isAuthenticated()
    in /opt/huarpe-core/vendor/hslavich/simplesamlphp-bundle/Security/SamlAuthenticator.php line 29

at Hslavich\SimplesamlphpBundle\Security\SamlAuthenticator->createToken(object(Request), 'saml')
    in /opt/huarpe-core/vendor/symfony/symfony/src/Symfony/Component/Security/Http/Firewall/SimplePreAuthenticationListener.php line 84

at Symfony\Component\Security\Http\Firewall\SimplePreAuthenticationListener->handle(object(GetResponseEvent))
    in /opt/huarpe-core/vendor/symfony/symfony/src/Symfony/Component/Security/Http/Firewall.php line 69

at Symfony\Component\Security\Http\Firewall->onKernelRequest(object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher))
    in  line 

at call_user_func(array(object(Firewall), 'onKernelRequest'), object(GetResponseEvent), 'kernel.request', object(TraceableEventDispatcher))
    in /opt/huarpe-core/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php line 61

at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(object(GetResponseEvent), 'kernel.request', object(ContainerAwareEventDispatcher))
    in  line 

at call_user_func(object(WrappedListener), object(GetResponseEvent), 'kernel.request', object(ContainerAwareEventDispatcher))
    in /opt/huarpe-core/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php line 184

at Symfony\Component\EventDispatcher\EventDispatcher->doDispatch(array(object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener), object(WrappedListener)), 'kernel.request', object(GetResponseEvent))
    in /opt/huarpe-core/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php line 46

at Symfony\Component\EventDispatcher\EventDispatcher->dispatch('kernel.request', object(GetResponseEvent))
    in /opt/huarpe-core/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php line 140

at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch('kernel.request', object(GetResponseEvent))
    in /opt/huarpe-core/var/bootstrap.php.cache line 3212

at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), '1')
    in /opt/huarpe-core/var/bootstrap.php.cache line 3182

at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), '1', true)
    in /opt/huarpe-core/var/bootstrap.php.cache line 3336

at Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(object(Request), '1', true)
    in /opt/huarpe-core/var/bootstrap.php.cache line 2540

at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
    in /opt/huarpe-core/web/app_dev.php line 28

¿Se te ocurre por dónde puede venir el problema?

Muchas gracias

Javier Bonfanti
UNR

Sergio, vi que el error:
Notice: Memcache::get(): Server 127.0.0.1 (tcp 11211) failed with: Connection refused (111)
Venia por el lado de memcache

El tema es que al levantar el servicio memcached, ya no puedo ingresar mas a /app_dev.php, automaticamente me redirecciona al error 500

Fijate bien como agregas la url, el error 500 lo vas a ver en pantalla solo si entras en producción (sin app_dev.php), si por el contrario entrás en modo desarrollo, sí o sí te va a dar un listado de errores pero formateados (asi tal cual aparece en el archivo de log que mandaste previamente). Quizá tengas configurado un alias en el apache para acceder al controlador de Huarpe (lo que está en el dir web, app.php y app_dev.php).

Lo que sí es evidente que Huarpe no se puede conectar a tu instalación de memcached, fijate si no te quedó corriendo o si falta algo más.

Hola Sergio, con el memcached basto con levantar el proces para que deje de ver el error, aunque ya no pude acceder mas a app_dev.php habiendo hecho esto.

Instale de nuevo huarpe para ver si habia algo que se me haya pasado por alto.

Al sincronizar arai-usuarios me encontre con lo siguiente:
[root@araiusuarios arai-usuarios]# /opt/arai-registry/bin/console package:list
±-------------±-----------±----------------+
| ID Instancia | Nombre | Descripción |
±-------------±-----------±----------------+
| siu/huarpe_1 | siu/huarpe | SIU-Huarpe Core |
±-------------±-----------±----------------+
[root@araiusuarios arai-usuarios]# ${ARAI_USUARIOS_DIR}/bin/arai-cli registry:add --maintainer-email email@institucion.edu.ar --maintainer “nombre responsable” ${ARAI_REGISTRY_URL} --force-register=yes
Notice: Undefined index: CN
[root@araiusuarios arai-usuarios]# /opt/arai-registry/bin/console package:list
±--------------------±------------------±------------------+
| ID Instancia | Nombre | Descripción |
±--------------------±------------------±------------------+
| siu/huarpe_1 | siu/huarpe | SIU-Huarpe Core |
| siu/arai-usuarios_1 | siu/arai-usuarios | SIU-Arai Usuarios |
±--------------------±------------------±------------------+
[root@araiusuarios arai-usuarios]# ${ARAI_USUARIOS_DIR}/bin/arai-cli registry:sync
cURL error 6: Could not resolve host: placeholder; Name or service not known

¿Pueden estos dos errores en negrita estar afectando a haurpe?

¿Qué ocurre que obtengo esos errores, ya que estou pudiendo acceder correctamente a arai-usuarios?

Muchas gracias

Javier Bonfanti
UNR

Por otro lado, en el simplesaml me aparece el siguiente error:

SimpleSAML_Error_Error: UNHANDLEDEXCEPTION
Backtrace:
1 www/_include.php:45 (SimpleSAML_exception_handler)
0 [builtin] (N/A)
Caused by: SimpleSAML_Error_Exception: Cannot find “admin” auth source, and admin privileges are required.
Backtrace:
2 lib/SimpleSAML/Utils/Auth.php:71 (SimpleSAML\Utils\Auth::requireAdmin)
1 modules/core/www/frontpage_welcome.php:10 (require)
0 www/module.php:135 (N/A)

¿Parece algun problema de autenticación?

Javier, estoy viendo que en realidad Arai-Usuarios no lo tenés bien configurado (no se pudo registrar bien contra Registry)

La forma de trabajo es mas o menos así. Todos los componentes de la plataforma se tienen que conectar contra Registry (o sea, registry:add y registry:sync deben haber funcionado bien). Por ejemplo, el flujo de pasos al instalar sería:

[ol]- Instalar Registry

  • Instalar Arai-Usuarios (esto tiene el abm de usuarios conocido como idm; también está el servicio de login único o idp)
  • Registrar y sincronizarArai-Usuarios contra Registry (add & sync)
  • Instalar Huarpe (esto es solo portal, solo se conecta para login al idp)
  • Registrar y sincronizar Huarpe contra Registry (add & sync) [/ol]

Podes ir corroborando si la aplicación X se agregó bien a Registry, sólo cuando el sync funciona bien. Si no, hay que borrar el arai.lock y eliminar el paquete/aplicación en Registry con registry:remove y volver a agregar y registrar.

Otra cosa, Registry no tiene la forma de actualizar a todas las aplicaciones, por lo que cada aplicación se debe contactar con Registry para corroborar que los datos que tiene son los últimos (por ej, si agregaste Huarpe, Arai-Usuarios no se entera a menos que vayas a esa aplicación y corras un sync manualmente, cada vez que haya novedades en Registry).

Una vez que tengas operativo estos puntos, podemos ver de analizar si tienen inconvenientes con la parte del IDP y SAML.

Saludos!

Hola sergio, logre sincronizar todo sin error.
Ahora en el log de apache de huarpe obtengo lo siguiente:

huarpe.unr.edu.ar:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
huarpe.unr.edu.ar:443:0 server certificate does NOT include an ID which matches the server name

¿Será algún problema cuando generé los certificados para huarpe?

Javier Bonfanti
UNR

Hola, excelente!!! Ya estamos mas cerca

Si, efectivamente eso ya es cuestión de como están generados los certificados SSL para servidor que han configurado en el apache de huarpe. Hay muchos tutoriales de como generar los de tipo autofirmados o simples. Lo ideal es que para producción sean certificados válidos…

Saludos!

Perfecto, ya logré que superar eso tambien. Pero sigo con el error 500.

El log de huarpe (prod.log)

[2017-05-19 10:13:51] app.ERROR: No route found for “GET /portal”
[2017-05-19 10:13:51] request.CRITICAL: Uncaught PHP Exception Twig_Error_Runtime: “An exception has been thrown during the rendering of a template (“The token storage contains no authentication token. One possible reason may be that there is no firewall configured for this URL.”).” at /opt/huarpe-core/src/CoreBundle/Resources/views/Layout/_leftmenu.html.twig line 20 {“exception”:“[object] (Twig_Error_Runtime(code: 0): An exception has been thrown during the rendering of a template ("The token storage contains no authentication token. One possible reason may be that there is no firewall configured for this URL."). at /opt/huarpe-core/src/CoreBundle/Resources/views/Layout/_leftmenu.html.twig:20, Symfony\Component\Security\Core\Exception\AuthenticationCredentialsNotFoundException(code: 0): The token storage contains no authentication token. One possible reason may be that there is no firewall configured for this URL. at /opt/huarpe-core/vendor/symfony/symfony/src/Symfony/Component/Security/Core/Authorization/AuthorizationChecker.php:57)”}

¿Tenés idea que puede ser esto?

Te consulto, estás instalando Huarpe para accederlo mediante una url directa o con un alias… porque tenés un /portal ahi. En el virtualhost deberías tener el alias /portal definido… si fuera así.

Es un error de autenticación, extraño. Es porque no está autenticado el usuario… un par de preguntas:

  • ¿Estas utilizando Huarpe descargado desde master, develop, v1.0.1? Debería ser o master (que sigue la última estable) o v1.0.x en caso de una versión específica.
  • ¿Probaste limpiar la cache de Huarpe? Ver 5. Corregir permisos
  • También ejecutalo en modo desarrollo, /app_dev.php…

Saludos!

Me fijo, te queria decir respecto de los permisos que:
si ejecuto ${HUARPE_PATH}/bin/console huarpe:update-permisos-archivos apache
sigue intentndo ejecutar el chown on www-data

Respecto del alias “/portal” esto solo s e encuentra en las variables de entorno definidas en la instalacion de arai-usuarios
“export ARAI_USUARIOS_URL_PORTAL=https://huarpe.unr.edu.ar/portal
La cual impacta en el archivo idp.yml de arai-usuarios
url_app_defecto: ‘https://huarpe.unr.edu.ar/portal

Es ahi unicamente donde tengo “/portal”

como figura en la instalacion de arai -usuarios

configuracion del idp

export ARAI_USUARIOS_URL_PORTAL=http://url.huarpe/portal
export ARAI_USUARIOS_USER_URL_PERFIL=http://url.huarpe/perfil

De todas formas, si le saco el /portal, tampoco funciona y obtengo el error:

SimpleSAML_Error_MetadataNotFound: METADATANOTFOUND(‘%’ => ‘\‘https://huarpe.unr.edu.ar/simplesaml/module.php/saml/sp/metadata.php/default-sp\\’’)
Backtrace:
3 /opt/arai-usuarios/idp/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php:301 (SimpleSAML_Metadata_MetaDataStorageHandler::getMetaData)
2 /opt/arai-usuarios/idp/lib/SimpleSAML/Metadata/MetaDataStorageHandler.php:318 (SimpleSAML_Metadata_MetaDataStorageHandler::getMetaDataConfig)
1 /opt/arai-usuarios/idp/modules/saml/lib/IdP/SAML2.php:360 (sspmod_saml_IdP_SAML2::receiveAuthnRequest)
0 /opt/arai-usuarios/idp/www/saml2/idp/SSOService.php:18 (N/A)
Error report with id ed93d0ba generated.