Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
[ocultar]
1 Introducción
2 Instalación del Sistema Quipux
3 Configuración Sevidor Web
4 Instalación del servidor de Base de Datos
5 Instalación del servidor de PDFs
6 Configuración Servidor Firma Digital
Introducción
Este manual trata de ser lo más sencillo y lo más estándar posible, funciona igual en
distribuciones como Debian, Centos, Ubuntu y en teoría cualquier GNU Linux. Por el
momento, el sistema Quipux NO HA SIDO PROBADO CON SERVIDORES
WINDOWS.
mientras en Centos
La configuración que veremos es muy básica y permitirá instalar y configurar una máquina
de pruebas, para configurar un servidor real es básicamente lo mismo, pero se necesita
poner todas las seguridades para evitar ataques, se deberán modificar las contraseñas y
publicar los nombres de los servidores.
Nota: Dependiendo de sus necesidades y de los recursos con que cuenten, se puede instalar
todo el sistema en un solo equipo o en varios servidores, en un ambiente real, se sugiere
contar con tres equipos: uno para servidor web, uno para generar PDFs y uno para la base
de datos (este debe ser bastante robusto dependiendo de la carga se maneje, los otros no
consumen muchos recursos).
El sistema Quipux es un sistema de Gestión Documental que está siendo utilizado por el
Gobierno Ecuatoriano, hasta el momento en que se elaboró este manual, se tenían
registrados cerca de 25.000 funcionarios públicos y 65.000 ciudadanos; se han creado en el
sistema algo más de 2 millones de documentos; se conectan diariamente cerca de 7000
usuarios, los que generan al rededor de 20.000 documentos por día entre originales y
copias.
Está desarrollado completamente con software libre y liberado con licencia AGPL. Por
otro lado fue desarrollado y está siendo mantenido por el Estado Ecuatoriano, por lo que el
sistema es actualizado todo el tiempo y periódicamente se liberan nuevas actualizaciones
para la comunidad.
apache2
php-pear
php5
php5-gd
php5-pgsql
php-soap
subversion
sendmail
/etc/init.d/apache2 restart
Para comprobar que Apache está ejecutándose y acepta scripts PHP, se hace lo siguiente:
En /var/www cree un archivo llamado phpinfo.php, el cual debe contener las siguientes
instrucciones:
<?php
phpinfo();
?>
http://IP_SERVIDOR/phpinfo.php
5.En nuestro webroot (/var/www en Ubuntu) creamos una carpeta llamada quipux
mkdir /var/www/quipux
cp /var/www/quipux/config2.php /var/www/quipux/config.php
mkdir /var/www/quipux/bodega
mkdir /var/www/quipux/bodega/logos mkdir
/var/www/quipux/bodega/plantillas mkdir /var/www/quipux/bodega/tmp
mkdir /var/www/quipux/bodega/2010 (o el año actual)
Por seguridad se sugiere dar permisos 755 a todos los directorios y 644 a todos los
archivos.
/etc/postgresql/8.2/main
Editamos el archivo
/etc/postgresql/8.2/main/postgresql.conf:
Cambiamos la línea:
listen_addresses = '*'
/etc/postgresql/8.2/main/pg_hba.conf
Por seguridad se recomienda poner únicamente el número IP del servidor web pero si se
desea que cualquier usuario de la red tenga acceso al servidor de base de datos se puede
incluir la siguiente línea:
su postgres
psql
10.Una vez instalado, creamos una nueva conexión al servidor de BDD (hacemos click
sobre el ícono ) y nos aparecerá el siguiente wizard que nos ayudará a configurar la
conexión:
11.A continuación creamos una nueva base de datos con los siguientes parámetros:
name: quipux
owner: postgres
encoding: UTF-8
Tablespace: pg_default
12.Abrimos el editor SQL y ejecutamos los scripts para la creación de tablas y los inserts
básicos para que funcione el sistema (los scripts se encuentran en el directorio
/var/www/quipux/bdd
14.Luego configuramos la conexión del sistema Quipux con la base de datos. Editamos el
archivo
/var/www/quipux/config.php
http://IP_SERVIDOR/quipux/test_config.php
Apache2
php-pear
php5
php5-gd
php-soap
subversion
ghostscript
html2ps
3.En nuestro webroot ( /var/www en Ubuntu) creamos una carpeta llamada html_a_pdf
mkdir /var/www/html_a_pdf
cp /var/www/html_a_pdf/config2.php /var/www/html_a_pdf/config.php
cp /var/www/html_a_pdf/html_a_pdf2.wsdl
/var/www/html_a_pdf/html_a_pdf.wsdl
$nombre_servidor= 'http://IP_SERVIDOR/html_a_pdf'
Nota: no es necesario que este servidor esté publicado, basta con que el servidor Quipux
pueda acceder a el.
<soap:address location="http://IP_SERVIDOR/html_a_pdf/html_a_pdf.php"/>
$servidor_pdf = 'http://IP_SERVIDOR/html_a_pdf';
Nota 1: Las plantillas son archivos PDF de tamaño A4 en la que se tiene un margen de 4cm
en la parte superior para el encabezado y 3cm en la parte inferior para el pié de página. Se
puede poner las imágenes que se desen.
Nota 2: Hay veces que las plantillas no funcionan, es por el programa en que se las genera,
se puedes utilizar Open Office o descargarse gratis programas como el pdfcreator o el
pdf995 (recomendado). NO FUNCIONAN LAS PLANTILLAS GENERADAS CON
MICROSOFT OFFICE 2007 .
Nota 3: Por último, cuando se configuren las instituciones, por favor crear una nueva
institución, NO utilizar la institución creada por defecto.
Configuración Servidor Firma Digital
Este es el esquema de firma digital que utiliza el Quipux en estos momentos. Por un lado en
la parte izquierda esta el Quipux (Servidor Institución) y en la parte derecha el Servicio de
Firma. Se muestran también los servicios web que participan en el proceso de firma.
Cuando el usuario presiona firmar dentro del applet se llama a un servicio web en tomcat
wsappletfirmadigital64 (responsable de traer los archivos para que el usuario los firme).
Cuando termina de firmar se llama a la pantalla confirmar.php dentro del servicio de firma
y al cerrar esta pantalla se llama al servicio ws_firma_digital.php, para enviar los archivos
firmados al Quipux.
En resumen estos son los servicios web que participan en la firma : wsFirma.php (php
dentro del servidor firma) wsAppletFirmaDigital64 (para uso del applet) ws_firma_digital
(Dentro del Quipux)
/firma/bdd
/firma/instalacion
/firma/instalacion/bdd
/firma/instalacion/bdd/BDD_certificados.backup Este archivo ya no es
necesario
/firma/instalacion/bdd/BDD_firma.backup
/firma/instalacion/tomcat
/firma/instalacion/tomcat/postgresql-8.3-603.jdbc3.jar
/firma/instalacion/tomcat/WsAppletFirmaDigital64.war
/firma/instalacion/tomcat/wsFirmaDigitalQuipux_1_3.war
/firma/lib
/firma/propiedades
/firma/verificar_firma
/firma/applet.php
/firma/config2.php
/firma/confirmar.php
/firma/firma2.wsdl
/firma/funciones.php
/firma/logo.png
/firma/proyFirma_2.jar
/firma/spinner.gif
/firma/spinner_16.gif
/firma/ws_cliente_firma.php
/firma/wsFirma.php
Dentro del Código de Quipux buscamos el archivo config.php y editamos la linea donde se
encuentra declarada la variable $servidor_firma debemos agregar la dirección web donde
esta ejecutándose el código firma. Por ejemplo, si la dirección URL donde esta nuestro sitio
web funcionando y donde esta copiado el código que ejecuta el applet de firma es
http://quipux.info/firma es la que debemos poner, en la siguiente línea
$servidor_firma = "http://nombre_del_servidor_de_firma";
Modificamos de modo que esta variable apunte al servidor de firma
$servidor_firma = "http://quipux.info/firma";
cp config2.php config.php
<?php
///////// CONFIGURACION DE LA BASE DE DATOS ///////////////
$bdd_servidor = "127.0.0.1";
$bdd_puerto = "5432";
$bdd_nombre = "firma";
$bdd_usuario = "postgres";
$bdd_clave = "postgres";
$bdd_debug = false; //guarda en la tabla log_debug todos los queries
ejecutados
$bdd_email_admin = "email@administrador.com";
$servidor_nombre = "http://nombre_del_servidor_de_firma";
// Verificacion de firma
$servidor_verifica_firma_cms =
"http://SERVIDOR_TOMCAT_FIRMA/wsFirmaDigitalQuipux_1_3";
?>
cp firma2.wsdl firma.wsdl
<service name="soapapifirmaService">
<port name="soapapifirmaPort" binding="typens:soapapifirmaBinding">
<soap:address location="http://SERVIDOR_FIRMA/wsFirma.php"/>
</port>
</service>
Cambiar la información, debe tener el mismo nombre que se puso en la variable
$servidor_nombre del archivo config.php del codigo de firma. Esta es la dirección al
WebService que se encarga de procesar las peticiones de verificación y enviar los archivos
firmados a la base de datos de firma.
Ejemplo <soap:address
location="http://nombre_del_servidor_de_firma/wsFirma.php"/>
Cuando se configura el tomcat y el directorio apache firma, debe tener en cuenta el usuario
y la clave de la base de datos. Si usa postgres como usuario de la base de datos, la siguiente
línea es útil para asignar una clave al usuario postgres
passwd postgres
Dentro del directorio bin se encuentra el archivo catalina.sh. Agregar las siguientes lineas
al comienzo del archivo. Se necesitan para indicarle a tomcat donde esta la maquina virtual
de java, parámetros de memoria y donde esta instalado el tomcat.
JAVA_HOME=/usr/java/jdk1.6.0_06/
CATALINA_OPTS="-Xms256m -Xmx512m"
CATALINA_HOME=/DIRECTORIO_INSTALACION_TOMCAT6/apache-tomcat-6.0.16.5/
Dentro del código fuente de Quipux [6], se encuentra el archivo firma.zip (en la versión
tar.gz[7]) o dentro del repositorio svn Quipux-Firma-Digital [8]
Dentro del directorio firma buscamos los subdirectorios instalacion\tomcat, allí deben
encontrarse los siguientes archivos:
postgresql-8.3-603.jdbc3.jar
WsAppletFirmaDigital64.war
wsFirmaDigitalQuipux_1_3.war
Los siguientes cambios se necesitan hacerlos en los archivos .war. Es necesario editarlos .
Descomprima el archivo WsAppletFirmaDigital64.war. Ejecute los siguientes comandos.
mkdir directorioWar
cp WsAppletFirmaDigital64.war directorioWar
cd directorioWar
jar -xvf WsAppletFirmaDigital64.war (dentro de directorioWar ejecute
el comando)
Dentro de directorioWar se crean una lista de directorios y archivos es necesario editar los
siguientes:
META-INF/context.xml
WEB-INF/propiedades/parametros.properties
cd directorioWar
rm WsAppletFirmaDigital64.war
jar -cvf WsAppletFirmaDigital64.war *
<tomcat-users>
<role rolename="manager"/>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="xxxx" roles="tomcat,role1,manager"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>