1. Prerrequisitos

     * Sistema tipo Unix, recomendamos OpenBSD 4.3 (ver
       http://structio.sourceforge.net/guias/usuario_OpenBSD/) y en
       particular la distribución Aprendiendo de Jesús (ver
       http://aprendiendo.pasosdeJesus.org).
     * Para hacer pruebas durante la configuración puede emplear una
       consola y el navegador tipo texto lynx, sin embargo se sugiere
       configurar X-Window (ver
       http://structio.sourceforge.net/guias/usuario_OpenBSD/sobre-la-inst
       alacion.html#configuracion-de-xfree86) y un navegador gráfico como
       mozilla-firefox.
     * Se sugiere crear dos imágenes encriptadas en las que residirán la
       base de datos y copias de respaldo respectivamente. Cada una debe
       ser al menos de 100MB aunque se sugiere 700MB --para que quepa cada
       una en un CD por si desea mantener copias de respaldo (ver
       http://structio.sourceforge.net/guias/usuario_OpenBSD/configuracion
       -de-algunos-dispositivos.html#imagen-encriptada).
     * Servidor web con SSL, recomendamos Apache con mod_ssl (ver
       http://structio.sourceforge.net/guias/servidor_OpenBSD/apache.html#
       ssl). Sugerimos que lo ejecute con chroot en /var/www y que cree el
       directorio /var/www/tmp para que PostgreSQL ubique su socket allí,
       con permisos de ejecución, lectura y escritura para todos.
     * PostgreSQL (ver
       http://structio.sourceforge.net/guias/servidor_OpenBSD/postgresql.h
       tml#primera-instalaci%C3%B3n), sugerimos que la configure para usar
       sockets en /var/www/tmp. Así mismo se sugiere que active
       autovaciado en /var/postgresql/data/postgresql.conf con las líneas:
autovacuum = on
stats_start_collector = on
stats_row_level = on

     * PHP 5 con módulo para PostgreSQL y Pear (ver instalación de PHP 5
       en
       http://structio.sourceforge.net/guias/servidor_OpenBSD/apache.html#
       php).
       Se sugiere editar /var/www/conf/php.ini para asegurar que tiene:
max_execution_time = 900
max_input_time = 900

       así cada analista tendrá más tiempo de edición en algunos casos.
       Para instalar pear en OpenBSD, configure la variable PKG_PATH (ver
       http://structio.sourceforge.net/guias/usuario_OpenBSD/paquetes-y-po
       rtes.html#paquetes ) y ejecute:
# pkg_add $PKG_PATH/pear-version.tgz

     * Puede instalar algunos paquetes estables de pear que también están
       disponibles como paquetes de OpenBSD por ejemplo con:
# pkg_add pear-DB

       Otros paquetes estables para pear los puede instalar con una
       conexión a Internet por ejemplo con:
# pear install Auth
# pear install HTML_Common
# pear install HTML_Menu
# pear install HTML_QuickForm
# pear install HTML_QuickForm_Controller
# pear install HTML_Table
# pear install HTML_Javascript
# pear install HTML_CSS
# pear install Date
# pear install DB_DataObject
# pear install Mail
# pear install Mail_Mime
# pear install Net_Socket
# pear install Net_SMTP
# pear install Benchmark
       Y los paquetes en desarrollo en el momento de este escrito los
       puede descargar e instalar con:
# pear download Validate
# pear install ./Validate-*
# pear download DB_DataObject_FormBuilder
# pear install ./DB_DataObject_FormBuilder-*

2. Procedimiento de instalación

    1. Aunque no es indispensable se recomienda que cree una cuenta para
       sivel (digamos con login sivel).
    2. Instale en un directorio utilizable por Apache con SSL. Por ejemplo
       si las fuentes están en ~/baja/sivel-1.0.1.tar.gz y va a instalar
       en el directorio /var/www/users/sivel que debería ser visible para
       Apache, emplee:
# cd /var/www/users
# mkdir sivel
# ln -s /var/www/users/sivel/ /home/sivel/sivel
# cd /home/sivel
# tar -x -vz -s "/sivel-[0-9.]*/sivel/g" -f ~/baja/sivel-1.0.1.tar.gz
# cd sivel
# chown -R sivel:sivel .
# chmod -R a+r .
# chmod -R a+x aut
# chmod -R go-rx bin
# touch ultimoenvio.txt
# chown www:www ultimoenvio.txt

       Después puede editar /var/www/conf/httpd.conf y cambiar algunas
       líneas de la configuracion de SSL (remplace miServidor y
       micorreo@midominio.org por valores apropiados para su caso):
DocumentRoot /var/www/users/sivel
ServerName miServidor
ServerAdmin micorreo@midominio.org
ErrorLog logs/error_log
TransferLog logs/access_log

    3. Cree un usuario para PostgreSQL para manejar la base de datos:
# mkdir /var/www/tmp
# chmod a+w /var/www/tmp
# su - _postgresql
$ createuser -h /var/www/tmp/ -A -d sivel
$ exit

    4. Ejecute el archivo de comandos de configuración:
./conf.sh

    5. En el directorio con fuentes (/home/sivel/sivel) copie el archivo
       aut/conf.php.plantilla en aut/conf.php y edite este último (sólo
       tendrá que hacer cambios si empleó un usuario o desea emplear una
       base de datos con un nombre diferente a sivel). Asegurese de tener
       un usuario para PostgreSQL y que tal usuario quede configurado en
       aut/conf.php
       Copie el archivo DataObject.ini.plantilla en DataObject.ini y
       editelo (debe coincidir usuario con el de aut/conf.php).
       Copie el archivo vardb.sh.plantilla en vardb.sh y modifique la ruta
       de instalación en la variable dirap.
       Pude poner el logo de su organización en imagen/FondoSecc.jpg. Si
       el nombre de la base de datos que emplea no es sivel (digamos que
       es sivel-devel) cree enlaces simbólicos:
ln -s sivel.ini sivel-devel.ini
ln -s sivel.links.ini sivel-devel.links.ini

    6. Para crear y poblar la base de datos, desde una cuenta con permiso
       para crear bases de datos de PostgreSQL (en este ejemplo sivel)
       ejecute:
        ./bin/creapg.sh

    7. Agregue uno o más usuarios con:
        ./bin/agus.sh

       Uno de los usuarios que cree debe estar en el rol de administrador.
    8. Desde un navegador abra el directorio en el que instaló. Si lo
       requiere puede revisar errores en la bitácora de Apache (por
       defecto /var/www/log/error_log).

2.1. Otros pasos de instalación opcionales

    1. Si desea generar la documentación:
$ cd doc
$ ./conf.sh
$ cp personaliza.ent.plantilla personaliza.ent

       modifique personaliza.ent y finalmente:
make

    2. Si desea configurar un esquema de respaldos puede emplear los
       archivos de comandos bin/pgdump.sh y bin/respaldo.sh, que facilitan
       hacer respaldo diario y mantener la copia del último mes en el
       computador local y opcionalmente de la última semana en un
       computador remoto. Requieren scp y algunas variables de
       configuración de aut/conf.php (ver Sección 2.1, "Copias de respaldo
       y restauración").
    3. Para activar corrección ortográfica, instale ispell e
       ispell-spanish. Si Apache corre chroot en un directorio (digamos
       /var/www), cree en ese directorio la estructura de directorios que
       requieren ispell e ispell-spanish y copie lo básico de estos en la
       nueva estructura ---las librerías compartidas que ispell requiera
       puede verlas con ldd. Eventualmente podrá efectuar estas
       operaciones con el script bin/prep-chroot.sh distribuido junto con
       las fuentes de SIVeL.
       Una vez instale y pruebe ispell en el directorio chroot, desde el
       directorio de fuentes de SIVeL verifique que la ruta esté
       especificada en confv.empty (variable CHROOT) y ejecute:
$ rm confv.sh
$ ./conf.sh

       Finalmente puede editar aut/conf.php para modificar el mensaje que
       se presenta cuando se encuentras errores ortográficos
       (MENS_ORTOGRAFIA).
       Una vez en operación podrá agregar palabras que sean correctas en
       el diccionario configurado (por defecto está en las fuentes de
       SIVeL con nombre ispell.dic); una palabra por línea, sin dejar
       espacios a izquierda ni derecha. Si va a agregar palabras con
       tildes, cambie la vocal tildada por la vocal sin tilde pero con un
       apostrofe como prefijo, por ejemplo la palabra "nación" se agrega
       como "naci'on" (sin comillas).
    4. Para publicar la Consulta Web en Internet y activar
       retroalimentación encriptada por correo vea Sección 2.3,
       "Retroalimentación por correo desde Consulta Web".
