Cambiar a contenido. | Saltar a navegación

Herramientas Personales
Usted está aquí: Inicio SGA Documentación Instalación

Instalación

 
logo_horizontal_simples.jpg
Manual de Instalación de SGA Livre

Volver a la Página Inicial

Índice


Introducción


La instalación del servidor SGA Livre requiere conocimientos técnicos de Linux. Así que sugerimos que este script sea ejecutado por un usuario familiarizado con la instalación de paquetes, la configuración básica de Apache, PHP, Postgresql y Java.

Este script está basado en el Sistema Operativo GNU / Linux Debian, fue probado exitosamente en Lenny y Squeeze.

Como se puede ver en la sección "Arquitectura" del manual de introducción, SGA Livre puede ser instalado separando el servidor de aplicaciones web, la base de datos y el controlador de paneles. Esta decisión debe basarse en el volumen de acceso y uso del sistema. Sin embargo, para la mayoría de los usuarios, instalar todos estos componentes en un único servidor es suficiente. Este manual asume que todos los componentes se instalarán en el mismo servidor.

Requisitos de hardware:
Los requisitos de hardware deben basarse en volumen de acceso esperado.
Cuanto mayor sea el número de unidades de atención, más robusto debe ser el servidor.
En general, servidores con dos procesadores, 2 GB de RAM y 50 GB de espacio en disco deben servir para pequeños volúmenes.

Requisitos de software:
Postgresql  versión 8.4
Apache versión 2
Openjdk-6-jre ou Sun-java6-jre
PHP versión 5.2.0
GD versión 2.0
Multibyte String
PDO versión 1.0.0
PDO PgSQL versión 1.0.2

Lista de Paquetes para Debian Squeeze:
apt-get install postgresql-8.4 postgresql-client-8.4 apache2 openjdk-6-jre php5 php5-cli libapache2-mod-php5 php5-gd php5-pgsql. También se instaló, debian-multimedia-keyring.

 

Sugerencia: Después de instalar los paquetes, y antes de proceder con la instalación de SGA, asegúrese de que el usuario por defecto administrador PostgreSQL este habilitado.
Ejemplo en Debian para habilitar el usuario postgres por defecto:

$ su - postgres

$ psql

$ alter user postgres with password 'establecer_la_contraseña'; (con comillas)

 

Habilitar un usuario nuevo (un nuevo rol, rol=usuario) con permisos para crear BD y no para crear usuarios, la idea es que no quede "al descubierto" el usuario administrador de PostgreSQL, publicando simplemente el usuario que tenga permisos solo para la BD de SGALivre.

Ya logeado en  postgres@server:~$ crear un nuevo usuario como suguiere este ejemplo:
* usr admin de posgresql = postgres
* contraseña del usr admin postgresql = $password_postgres
* usuario admin de BD SGA = sga_dba
* contraseña del usr admin BD SGA = $password_sga_dba


los pasos son:
postgres@server:~$ createuser -A -d -P -h localhost -U postgres dba_sga
Enter password for new role: $password_sga_dba
Enter it again: $password_sga_dba
Shall the new role be allowed to create more new roles? (y/n) n
Password: $password_postgres


datos: n = no permite al usuario (rol) crear nuevos usuarios (roles), todo lo demás que se presenta en Italic corresponde con los datos sugeridos arriba.

Ante la eventualidad de modificar la contraseña del administrador (el usuario postgres) debemos tener en cuenta que esta información también es utilizada por SGA Livre en:

-> el PHP de la web (/sgalivre/lib/php/core/Config.php)

class Config {

                         const SGA_INSTALLED = true;

                         const DB_CLASS = 'PgSQLDB';

                         const DB_HOST = '127.0.0.1';

                         const DB_PORT = '5432';

                         const DB_USER = 'sga_dba';

                         const DB_PASS = '$password_sga_dba';

                         const DB_NAME = 'sgalivre';

    }

 

-> el JAVA del controlador de paneles (/usr/local/sga/controladorpaineis/server.conf)

                       # Define a classe do Driver SQL a ser usado.

                       # O Driver deve ser adequado ao RDMBS em uso.

                       # PostgreSQL -> org.postgresql.Driver

                       jdbcDriver = org.postgresql.Driver

                       # Define a URL JDBC

                       # Exemplo: jdbc::///

                       jdbcUrl = jdbc:postgresql://IPdelServidorBD/sgalivre

                       # Define o usuario do SQL

                       jdbcUser = sga_dba

                       # Define o password do login SQL

                       jdbcPass = $password_sga_dba

 

Desde estos archivos configuraremos también la localización de la base de datos (const DB_HOST = '127.0.0.1';), respecto del servidor web y el controlador de paneles, si es que el sistema está completamente distribuido. Por defecto toma la configuración como local.

También se instaló phpPgAdmin, para administrar para administrar la base.

                       apt-get install phppgadmin

En las ultimas versiones por seguridad no se permite el ingreso del usuario postgres, aunque eso lo puedes configurar en el archivo PATH_INSTALL/conf/config.inc.php


Instalación del Servidor Web y Base de Datos


Esta sección describe la instalación de Servidor Web y de Base de Datos.

Paquetes de instalación

El paquete completo de instalación de SGA Livre y compuesto de:

 

  • Para instalación de Servidor
      • sgalivre-servidor-web_x.x.x.tgz   - Paquete de instalación de Servidor Web y Base de Datos.
      • sgalivre-controladorpaineis_x.x.x.tgz - Paquete de instalación de Paneles de Control.
  • Para instalación de Panel de Turnos
      • sgalivre-painel_x.x.x.tgz - Paquete de instalación .tgz de Panel de Turnos.
      • sgalivre-painel_x.x.x.deb - Paquete de instalación .deb de Panel de Turnos.


Donde x.x.x significa la versión. Eje.: 1.0.0

Primer Paso - Inicio

Descompactar sgalivre-servidor-web_x.x.x.tgz en el área web del servidor apache2.

El acceso al instalador web, como el ejemplo a continuación:

Ejemplo: http://<ip_del_servidor>/sgalivre

 

  • Observación: para poder crear la base de datos con la modificación al español, se realizó lo siguiente.
  • En el archivo do_install.php (por lo general en /var/www/sgalivre/install/) se modificó la linea número 53 que decía
    '$result = @pg_query('CREATE DATABASE '.$db['db_name']." ENCODING 'UTF8'");' por la siguiente linea
    '$result = @pg_query('CREATE DATABASE '.$db['db_name']." TEMPLATE template0"." ENCODING 'UTF8'");'.

Al ingresar en el SGA, por primera vez, la página de instalación aparecerá. Al hacer clic en el botón "Siguiente" el usuario será llevado a comprobar los requisitos de la página.

 install_img00

Segundo Paso - Verificación de Requisitos

Este paso de la instalación muestra al usuario los requisitos mínimos de SGA Livre y hace una comparación con las versiones instaladas en el servidor.;

Permisos necesarios en el SGA Livre pone de relieve la necesidad de permiso de escritura en el archivo Config.php. El SGA Livre muestra el camino a través de directorios para buscar el archivo. El usuario debe cambiar con chmod, agregando el permiso de escritura. Después de eso, simplemente recargar la página para comprobar si el cambio se realizó con éxito.

Ajustes necesarios en donde se encuentra el valor short_open_tag obligados a ser "ON". Si el valor es "OFF" simplemente cambia el valor de clave en el archivo php.ini. En Debian, que normalmente se encuentra en /etc/php5/apache2/php.ini. 

Configuración recomendada en el magic_quotes_gpc debe tener el valor "OFF", de lo contrario cambiar el valor de tu PHP.ini

Es necesario reiniciar el Apache después de alterar el php.ini.

Los artículos que no cumplen con los requisitos de SGA Livre se resaltará en rojo.

install_img02

    Esto se soluciona con: chmod a+w /var/www/sgalivre/lib/php/core/Config.php

     

    Tercer Paso - Licencia

En esta parte de la instalación, se advierte al usuario a leer la licencia SGA Livre - El SGA está disponible bajo la GNU General Public License (GPL - versión dos, publicado en junio de 1991). Después de acordar los términos de Licencia, el usuario puede avanzar al siguiente paso.

install_img03.png


Cuarto Paso - Configuración de Base de Datos

En esta etapa de la instalación, el administrador debe entrar en el opciones para la conexión al servidor de base de datos PostgreSQL, que será utilizada por SGA Livre.

Durante la configuración de la base de datos el usuario deberá introducir el nombre de host (o IP) donde esta la base, el puerto de comunicación del sistema con la base, el nombre de usuario administrador de la base, la contraseña para el nombre de este usuario y el nombre de la base de datos ha ser creada. Antes de proceder al siguiente paso, la base debe ser probado. 

install_img04.png

 

Obs.: por defecto, el Postgresql permite  una única conexión  localhost. Para habilitar conexiónes externas, ver manual de Postgresql.

 

 

Atención: La base de datos especificada en la instalación se creará automáticamente si no existe, si no, se volverá a crear y todos los datos existentes en la base SE PERDERÁN.

 

 


Quinto Paso - Configuraciones de Cuenta Administrador

En este paso va a configurar las opciones de la cuenta de administrador de SGA Livre. La cuenta de que el usuario accederá a la primera vez en el sistema para configurarlo. El administrador tendrá acceso completo al sistema. Esta cuenta pueden ser editadas, sin embargo, nunca se puede excluir del sistema.

La información correspondiente a la cuenta de administrador durante esta fase son: Usuario - nombre que se utiliza para acceder al sistema; Nombre - nombre del administrador, Apellido - apellido del administrador, Contraseña - contraseña para acceder al sistema, y Confirmar contraseña. Cuando rellene todos los campos, el usuario puede avanzar en la instalación

install_img05.png

Sexto Paso - Aplicar

Este es el paso final de la instalación. Al hacer clic en instalar, el SGA Livre se instalará con los valores obtenidos durante la instalación. Un mensaje que indica el éxito de la operación se mostrará a continuación, aparece la página de acceso inicial.

install_img06.png

A partir de ahora, el usuario puede iniciar sesión en el sistema con la cuenta creada. 

Debe configurar el sistema para satisfacer sus necesidades.

install_img09.png

Instalación del Controlador de Paneles


Esta sección abordará la instalación del Controlador de Panel de SGA Livre.

El Controlador de Panel es una aplicación Java centralizada que es responsable de enviar las contraseñas de los asistentes a los Paneles de Contraseña de las Unidades de Asistencia, sin importar dónde se encuentren. Sólo tiene una conexión de red disponible. El envío de contraseñas es extremadamente ligero y rápido, porque se compone de un datagrama (paquete) UDP bien corto.

El Controlador de Paneles y Paneles de Turnos trabajan con protocolo UDP, en puertos 9999 y 8888 respectivamente. Asegúrese de que no hay bloqueos en los dispositivos de red como routers y firewalls..

Primero, el usuario deberá descomprimir el archivo "sgalivre-controladorpaineis_x.x.x.tgz".

El archivo server.conf contiene la información de configuración del controlador de paneles. Es muy importante que el administrador de ingrese correctamente la información de este archivo. 


# DATAPREV 2009
# SGA Livre
# CONTROLADOR DE PANELES 1.0.0
# ARCHIVO DE CONFIGURACION DEL CONTROLADOR DE PANELES
# server.conf
#


# Establece la clase de Driver SQL a ser usado.
# El driver debe ser adecuado al RDMBS en uso.
# PostgreSQL    -> org.postgresql.Driver
jdbcDriver = org.postgresql.Driver

# Define la URL JDBC
# Ejemplo: jdbc:<rdbms>://<host>/<database>
jdbcUrl = jdbc:postgresql://127.0.0.1/sgalivre

# Define el usuario de SQL
jdbcUser = postgres

# Define la password de login SQL
jdbcPass = senha

# URL del Servidor Web
# Define la URL que devolverá la lista de Unidades
# Esa URL se envía al panel, que utiliza para obtener la lista de unidades
# No utilizar la dirección de loopback (l27.0.0.1)
urlUnidades = http://10.0.0.2/sgalivre/painel/get_unidades.php

# URL del Servidor Web
# Define la URL que devolverá la lista de Servicios
# Esta URL se envía al panel, que se utiliza para obtener la lista de servicios de una Unidad
# El token %unidade_id% es sustituído en el cliente por la inidad seleccionada
# No utilizar la dirección de loopback (l27.0.0.1)
urlServicos = http://10.0.0.2/sgalivre/painel/get_servicos.php?id_uni=%id_unidade%

# Tiempo de consulta (em milésimas de segundo)
# Define rango de consultas SQL en la búsqueda de nuevos números
# Un rango muy grande aumenta el tiempo de respuesta y puede ocurrir que gran cantidad de números
# se acumule, provocando un pico de processamento.
# Un rango muy pequeño puede tener impacto en el rendimiento de la base debido al exceso de consultas.
intervaloConsulta = 100

# Tiempo límite (en segundos) que un Panel será considerado como inactivo en caso que no tenga contacto.
# Los paneles envían señales de vida basadas en ese intervalo de tiempo.
# Un panel continuará recibiendo mensajes hasta ser considerado como inactivo.
timeoutPainel = 600

# Tiempo límite (en segundos) en que un Panel será considerado inexistente, y será removido memoria del Controlador y de la Base de Datos.
# Esta tarea permite la liberación de los recursos de la máquina ejecutando el controlador de paneles e impide la acumulación de basura en la tabla.
# Si el panel de números en la unidad está activo, es decir, iniciado antes que se cumpla ese tiempo límite, no será removido.
# padrão: 345600 segundos (96 horas)
removerPaineisIntervalo = 345600

# Horario(HH:MM:SS) en formato 24 horas, en que el controlador de paneles ehecutará las tareas de limpieza de los paneles inactivos
# Esta tarea recorre todos los paneles y remueve aquellos que están inactivos por tiempo superior a <removerPaineisIntervalo>
# Es remcomendable que esta tarea se ejecute en un horario en que el sistema esté ocioso.
removerPaineisHora = 23:50:00

Realizadas las configuraciones en el archivo server.conf, el Controlador de Paneles puede ser ejecutado, a través del script controladorpainel.sh.
El Controlador de paneles debe permanecer en ejecución todo el tiempo.

 

Ejemplo de configuración en impresora térmica Epson TM T88-V



1- Utilizar el driver que viene en el CD de instalación de la impresora o descargarlo de aquí

2- Descomprimir e instalar (driver)

3- Dar de alta en el CUPS:

    "Administracion" -> "Añadir impresora"

    Seleccionar la Epson TM/BA/EU Printer (USB TM-T88V)

    "Siguiente"

    "Nombre" epson

    "Siguiente"

    "O proporcione un archivo PPD:" seleccionar epson-tm-t88v-restertotmt.ppd (buscarlo en el directorio donde se hizo la descarga de los drivers, por ejemplo: /home/$USER/Descargas/tmt-cups/ppd/)

    "Añadir impresora"


4- Ir a "Preferencias del Sistema", "Configuracion de la impresora", "epson", "Opciones", "Paper Reduction" valor: none.

5- Abrir una consola y con el comando:

    usuario@equipo:~$ vi $HOME/.cups/lpoptions verificar que la impresora "epson" esté como default.

    Para setearla: lpoptions -d nombre_impresora.

6- Para la configuracion de Firefox, véase el documento "configFirefox".

Configuración de Firefox:

1- Abrir el Firefox

2- En la barra de navegación escribir: about:config

3- A continuación se deben realizar las siguientes modificaciones:

    print.print_paper_width; 80,00

    print.print_paper_height; 60,00

    print.tmp.printerfeatures.epson.paper.3.name;turno y decia letter

    print.print_paper_name;turno

    print.print_margin_left;0.500000012107193

    print.print_headercenter;

    print.print_headerleft;&T

    print.print_headerright;&U

    print.printer_epson.print_footerleft;&PT

    print.print_footerleft;&PT

    print.print_footerright;&D

    print.printer_epson.print_footerright;&D

    print.printer_epson.print_paper_name;turno

    print.tmp.printerfeatures.CUPS/epson.paper.7.name;turno

    print.tmp.printerfeatures.epson.paper.7.name;turno

    print.tmp.printerfeatures.CUPS/epson.paper.7.height_mm;80

    print.tmp.printerfeatures.CUPS/epson.paper.7.is_inch;;true

    print.tmp.printerfeatures.CUPS/epson.paper.7.width_mm;80

    print.tmp.printerfeatures.epson.paper.7.height_mm;80

    print.tmp.printerfeatures.epson.paper.7.name;turno

    print.tmp.printerfeatures.epson.paper.7.width_mm;80

    print.print_unwriteable_margin_bottom;15

    print.print_unwriteable_margin_left;0


Si se quiere que firefox no pida confirmación al imprimir:

    botón derecho del mouse-> Nuevo -> Logico

    cadena: print.always_print_silent

    valor: true

 

Configuración del Cron


La configuración de Cron es opcional, pero es recomendable. La idea básica es agendar una tarea en el Cron para liberar el sistema para su funcionamiento al día siguiente. O sea, es la misma funcionalidad existente en  la opción "Reiniciar Turnos", existente en el módulo Config. Global la única diferencia es la automatización del proceso por medio del agendamiento en el servidor.


Para eso, es necesario:

1) Crear un archivo llamado ".pgpass" en el directorio del usuario root que contenga una contraseña y con permiso 0600.

Esto es necesario para permitir que el comando se ejecute, sin solicitar la contraseña del usuario de PostgreSQL.

ejemplo de contenido del archivo (formato "hostname:port:database:username:password"):
*:*:sgalivre:postgres:senha



2) Crear en el Cron:
0 23 * * * root psql -d database -U usuario -c "SELECT sp_acumular_atendimentos(now())"



Aviso Importante
 
En algunas distribuciones(como Debian y Ubuntu) el PostgreSQL puede estar configurado de forma más restrictiva, generando un mensaje similar a:
 
PT-BR: psql: FATAL:  autenticación del tipo Ident falló para el usuario "root"
EN-US: psql: FATAL: Ident authentication failed for user "root"
En estas distribuciones el usuario de PostgreSQL debe coincidir con el usuario linux.

Opcionalmente se puede modificar la configuración del PostgreSQL en pg_hba.conf:
 
Restritivo:    local   all         all                               ident sameuser
Permissivo:   local   all         all                               md5



Referencia: http://www.postgresql.org/docs/8.3/static/libpq-pgpass.html

 

Instalación del Panel de Turnos


Nota importante:

Requiere Java 6 (JRE) instalado.

 

La forma recomendada para la instalación de los paquetes del panel es vía linea de comandos:

Ejemplo: sudo dpkg -i sgalivre-painel_x.x.x.deb en la distro Ubuntu

---

Es posible la instalación en otros sistemas operativos (inclusive Windows). Sin embargo, no será proporcionado el instalador para tal. En estos casos, basta con descompactar el archivo sgalivre-painel_x.x.x.tgz y ejecutar el archivo "painel.jar".

Ejemplo en otras distros de Linux: java -jar painel.jar
Ejemplo en Windows: "Hacer doble click en painel.jar"

 

El panel de número deberá ser instalado en todas las máquinas donde estarán conectados los monitores que exhibirán los números llamados. al ejecutar la primera vez, será exhibido un mensaje informando que las configuraciones iniciales deben ser aplicadas. Como se muestra en la imagen de abajo:

 install_painel01.png

Obs.: Un bug conocido (pantalla de abajo) de Java con el Compiz evita que el icono de bandeja funcione correctamente. En este caso, basta con desactivar los efectos visuales del Compiz. En Ubuntu está en el Menú Sistema, Apariencia, pestaña Efectos Visuales. Seleccionar Ninguno.

compiz_java.png

 La pantalla de configuración que se muestra abajo tiene los campos "IP do Servidor" - en este campo debe ser colocada la IP del servidor donde está instalado el controlador de paneles. Después de ingresar la dirección IP del Controlador de Paneles se debe clickear el botón "Obtener Unidades", para cargar en el panel las unidades existentes en el servidor. Después de obtener las unidades se pueden seleccionar en el campo "Seleccione Unidad". Después de seleccionar una unidad serán exhibidos en el campo "Servicio" los servicios seleccionados en la unidad, a continuación se deben elegís que servicios se mostrarán en este panel.

ATENCION: La etapa de obtener y seleccionar la unidad sólo puede ser efectuada después de la finalización de la configuración del sistema, tratado en el Manual de Usuario.

install_painel02.png

Salvando las opciones de configuración el panel será registrado en el servidor de paneles y se iniciará.

install_painel03.png

El panel de número quedara instalado en aplicativos/accesorios. Cuando es ejecutado el panel de números muestra un ícono junto al panel de sistema operacional, cerca de la fecha.

install_painel05.png

Seleccionando el icono con el botón derecho tenemos las opciones de configuración del panel "Exhibir Panel","Acerca de" y "Salir". Seleccionando la opción "Configurar Servicios" se muestra la pantalla de configuración inicial. En caso de "Configuración de Layout" se muestra una pantalla como la de abajo:

install_painel04.png

Para cambiar los colores del panel se debe clickear en el área referente al panel exhibido en el monitor a la izquierda y definir el color del área. abajo tenemos las opciones de monitor primario y secundario en caso de que se utilice más de un monitor en la máquina en que el panel está instalado. Tenemos también la secuencia de opciones de sonidos que son utilizados para las llamadas.

Por defecto el panel de números se inicia automáticamente después de ser iniciado el sistema operativo. Para ocultar el panel basta con presionar el botón izquierdo y derecho del mouse. Abajo tenemos un ejemplo de panel.

install_painel06.png

 

Volver a la Página Inicial

 

Acciones de Documento