Manual de Instalación del Sistema de Gestión Documental Quipux Junio de 2010
1.- Introducción Introducción He tratado de hacer un manual 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 Linu, nosotros lo tenemos funcionando al !""# en Ubuntu $por lo tanto funciona en Debian% en las máquinas de desarrollo y en Centos &'( en los ser)idores de producci*n' +h y por cierto, el sistema uipu N- .UNC/-N+ C-N 0123/D-210 4/ND-40, lo lamento''' 1l manual lo desarroll5 basado en Ubuntu, porque es el sistema operati)o que actualmente estoy utili6ando, la instalaci*n es la misma sin importar su distribuci*n, claro, teniendo en cuenta que la paquetería se instala diferente en cada sistema7 por e8emplo para instalar apache en Debian o Ubuntu e8ecutamos 9aptitude install apache(: mientras en Centos 9yum install httpd: y algunos archi)os están ubicados en sitios diferentes' 1n este manual no )oy a ense;arles como instalar los diferentes paquetes, en internet ustedes pueden encontrar suficiente informaci*n para instalarlos' La configuraci*n que )eremos es muy básica y les ayudará a instalar y configurar una máquina de pruebas, para configurar un ser)idor real es básicamente lo mismo, pero ustedes deberán encargarse de poner todas las seguridades necesarias para que no est5n epuestos a ataques, deberán modificar las contrase;as y publicar los nombres de sus ser)idores' Nota: Nota: Dependiendo de sus necesidades y de los recursos con que cuenten, pueden instalar
todo el sistema en un solo equipo o en )arios ser)idores, en un ambiente real les sugiero contar con tres equipos< uno para ser)idor =eb, uno para generar >D.s y uno para la base de datos $este debe ser bastante robusto dependiendo de la carga que mane8en, los otros no consumen muchos recursos%' ? antes de comen6ar con la instalaci*n, algo de propaganda''' 1l sistema uipu es un sistema de Gesti*n Documental que está siendo utili6ado por el Gobierno 1cuatoriano, hasta el momento que elabor5 este manual, tenía registrados cerca de (&'""" funcionarios p@blicos y A&'""" ciudadanos7 se han creado en el sistema algo más de ( millones de documentos7 se conectan diariamente cerca de B""" usuarios, los que generan al rededor de ("'""" documentos por día entre originales y copias'
1s posible que el sistema no cumpla con todas sus epectati)as, pero es un sistema que funciona, está desarrollado completamente con soft=are libre y liberado con licencia +G>L, por lo que si hay algo que no les gusta, ustedes mismos pueden hacer los cambios que requieran' >or otro lado fue desarrollado y está siendo mantenido por el 1stado 1cuatoriano, por lo que el sistema es actuali6ado todo el tiempo y peri*dicamente se liberan nue)as actuali6aciones para la comunidad' +hora si, manos a la obra'
2.- Instalación del Sistema Quipux. 3amos a di)idir nuestra instalaci*n como si lo hici5ramos en equipos diferentes< 0e)idor 4eb 0er)idor de ase de Datos 0er)idor para generar >D.s • • •
Eodo esto se puede configurar en un solo equipo, como les decía depende de la infraestructura que le )ayan a asignar al sistema' Nota: >or el momento no instalaremos el m*dulo de firma digital, apenas pueda actuali6o este
manual con la informaci*n de ese m*dulo'
2.1.- Instalación del seridor !"# !' /nstalamos el sistema operati)o (' /nstalamos los siguientes paquetes< +pache( php& php&Fgd php&Fpgsql phpFsoap sub)ersion sendmail • • • • • • •
' 1ditamos el archi)o 9php'ini: $etcphp&apache(php'ini en Ubuntu% y modificamos los siguientes )alores de las )ariables de configuraci*n' registerglobals I -ff registerlongarrays I -ff displayerrors I -n J$@nicamente mientras configuran el sistema, luego les sugiero regresarla a 9-ff:%' shortopentag I -n memorylimit I ( JKínimo (, se sugiere A o !(M • • •
• •
' 2einiciamos el ser)idor apache< etcinit'dapache( restart •
>ara comprobar que +pache está e8ecutándose y acepta scripts >H>, hacemos lo siguiente< 1n 9)ar===: cree un archi)o llamado phpinfo'php, el cual debe contener las siguientes instrucciones< Ophp OP
phpinfo$%7
+bra su na)egador 4eb y en la direcci*n U2L coloque< http</>0123/D-2phpinfo'php esto deberá mostrarle una página con informaci*n de la configuraci*n de >H>'
0i todo )a bien hasta aquí, borramos el archi)o creado' &' 1n nuestro =ebroot $)ar=== en Ubuntu% creamos una carpeta llamada 9quipu: mQdir )ar===quipu •
A' Utili6ando 0ub)ersi*n, descargamos la @ltima )ersi*n del sistema uipu en la carpeta que acabamos de crear con el siguiente comando< s)n checQout http<s)n'quipu'orgquipu )ar===quipu •
B' Creamos el archi)o de configuraci*n del sistema uipu< cp )ar===quipuconfig('php )ar===quipuconfig'php •
M' Creamos el repositorio de archi)os< mQdir )ar===quipubodega mQdir )ar===quipubodegalogos mQdir )ar===quipubodegaplantillas mQdir )ar===quipubodegatmp mQdir )ar===quipubodega("!( $o el a;o actual% • • • • •
R' 1ditamos el archi)o 9)ar===quipuconfig'php: y completamos la siguiente informaci*n en base a nuestros parámetros< 1mail del 0uper +dministrador del 0istema U/>US Tamdemail I administradorVdominio'com7 email de la cuenta de soporte Tcuentamailsoporte I soporteVdominio'com7 email de la cuenta desde la que se en)iarán los recordatorios a los usuarios Tcuentamailen)io I recordatorioVdominio'com7
Nombre de nuestro ser)idor7 por e8emplo< http<quipu'dominio'com o http<!(B'"'"'!quipu o http<!R('!AM'"'&quipu Tnombreser)idorIhttp<nombreser)idorquipu7 !"' Cambiamos los permisos y el propietario de las carpetas y archi)os< cho=n F2 apache
>or seguridad sugerimos dar permisos B&& a todos los directorios y A a todos los archi)os' !!'>or @ltimo accedemos a la aplicaci*n desde $http</>0123/D-2quipu%, debe mostrarse esta pantalla<
nuestro
na)egador
2.2.- Instalación del seridor de #ase de Datos !' /nstalamos el sistema operati)o (' /nstalamos el ser)idor de base de Datos >ostgresql, se sugiere la )ersi*n R'! pero el sistema funciona correctamente con )ersiones anteriores' ' Kodificamos los archi)os de configuraci*n de postgres'/ngresamos al directorio etcpostgresqlR'main y configuramos los archi)os postgresql'conf y pghba'conf 1ditamos el archi)o etcpostgresqlR'mainpostgresql'conf< Cambiamos la línea< listenaddresses I Z[Z +
continuaci*n
editamos
el
archi)o
etcpostgresqlM'(mainpghba'conf
y
aumentamos el N@mero /> de la máquina J />) local connections< host all all !(B'"'"'!( md& host all all !R('!AM'"'((( md& $suponiendo que el /> de la máquina sea !R('!AM'"'((% >or seguridad se recomienda poner @nicamente el n@mero /> del ser)idor =eb pero si se desea que cualquier usuario de la red tenga acceso al ser)idor de base de datos se puede incluir la siguiente línea< host all all !R('!AM'"'"( md& $suponiendo que el n@mero de la subred sea !R('!AM'"'"% ' 2einiciamos el ser)idor de base de datos >ostgre0L sudo etcinit'dpostgresqlFR' restart &' Cambiamos la cla)e del usuario postgres sudo pass=d postgres A' Nos cambiamos de usuario al usuario postgres su postgres B' /ngresamos al ser)idor de base de datos >ostgre0L con el comando psql M' Cambiamos la contrase;a del usuario postgres de la base de datos y salimos de psql +LE12 U012 postgres 4/EH >+004-2D Znue)opass=ordZ7 Yq R' >ara mayor facilidad en la administraci*n de la base de datos )amos a utili6ar el paquete 9pg+dmin ///:, lo podemos instalar en otra máquina y con este nos conectamos a nuestro ser)idor de base de datos' 10.
Una )e6 instalado, creamos una nue)a conei*n al ser)idor de DD $hacemos chlicQ sobre el ícono conei*n'
% y nos aparecerá el siguiente =i6ard que nos ayudará a configurar la
!!' + continuaci*n creamos una nue)a base de datos con los siguientes parámetros< name< quipu o=ner< postgres encoding< UE.FM Eablespace< pgdefault
12.
+brimos el editor 0L y e8ecutamos 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 )ar===quipubdd%'
!'Caso contrario podemos restaurar desde el bacQup que se encuentra en el mismo directorio' >ara esto damos un clicQ derecho sobre la base de datos y seleccionamos la opci*n 92estaurar: y nos aparecerá un =i6ard que nos ayudará a restaurar la base de datos<
\nicamente marcamos la opci*n 9No o=ner: y )erificamos que no eistan errores en el proceso' !' Luego configuramos la conei*n del sistema uipu con la base de datos< 1ditamos el archi)o )ar===quipuconfig'php $en el ser)idor uipu% y cambiamos las siguientes )ariables< $usuario I Usuario de la base de datos7 $contrasena I Contrase;a de la base de datos7 $seridor I 90er)idor de DD
!&' >or @ltimo ingresamos a la aplicaci*n'
!A' 1n el campo c5dula ponemos 9+DK/N/0E2+D-2: y la contrase;a es 9!(: e ingresamos al sistema'
Nota: 0i tienes alg@n problema para ingresar y no se te muestra esta pantalla, te sugiero e8ecutar el archi)o testconfig'php, este archi)o )erifica que )arios de los puntos de la configuraci*n est5n correctos y te da sugerencias para solucionar los incon)enientes' /ngresa desde desde tu na)egador 4eb http</>0123/D-2quiputestconfig'php
2.&.- Instalación del seridor de 'D(s !' /nstalamos el sistema operati)o (' /nstalamos los siguientes paquetes< +pache( phpFpear php& php&Fgd phpFsoap sub)ersion ghostscript html(ps • • • • • • • •
' 1n nuestro =ebroot $)ar=== en Ubuntu% creamos una carpeta llamada 9htmlapdf: mQdir )ar===htmlapdf •
' Utili6ando 0ub)ersi*n, descargamos la @ltima )ersi*n del m*dulo para generaci*n de
>D.s en la carpeta que acabamos de crear con el siguiente comando< s)n checQout http<s)n'quipu'orghtmlapdf )ar===htmlapdf •
&' Creamos los archi)os de configuraci*n< cp )ar===htmlapdfconfig('php )ar===htmlapdfconfig'php cp )ar===htmlapdfhtmlapdf('=sdl )ar===htmlapdf htmlapdf'=sdl • •
A' Kodificamos el archi)o config'php en base a los datos de nuestro ser)idor< $nom%re)seridor I Zhttp</>0123/D-2htmlapdfZ Nota< no es necesario que este ser)idor est5 publicado, basta con que el ser)idor uipu pueda acceder a el' B' 1ditamos el archi)o htmlapdf'=sdl y al final del archi)o cambiamos la )ariable soap< address location< soap0123/D-2htmlapdfhtmlapdf'phpP 1ste archi)o es fundamental para la comunicaci*n entre el ser)idor uipu y el 0er)idor de >D.s' >ara probar la conei*n ingresamos desde nuestro na)egador =eb la siguiente direcci*n y debe mostrarse la siguiente pantalla< http</>0123/D-2htmlapdfhtmlapdf'phpO=sdl
M' >or @ltimo le indicamos a nuestro ser)idor uipu la direcci*n de nuestro ser)idor de >D.s< 1ditamos el archi)o )ar===quipuconfig'php $en el ser)idor uipu% y cambiamos la siguiente )ariable< $seridor)pd* I Zhttp</>0123/D-2htmlapdfZ7
Nota 1: Las plantillas son archi)os >D. de tama;o + en las que tienes un margen de cm en
la parte superior para el encabe6ado y cm en la parte inferior para el pi5 de página' >uedes poner imágenes o lo que t@ desees' Nota 2: Hay )eces que las plantillas no funcionan, es por el programa en que las generas,
puedes utili6ar -pen -ffice o descargarte gratis programas como el pdf creator o el pdfRR& $recomendado%' N- .UNC/-N+N L+0 >L+NE/LL+0 G1N12+D+0 C-N K/C2-0-.E -../C1 (""B' Nota &: La instalaci*n del m*dulo de firma digital les quedo debiendo' Nota +: >or @ltimo, cuando configuren sus instituciones, creen una nue)a instituci*n, N-
utilicen la instituci*n creada por defecto'
1spero que este manual les haya sido de utilidad' 0aludos cordiales' Kauricio Haro +costa