SISTEMAS DE INFORMACIÓN DEL PRDUV
SISTEMA DE CONTROL FINANCIERO – CONTABLE
CENTRO DE DOCUMENTACIÓN
MANUAL DEL ADMINISTRADOR DE SISTEMAS VERSIÓN 1.3 ANEXO 2012
Historial de Cambios Fecha Versiรณn Descripciรณn 08/02/2012 1.2 Modificaciรณn de Documento 09/02/2012 1.3 Modificaciรณn de Documento, anexos de conexiรณn a datos externos.
Manual Administrador Sistemas
Autor Rodrigo Contreras B. Rodrigo Contreras B.
1
Tabla de Contenidos 1.
Introducción................................................................................................................................................ 3 1.1. Propósito ........................................................................................................................................... 3
1.2. Alcance.............................................................................................................................................. 3 1.3. Actualizaciones al período 2012 ........................................................................................................ 3 2. Requerimientos .......................................................................................................................................... 4 2.1. Configuración en Archivos ................................................................................................................. 4 2.2. Configuración en Base de Datos ....................................................................................................... 8 2.3. Configuración de crontab (Servicios)............................................................................................... 11 3. Optimización ............................................................................................................................................ 12 4. Configuraciones Adicionales .................................................................................................................... 12 5. Conexión directa y consultas al motor de Base de Datos ........................................................................ 13 6. Acceso remoto / Upload versiones ........................................................................................................... 17 7. Cuenta de Acceso a servidor de Producción ........................................................................................... 19 8. Consultas de datos por medio de ODBC ................................................................................................. 19 9. Aspectos Finales a considerar ................................................................................................................. 21
Manual Administrador Sistemas
2
1. Introducción 1.1.
Propósito
El objetivo de este documento es mencionar y/o explicar a los usuarios de sistemas y al Administrador principalmente, las distintas opciones y configuraciones base para una correcta puesta en marcha del sistema a implementar en el Proyecto “Diseño, Desarrollo e Implantación Sistemas de Información del PRDUV” (SCFC y CEDOC).
1.2.
Alcance
Este Manual ha sido realizado para el Proyecto “Diseño, Desarrollo e Implantación Sistemas de Información del PRDUV” (CEDOC).
Las configuraciones base, se encuentran en archivos tales como funciones.php en cada aplicación (SCFC, CEDOC), configAux.php dentro de carpeta include/config.
1.3.
Actualizaciones al período 2012
Estas actualizaciones de contenido, tienen por objetivo entregar las últimas revisiones y configuraciones necesarias para el correcto funcionamiento de los sistemas, adicionalmente entregan la información necesaria para su instalación y los ambientes de servidor desarrollo y pruebas soportados.
Ambientes de pruebas soportados •
GNU/ Linux Ubuntu (localhost)
•
Windows XP (localhost)
Ambiente de producción soportado •
GNU/ Linux Ubuntu (Proveedor Hosting Disc)
•
GNU/Linux CentOS (Proveedor Hosting M&G Consultores) núcleo 2.6.18
Manual Administrador Sistemas
3
2. Requerimientos Para poder iniciar la aplicación, se requiere satisfacer requisitos mínimos de software:
Servidor Web con soporte de lenguaje PHP. Configuración Recomendada: -
Apache 2.0.55 (Mínimo: 1.33)
-
PHP 5.2 (Mínimo: 4.4)
Servidor de bases de datos PostgreSql. Versión Recomendada: 8.1.10 (Mínimo: 7.4) Servidor de correo saliente (SMTP). Recomendado Postfix Se requiere que curl se encuentre instalado, para la ejecución automática de scripts usando crontab. Estos servicios son programados en PHP y llamados desde la ejecución de servicios.
Sistema Operativo base suficiente para poder ejecutar lo anterior. Recomendado: -
Ubuntu GNU/Linux con kernel 2.6.15 Actualmente corre sobre plataforma CentOS 2.6.18 (Similar a RedHat), con proveedor de Hosting M&G Consultores.
2.1.
Configuración en Archivos
Una vez cubiertos los requisitos mínimos de software, se debe tener en cuenta que, la base de datos, requiere que exista una configuración especial en los archivos fuentes de la aplicación, para correcta concordancia con la información contenida en la BD, además de configuración específica para el funcionamiento propio de la aplicación. Æ CONFIGAUX.PHP Se dispone de un archivo de configuración maestro que afecta a los 3 módulos principales: Administración, CEDOC y SCFC. Se trata del archivo configAux.php ubicado en la ruta: “include/config/” dentro del directorio principal de la aplicación. Posee 4 variables con nombres explícitos que indican lo que afectarán: $conf['upLoadDir']
Corresponde al Directorio temporal en el cual se dejan los archivos que sube el usuario antes de grabar el documento. Por ejemplo "/var/www/tmp/";.
$conf['prduv_servidor_correo']
Indica la dirección IP del servidor de correo saliente (SMTP). Este valor es crítico, ya que repercute en las notificaciones que realiza el sistema. Por ejemplo "192.168.10.11"
$conf['prduv_remitente']
Indica la dirección de correo que aparecerá cuando el destinatario revise su correo. Por ejemplo “no-reply@prduv.cl "
Manual Administrador Sistemas
4
$conf['prduv_nombre_remitente']
Indica el “nombre” que se visualizará como remitente. Por ejemplo “Sistema PRDUV”
En SCFC – Ficha Adquisición
el usuario puede subir documentos plantillas, estas a diferencia de lo
mencionado anteriormente, se mantienen en una carpeta temporal definida y no modificable. Esta carpeta se encuentra bajo la raíz del sitio en la ruta: “scfc/plantillas”.
Ambos directorios temporales, usados al momento de subir archivos y plantillas, deberán eventualmente tener los permisos de escritura, del servidor hacia ambas carpetas para un correcto funcionamiento. Æ CONTROL.PHP Existe un archivo de configuración con los parámetros requeridos para conexión a la base de datos. Se trata de “control.php”, el que es requerido por “connPgSql.php” en la ruta /include/conexion/ dentro de la raíz del sistema. En él se configura: $host_db
=
Correspondiente a la IP del servidor de Base de Datos, ej. 192.168.77.70
$puerto_db
=
Correspondiente al puerto utilizado, ej. 5432
$usuario_db
=
Correspondiente al usuario de BD, ej. USRPRDUV
$clave_db
=
Correspondiente al usuario de BD.
$nombre_db
=
Correspondiente al nombre de la Base de Datos, ej. BINICIATIVAS
Æ INDEX.PHP e INDEX2.PHP Estos archivos contienen las referencias a las páginas a levantar. Al final de ellas se debe valida que los archivos “index.php” e “index2.php” tengan la variable $smarty con la path correcta. $smarty->display($pathBase.'purdv/index2.html'); por ejemplo
En caso de no estarlo es probable que aparezca el siguiente mensaje:
“Warning: Smarty error: unable to read resource: "C:\xampp\htdocs/prduv/index2.html" in C:\xampp\htdocs\purdv\include\config\libs\Smarty.class.php on line 1095” Por ejemplo.
Æ CONFIGURACIONES ESPECÍFICAS Todos los módulos: Variable $perf_codigo utilizado en todos los php que requieran filtrar usuario concuerda con tabla “t_perfil” para el control de permisos de acceso según perfil de usuario a cada funcionalidad en particular.
Manual Administrador Sistemas
5
Módulo Administración: funciones.php define("CHILE", 11);
// representa el código del país existente en tabla “país”.
Módulo CEDOC:
Valores en duro de Área Impacto: (corresponde con campo “area_impacto” en tabla “partida”) Código
Descripción
997 998
Toda la Ciudad Plan
999
Cerro
Para efectos prácticos, la aplicación considerará que se trata de un Área de Impacto Específica cuando el valor del campo “area_impacto” sea distinto de los descritos anteriormente, en cuyo caso buscará en campo “area_impacto_epi” de la misma tabla. (Ej.: valor nulo)
funciones.php define("CHILE", 11);
// representa el código del país existente en tabla “país”.
Variables: uspe_perfil = concuerda con tabla “t_perfil” apli_codigo = concuerda con tabla “aplicacion”
Módulo SCFC:
Valores en duro de Área Impacto: Código
Descripción
997
Toda la Ciudad
998
Plan
999
Cerro
Mismo criterio descrito para Módulo CEDOC.
funciones.php
Variables: uspe_perfil = concuerda con tabla “t_perfil”
Manual Administrador Sistemas
6
adquisiciones/funciones.php define("CHILE", 11);
// representa el código del país existente en tabla “pais”.
// definición de constantes instrumento de vinculación jurídica define("CONTRATO", 1); define("ORDEN", 2); define("NO_APLICA", 3); define("OTRO", 4); // definición de constante que identifica a subdere (se obtiene de inst_codigo en tabla institución) define("SUBDERE", 1); // definición de constantes que identifican tipo de institución (tin_codigo en tabla t_institucion) define("COEJECUTOR", 1); define("AUDITOR", 2); define("EJECUTOR", 3); // definición de constantes de estado de un producto (eprod_codigo en tabla e_producto) define("CREADO", 0); define("ENDESARROLLO", 1); define("ENTREGADO", 2); define("CONOBSERVACIONES", 3); define("APROBADO", 4); define("CONSOLICITUDPAGO", 5); define("PAGADO", 6); Variables: uspe_perfil = concuerda con tabla “t_perfil” apli_codigo = concuerda con tabla “aplicacion”
Funciones: menuBotonera() maneja información sobre los botones utilizados en la ficha de adquisición iconoArchivo() maneja información sobre los íconos de los archivos.
adquisiciones/eproducto.conf
Contiene valores de estado de un productos a ser utilizados por las interfaces de agregar/editar producto. Sus valores concuerdan con tabla “e_producto”.
Manual Administrador Sistemas
7
2.2.
Configuración en Base de Datos
Así como la aplicación requiere de configuración especial para su concordancia con la base de datos, ésta puede definir comportamiento propio de la aplicación, el que no dispone de mantenedores por ser datos prácticamente estáticos. Por ejemplo, casos como la subida de archivos a algún documento en particular dentro de alguna carpeta específica, configuración base de permisos de acceso a aplicaciones, etc.
-
Tabla “t_perfil” Contiene los códigos y su correspondiente descripción, que representan los perfiles que tienen acceso al sistema.
Manual Administrador Sistemas
8
-
Tabla “aplicacion_perfil”: Contiene una plantilla base de perfiles que tienen acceso a las distintas aplicaciones del sistema. Esta tabla define los valores posibles que podrán guardarse en tabla “usuario_perfil”, que es manipulada por el mantenedor de usuarios, la que a su vez será consultada por toda la aplicación. Los valores concuerdan con los de uspe_perfil y apli_codigo mencionados en 2.1.
-
Tabla “asociación_plantillas”: Contiene la ubicación de destino que tendrán los archivos subidos en la aplicación SCFC para su correcto despliegue por carpeta/tipo documento desde CEDOC. Estos códigos se corresponden con los definidos en el mantenedor de carpetas y en el mantenedor de tipos de documentos. Eventualmente, todo cambio hecho desde el mantenedor de carpetas y/o mantenedor de tipos de documentos que implique cambio de significado, eliminación de algún código utilizado o aparición de nuevos registros, debe ser reflejado de manera manual en esta tabla para un correcto desempeño del sistema.
Manual Administrador Sistemas
9
-
Tabla “config_resolucion”: Contiene descripciones a ser utilizadas en el despliegue de la sección Contrato en una Ficha de Adquisición y en la generación de documentos.
Tablas Descriptivas: Como se ha mencionado anteriormente, existen tablas con nombres como “t_xxxxx” y “e_xxxxx” (ej: t_perfil), las que describen “tipos” y “estados” de algún elemento o tabla en particular. La definición de sus valores, es de carácter crítico y su alteración tendrá directa repercusión en la aplicación. Tener especial cuidado con las siguientes tablas: -
Tabla “e_adquisicion”:
Estados de una Adquisición.
-
Tabla “e_garantia”:
Estados de una Garantía.
-
Tabla “e_producto”:
Estados de un Producto.
-
Tabla “t_convenio”:
Tipo de Convenio.
-
Tabla “t_cuenta_contable”: Tipo de Cuenta Contable.
-
Tablas “t_documento” y “t_documento_oa”: Tipo de documento, que repercute en el almacenamiento de documentos subidos al sistema y con los valores existentes en tabla “asociacion_plantillas”.
-
Tabla “t_documento_garantia”: Tipo de documento de Garantía.
-
Tabla “t_garantia”:
Tipo de Garantía.
Manual Administrador Sistemas
10
-
Tabla “t_institucion”:
Tipo de Institución, que repercute en como son reconocidas las
instituciones para su correcta interpretación como Co-ejecutor, Ejecutor (SUBDERE) o Auditor. -
Tabla “t_item_ppto”:
Tipo de Ítem Presupuestario, que define principalmente si se trata de un
“Traspaso” o “Pago Directo”. -
Tabla “t_perfil”:
Tipo de Perfil, ya descrita anteriormente.
-
Tabla “t_producto”:
Tipo de Producto.
-
Tabla “t_resolucion”:
Tipo de Resolución.
2.3.
Configuración de crontab (Servicios)
El sistema provee de notificaciones periódicas y de actualización automática del valor del dólar para su posterior uso en SCFC. Para ello se requiere de la ejecución diaria de los scripts ubicados en carpeta “batch” dentro de la raíz de la aplicación, usando crontab.
Configuración base: (usando “crontab –e” con usuario root) # m h
dom mon dow
command
0 6 * * * curl http://sistemas.prduv.cl/prduv/batch/updateMoneda.php 2 6 * * * curl http://sistemas.prduv.cl/prduv/batch/controlCaduca.php 4 6 * * * curl http://sistemas.prduv.cl/prduv/batch/controlCaduca2.php Lo anterior indica que se ejecutarán los scripts en las direcciones mencionadas, a las 06:00, 06:02 y 06:04 horas respectivamente, todos los días.
Notar que ante la eventualidad que la dirección web del sitio cambie, también debe verse reflejado en crontab. Esto es crítico, ya que, de ello dependen las notificaciones y los enlaces generados vía e-mail.
Donde el usuario deberá ingresar su contraseña, su confirmación y luego presionar el botón “Guardar”. Una vez ingresada la clave, el Sistema desplegará un mensaje de Ingreso Exitoso.
Manual Administrador Sistemas
11
3. Optimización Una vez en marcha el sistema, este puede ser optimizado/configurado para satisfacer necesidades futuras.
Por ejemplo, configurar el tiempo de vida de una sesión activa: Alternativa 1: cambiar el valor del parámetro session.gc_maxlifetime en archivo php.ini en el servidor. Alternativa 2: incluir en index.php una línea como:
ini_set("session.gc_maxlifetime", "18000"); El valor 1800 está expresado en segundos, representando 5 horas (60 * 60 * 5).
4. Configuraciones Adicionales Las configuraciones adicionales se presentan del siguiente modo:
1. Configuración para servidor local de pruebas. Tipo Servidor: Ubuntu Linux Servicios: Apache2, MySQL5, PHP5, Crontab
Carpeta de Configuración Archivo de Configuración
La edición del archivo permitirá establecer una conexión local al servidor de Base de datos Postgres, con esto las consultas y transacciones serán enviada al motor de la IP o Nombre de equipo indicado (usualmente el localhost )
192.168.0.1 Base de daros PostgreSQL PHP conexión.php SQL Standard de conectividad con pg_connect, pg_admin
Luego de la conexión, las consultas pasaran a ser realizadas en el motor local, para mantención de datos se recomienda la instalación de aplicaciones locales de consulta.
Manual Administrador Sistemas
12
5. Conexión directa y consultas al motor de Base de Datos Para realizar consultas de datos directamente en el motor o extraer información existente, se recomienda el uso de las siguientes aplicaciones cliente, las cuales permiten acceso o consulta a la base de datos Postgres asociada a los sistemas del PRDUV.
PGAdmin3 pgAdmin 3 es una herramienta de código abierto para la administración de bases de datos PostgreSQL y derivados (EnterpriseDB Postgres Plus Advanced Server y Greenplum Database). Incluye:
• Interfaz administrativa gráfica • Herramienta de consulta SQL (con un EXPLAIN gráfico) • Editor de código procedural • Agente de planificación SQL/shell/batch • Administración de Slony-I
pgAdmin se diseña para responder a las necesidades de la mayoría de los usuarios, desde escribir simples consultas SQL hasta desarrollar bases de datos complejas.
La interface gráfica soporta todas las características de PostgreSQL y hace simple la administración. Está disponible en multilenguaje y para varios sistemas operativos, incluyendo Windows , Linux, FreeBSD, Mac OSX y Solaris.
pgAdmin III soporta versiones de servidores 7.3 y superiores. Versiones anteriores a 7.3 deben usar pgAdmin II.
Vista detallada base de datos / tablas - sistemas.prduv.cl desde pgAdmin3
Manual Administrador Sistemas
13
Vista de Consultas SQL desde pgAdmin3
Manual Administrador Sistemas
14
phpPgAdmin (Cliente Web)
phpPgAdmin es una aplicación web que provee una manera conveniente a los usuarios para crear bases de datos, tablas, alterarlas y consultar sus datos usando el lenguaje estándar SQL.
Estuvo basado de un comienzo en phpMyAdmin, pero hoy día ya no comparte código con él; incluso provee las mismas funcionalidades y más a los usuarios del servidor de base de datos PostgreSQL.
Manual Administrador Sistemas
15
Exportaciรณn de Datos
Se recomienda la exportaciรณn de datos mediante la utilizaciรณn de scripts SQL estรกndar, para generaciรณn de salidas se puede hacer uso de los asistentes de PGAdminIII
Manual Administrador Sistemas
16
Ambos software poseen licencia open source y son multiplataforma (GNU/Linux , Windows).
6. Acceso remoto / Upload versiones Para el acceso remoto al servidor Linux de producción existe la conectividad por medio del protocolo seguro SSH, es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo el computador mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X (en sistemas Unix y Windows) corriendo.
Además de la conexión a otros dispositivos, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a los dispositivos y pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH.
Vista de conexión SSH remota a servidor producción PRDUV (SSH Secure Shell Client)
Manual Administrador Sistemas
17
En la imagen se han listado los documentos existente es la ruta base de la aplicaci贸n, con esto podemos obtener una visualizaci贸n de los documentos que existen actualmente,
Para el acceso remoto tanto subida o bajada de documento SSH Secure Shell nos provee de la utilidad de SFTP incorporada
Manual Administrador Sistemas
18
Vista de SFTP incorporada en SSH Secure Shell Cliente, para gestionar la información en servidor remoto.
7. Cuenta de Acceso a servidor de Producción Los accesos son los siguientes:
Acceso Remoto SSH Servidor producción Servidor:
190.98.248.189
Usuario:
PRDUV_2010
Puerto:
22
Contraseña
prduv_20@,.
8. Consultas de datos por medio de ODBC Adicionalmente a las consultas de datos que se puedan establecer y realizar tanto por el sistema, como a través de la conexión directa al motor, la UEP cuenta con informes en formato Microsoft Excel, los cuales hacen uso de la conectividad ODBC, para la extracción de datos desde el servidor Postgres. Para estos casos se debe realizar el siguiente procedimiento de configuración y verificación de acceso.
Manual Administrador Sistemas
19
1.
Verificación de Driver ODBC Panel de Control / Herramientas Administrativas / Orígenes de Datos (ODBC), DSN de Usuario / Agregar, con esto podemos ver que dentro de las opciones soportadas para establecer conexión se encuentra el motor de datos de Postgres. En caso de no encontrarse instalado se debe descargar el driver desde la siguiente ruta http://www.postgresql.org/ftp/odbc/versions/
2. Creación del puente ODBC en la configuración de Windows. Una vez instalado procedemos a crear el puente de conexión, la información requerida de acceso es la que se muestra en la pantalla
Datos de conectividad ODBC Data Source:
Identificación y nombre del Puente ODBC a crear, en este caso debe ser MG
Database:
Nombre de la Base de datos (BINICIATIVA)
Server:
IP del servidor remoto de acceso (190.98.248.189)
Puerto:
5432
User Name:
Nombre de usuario de conexión a la Base de Datos (postgres)
Manual Administrador Sistemas
20
2.
Acceso a datos mediante Microsoft Excel.
Finalmente y para verificar el acceso procedemos a ejecutar la planilla Excel configurada con el acceso a datos. Importante: El acceso a datos en las dependencias del PRDUV, está limitado a las políticas de seguridad del firewall de SUBDERE, por tal motivo para hacer uso del puerto 5432, este debe estar habilitado en las reglas de Informática en SUBDERE Santiago.
Para tal efecto el protocolo indica realizar una solicitud vía sistema SGDOC.
Se debe entregar por tanto el número IP interno del equipo y el puerto asociado de conexión (5432).
9. Aspectos Finales a considerar Como todo sistema “vivo”, el SCFC y CEDOC del PRDUV ha crecido en el tiempo, se han incorporado nuevas funciones, realizado mejoras y adecuaciones requeridas. Por otro lado el acceso a las fuentes de datos se han diversificado ya sea desde la misma aplicación, conexiones ODBC y acceso directo desde un cliente de conexión, todos estos nos permiten obtener información la cual de acuerdo a la solicitud se adecua de mejor forma a lo requerido.
Manual Administrador Sistemas
21