Servicios Web con Pilagá (SOLUCIONADO)

Buenos dias,
Cuando realizo el control de configuracion de Diaguita, me sale un error en verifica que se pueda conectar al servidor de SIU-Pilaga, y consumir el recurso de tipos de documentos. Ingresando al log del apache me figura lo siguiente:

[Wed Aug 10 11:25:55.693313 2016] [:error] [pid 7181] [client x.x.x.x:46195] GET /pilaga/rest/documentacion/tipos-documentos HTTP/1.1\r\nHost: x.x.x.x\r\nUser-Agent: Guzzle/5.1.0 curl/7.38.0 PHP/5.6.20-0+deb8u1\r\n\r\n, referer: http://diaguita.unpa.edu.ar/diaguita/aplicacion.php?ah=st57ab396ea6e278.02399450&ai=diaguita||109000043

Este error ya me habia dado, estando pilaga en la version 2.3.7 instalado en otro servidor.

Pero en este caso, tengo instalado tanto diaguita (2.3.0) como pilaga (2.3.7) en el mismo servidor, en Debian Jessie con php 5.6, postgres 9.4 y apache 2.4.10.

Los virtual host que cree a modo de prueba son basicos, con la siguiente estructura tanto para diaguita como para pilaga. Por ejemplo:

<VirtualHost *:80>
ServerName 192.168.25.68
Redirect 403 /
ErrorDocument 403 “No”
DocumentRoot [dir_sistema]/diaguita/

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName diaguita.unpa.edu.ar

### INICIO INCLUSION CONTENIDO toba.conf ###

Include [dir_instalacion ]/toba.conf

### FIN INCLUSION CONTENIDO toba.conf ###

Y le agregue las siguientes lineas al toba.conf de pilaga y diaguita:

#API REST
#RewriteEngine On
#RewriteBase /diaguita
#Options FollowSymLinks SymLinksIfOwnerMatch
#RewriteRule ^rest/(.)$ rest.php/$1 [PT,L,QSA]
#RewriteRule ^rest$ rest.php/ [PT,L,QSA]
#SetEnvIf Authorization "(.
)" HTTP_AUTHORIZATION=$1

Esto es correcto o debo agregarlo al virtualhost?? Lo agregue agui porque como el virtualhost hace referencia al toba.conf…

Tampoco puedo acceder a la consola /dirserver/rest/. Me sale el error 404.

A que se puede deber el error???

Gracias
Paola

Hola Paola
El error puede deberse a tu configuración de API REST que si es textualmente copiada, esta se encuentra comentada (#…) entonces eso lanza el error 404 Not found te paso la correcta en ese caso:

#API REST
RewriteEngine On
RewriteBase /diaguita
Options FollowSymLinks SymLinksIfOwnerMatch
RewriteRule ^rest/(.)$ rest.php/$1 [PT,L,QSA]
RewriteRule ^rest$ rest.php/ [PT,L,QSA]
SetEnvIf Authorization "(.
)" HTTP_AUTHORIZATION=$1

Hola Diego, perdon cuando lo subi olvide sacarle el texto comentarizado… En su momento lo comentarice porque me no me levantaba el apache…
Para que me levante el apache agregue las lineas de API REST dentro de los proyectos con alias pilaga y diaguita, esto es correcto??
Seria por ejemplo para el proyecto diaguita:

    <Directory "/var/www/hacienda/diaguita/aplicacion/www/">
            DirectoryIndex aplicacion.php
            Options MultiViews
            AllowOverride None
            <IfModule !mod_authz_core.c>
                        Order allow,deny
                        Allow from all
            </IfModule>
            <IfModule mod_authz_core.c>
                        Require all granted
            </IfModule>
            SetEnv TOBA_DIR                 "/var/www/hacienda/diaguita/toba"
            SetEnv TOBA_PROYECTO    "diaguita"
            SetEnv TOBA_INSTANCIA   "produccion"
            SetEnv TOBA_INSTALACION_DIR "/var/www/hacienda/diaguita/instalacion"

    #API REST
            RewriteEngine On
            RewriteBase /diaguita
            Options FollowSymLinks SymLinksIfOwnerMatch
            RewriteRule ^rest/(.*)$ rest.php/$1 [PT,L,QSA]
            RewriteRule ^rest$      rest.php/   [PT,L,QSA]
            SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

    </Directory>

El error sigue saliendo y sigo sin poder acceder a la consola.

Gracias

Paola

Hola Paola podrías adjuntar el toba.conf de diaguita así lo miro en mas detalle.

Hola!

Te adjunto el toba.conf de diaguita.

Gracias

Paola


toba.conf.zip (747 Bytes)

Hola Paola
veo que la configuración es correcta verifica si podes acceder a la consola en pilaga, luego verifica que todo este correctamente configurado como recomendamos hacerlo en la wiki te adjunto el link.
https://repositorio.siu.edu.ar/trac/diaguitadocu/wiki/2.3/InstalaciondelSistema#ServiciosWeb
Tener en cuenta que si queres entrar al swagger de diaguita tenes que configurarlo en modo servidor y lo mismo para el pilaga.

Buen dia Diego,
Te cuento: me pude conectar a la consola de diaguita, pero no a la de pilaga. Me sale el siguiente error en el apache:

[Wed Aug 17 09:00:24.126411 2016] [:error] [pid 5457] [client x.x.x.x:40522] HTTP/1.1 500 Internal Server Error\r\nDate: Wed, 17 Aug 2016 12:00:24 GMT\r\nServer: Apache/2.4.10 (Debian)\r\nSet-Cookie: TOBA_SESSID=b15k4pu9dt8cvuuofciigqm6l6; p6l6; path=/; HttpOnly\r\nExpires: Thu, 19 Nov 1981 08:52:00 GMT\r\nCache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\nPragma: no-cache\r\nContent-Length: 286\r\nConnection: close\r\nContent-Type: application/json\r\n\r\n{\n “error”: “500”,\n “mensaje”: “500 Internal Server Error”,\n “descripcion”: “Error Interno en el servidor: Este controlador no est\u00c3\u00a1 configurado para manejar esta URL. La url es: ‘\/pilaga\/rest\/documentacion\/tipos-documentos’, la url de la API es ‘pilaga\/rest’”\n}, referer: http://diaguita.unpa.edu.ar/diaguita/aplicacion.php?ah=st57b451cacff3d3.39199614&ai=diaguita||109000043

Como te menciona antes, los dos sistemas estan instalados en el mismo servidor: te paso las configuraciones que tengo en diaguita y pilaga:

SIU-DIAGUITA:
[dir instalacion]/diaguita/instalacion/i__produccion/p__diaguita/rest/

ARCHIVO servidor.ini
autenticacion = digest

;;
;;Opciones que recibe la librer�a - > rest/rest.php
;;
;[settings]
formato_respuesta = json
url_protegida = /.*/

ARCHIVO servidor_usuarios.ini

[dialocal]
password = dialocal
;api_key= APIKEY_CAMBIAR

;[usuario2]
;password = CAMBIAR

;[usuario3]
;password = CAMBIAR

ARCHIVO cliente.ini en [dir instalacion]/diaguita/instalacion/i__produccion/p__diaguita/rest/pilaga

[conexion]
to = “http://pilagalocal.unpa.edu.ar/pilaga/rest/
auth_tipo = digest
auth_usuario = admin
auth_password = admin1234

SIU-PILAGA
[dir instalacion]/pilaga/instalacion/i__produccion/p__pilaga/rest/

ARCHIVO servidor.ini

autenticacion = digest

;;
;;Opciones que recibe la librer�a - > rest/rest.php
;;
;[settings]
formato_respuesta = json
url_protegida = /.*/

ARCHIVO servidor_usuarios.ini

[admin]
password = admin1234
;api_key= APIKEY_CAMBIAR

;[usuario2]
;password = CAMBIAR

;[usuario3]
;password = CAMBIAR

Entonces con estas configuraciones puedo acceder a la consola de diaguita pero no a la de pilaga, por ende sigo sin poder conectarme desde diaguita a pilaga.

Gracias!

Saludos
Paola

Hola Paola estoy viendo las configuraciones en los archivos .ini estan de forma correcta en ambos sistemas deberías chequear si no tenes algun otro problema en los archivos de configuración en pilaga por ej. de acceso o lectura, igual estamos analizando el problema.

Hola Diego!, chequee los permisos pero estan correctos. Ya te pase todas las configuraciones, y segun lo que me mencionaste estarian correctas…
Lo unico que me queda por pasarte es el toba.conf de pilaga, para que me confirmes si esta bien agregada la API REST. Quizas tenga algo mal alli…
No entiendo porque puedo acceder a la consola de diaguita y no a la de pilaga…
Para poder acceder a la consola de pilaga, solo debo configurar servidor.ini y servidor_usuarios.ini, porque el cliente.ini solo se configura para que diaguita tenga acceso, no?

Gracias

Paola
UNPA


tobaPilaga.conf.zip (757 Bytes)

Hola Paola
Estas teniendo un problema de acceso en REST, pasame el toba.conf de pilaga, debería tener las mismas configuraciones que el diaguita.

Hola Diego, en el mensaje anterior te pase el toba.conf de pilaga. Lo pudiste abrir??

Saludos
Paola

Buenos dias

Les escribo para consultarles si pudieron ver la configruación que les envie. Realmente no se que mas probar. Sigo con el mismo problema, en el caso de diaguita si puedo acceder a la consola, pero en el caso de pilaga no.
Y si accedo a diaguita Configuración y pruebo la conexión con pilaga me sale el mismo error.

Saludos
Paola
UNPA

Hola Paola,

Disculpa por la demora en la respuesta, creemos que el problema esta relacionado a la configuración de apache.
Lo que no nos queda claro respecto a la configuración que nos enviaste es de que forma estas accediendo a Pilaga, porque vemos que tenes definidos 2 alias:
Alias /pilaga/pilaga “/var/hacienda/pilaga/aplicacion/www”
Alias /pilaga “/var/hacienda/pilaga/aplicacion/www”

De que forma estas intentando acceder a la consola:
URL/pilaga/rest o URL/pilaga/pilaga/rest ?

Si te parece vamos a estar contactándote personalmente para avanzar con algunas pruebas y chequeos de configuración para detectar el inconveniente.

Saludos.

Buen dia, como va? te respondo tus consultas:

1- Respecto a los alias agregados demas, tanto en el proyecto toba como en el proyecto pilaga, esto lo hacemos porque sino no se visualiza correctamente la interfaz… perdemos el logo o perdemos el pie, o el estilo… Te adjunto un documento para que entiendas mejor como visualizamos la aplicación, y como a medida que agregamos estos alias se va arreglando su visualización. En su momento, presentamos este infome ya que justamente si bien se soluciona el poder visualizar correctamente la interfaz de la aplicación, cualquier usuario pudiera intentar acceder al sistema utilizando el alias /pilaga/pilaga, cuando el correcto es /pilaga. Pero no tuve respuesta respecto a como solucionar esto sin tener que agregar dichos alias.

2- Respecto a como accedo a la consola es con /pilaga/rest. De todas maneras con /pilaga/pilaga/rest tampoco funciona.

3- Obviamente estoy a su disposición para cualquier consulta que necesiten realizarme

Nuevamente gracias por toda la ayuda que siempre nos dan.

Saludos
Paola
UNPA


UNPA_ANALISIS DE CONFIGURACION DEL ARCHIVO TOBA_26-06-15.pdf (278 KB)

Hola Paola viendo tu configuración en pilaga observo que tu problema de los ALIAS proviene de la instalación inicial con el instalador web, cuando solo quieren que la url sea “/pilaga”, entonces en ese caso no se agrega la “/” en los recursos en el toba.conf, esto lo estuvimos viendo con gente de pilaga que esta al tanto de tu problema, con lo cual tendrás que hacer un post en el foro de pilaga comentando este problema de configuración en tu instalacion y te brindaran una solución.

Hola Diego!,

Ok, subo entonces la consulta al foro de pilaga y una vez solucionado ese inconveniente de los alias, pruebo nuevamente la conexion con diaguita y te informo si salio andando.

Gracias!

Saludos
Paola
UNPA

Buenísimo Paola estamos comunicados.

Buen dia Diego,
Te cuento:

1- Efectivamente el error de no poder acceder a la consola de pilaga era producto de tener varios alias en los proyectos. Desde el equipo pilaga nos guiaron para corregir esto. De esta manera accedimos a la consola rest de pilaga.

2- A pesar de haber corregido lo de los alias, diaguita seguia sin poder conectarse a pilaga… Mirando nuevamente la configuración realizada notamos que el archivo cliente.ini, no tenia la barra al final en la url to. Es decir teniamos:

to = “https://pilagahacienda.unpa.edu.ar/pilaga/rest
y modificando por esto to = “https://pilagahacienda.unpa.edu.ar/pilaga/rest[b]/[/b]” se conecto!!

Desde ya muchas gracias por acompañamiento tecnico que nos han dado.

Saludos
Paola
UNPA

Buenísimo Paola desde ya gracias por la paciencia.