Next Previous Contents

5. Configuración de Free-Vote

Una vez instalado FreeVote, es preciso proceder a su correcta configuración. Examinaremos paso por paso los apartados respectivos.

5.1 El fichero de configuración

El primer paso consiste en la creación del fichero de configuración. Para ello se debe copiar el fichero /etc/freevote.conf.dist en el fichero /etc/freevote.conf, y proceder a la edición de éste.

El fichero de configuración no es sino una secuencia de asignaciones de variables a valores. A continuación se describen éstos y sus significados:

  1. Directorios y URLs
    TMPDIR

    Directorio donde se almacenan datos y ficheros temporales. Deberá tener permisos de escritura para el usuario bajo el que se ejecute el servidor web ( normalmente nobody o www

    FREEVOTE_INST

    Directorio base de la instalación de FreeVote. Normalmente ( a menos que se haya cambiado dicho directorio, tal y como se explica en el capítulo anterior ) contendrá el valor /usr

    APACHE_CONF

    Directorio donde reside el fichero de configuración del servidor Apache.

    INSTALLDIR

    Directorio del sistema de archivos donde se deben instalar las páginas web de FreeVote durante el proceso de personalización

    WEBURL

    URL desde la que van a ser accedidas las páginas Web de FreeVote. WEBURL debe estar en el fichero de configuración de Apache direccionada a INSTALLDIR ( ver apartado sobre configuración del web )

  2. Configuración del gestor de informes y backups
    SYSLOG

    Indica la facility a la que se van a asociar los eventos de syslog() generados por FreeVote. Para más detalle consultar la página de manual syslog(3)

    LOGDIR

    Directorio donde se almacenan los ficheros de logging de FreeVote.

    BACKUPDIR

    Directorio donde se almacenan los backups de FreeVote

    Además existen una serie de variables EVENT_XXXX, que definen los diversos tipos de eventos que pueden generarse, así como los niveles de verbosidad en la generación de informes sobre dichos eventos. Para más información, cnsultar el apartado correspondiente a la configuración del registro de sucesos
  3. Variables de entorno
    USE_HTTPS

    Indica si se debe utilizar el protocolo HTTPS para el acceso a páginas con información susceptible de ser monitorizada

    USE_PGP

    Indica si nuestro sistema tiene instalado soporte de encriptación de correo, y si éste es PGP o GnuPG

    PGP_PASSWD

    Contraseña de desbloqueo para poder firmar digitalmente los mensajes generados ( ver sección referida al correo y a la configuración de PGP )

  4. Configuración de la base de datos
    DBTITLE

    Nombre "genérico" que le damos al sistema de voto una vez instalado ( eg "Votaciones ACME S.L."

    DB_PROGRAM

    Nombre del servidor de bases de datos que utilizamos. En el momento actual solo se soporta PostGreSQL

    DBNAME

    Nombre de la base de datos que contiene la información de FreeVote

    DBUSER

    usuario propietario de la base de datos . Notesé que se refiere a un usuario PostGreSQL, no necesariamente a un usuario del sistema

    DBPASSWD

    contraseña de acceso a la DB por parte del usuario anterior

    DBHOST y DBPORT

    Servidor y puerto de acceso en el que reside la base de datos

  5. Datos administrativos. Se incluyen aquí los datos referidos a nombre, apellidos, etc del administrador de la base de datos. FreeVote utiliza estos datos para crear el superusuario del sistema

Como es obvio, dadas las características de los datos contenidos en este fichero, deberá estar instalado en modo de solo lectura para el usuario root

5.2 Instalación de las páginas web

Una vez editado el fichero de configuración, el siguiente paso es compilar e instalar los templates de las páginas web extraídas del paquete, así como de generar diversos ficheros auxiliares.

El método mas sencillo es utilizar el programa de instalación previsto a tal ejemplo. Supondremos de ahora en adelante que FreeVote se ha instalado en el directorio /usr. y procederemos a ejecutar:

/usr/bin/freevote_install.sh --install-files

Dicho programa realiza las siguientes tareas:

5.3 Configuración del Servidor de Bases de Datos

La configuración del servidor de bases de datos, es sin duda la parte más complicada de la instalación. Por ello, se han previsto una serie de scripts para facilitar la labor. No obstante, y puesto que en ocasiones ( por ejemplo en caso de caida del sistema y necesidad de una recuperación manual ) será necesario realizar alguna de estas tareas a mano, procedemos a describirlas en detalle.

Creación del usuario operador del sistema FreeVote.

FreeVote accede a la base de datos a través del usuario definido como DBUSER y con la contraseña DBPASSWD tal y como figuran en el fichero de configuración.

La creación del propietario de la base de datos puede realizarse de dos maneras:

Creacion de la base de datos y sus declaraciones

Al igual que en el apartado anterior podemos realizarlo, bien a mano, bien mediante un script

Creación del usuario administrador de FreeVote

FreeVote soporta diversas categorías de usuarios. El más destacable es el administrador. Los datos de éste son definidos en el fichero de configuración. Para crear dicho usuario Ejecutaremos el comando:

/usr/bin/freevote_install.sh --register-sysop

El programa toma los datos del fichero de configuración, registra el usuario, y le asigna una contraseña aleatoria, que se guarda en la copia de seguridad del fichero de configuración que se almacena en BACKUPDIR.

No es recomendable el crear este usuario a mano, pues se debe garantizar que tenga userid=1 y groupid=6. En caso necesario, procedase a estudiar el script de instalación para realizar esta tarea

5.4 Sistema de correo

Las operaciones de personalización del correo se reducen a ajustar las opciones referidas al gestor de correo existentes en el fichero /etc/httpd/php3.ini, y a preparar el soporte de firma y encriptación PGP en caso de que éste se vaya a utilizar.

Es preciso, en el caso de que se desee soporte PGP/GnuPG, que la direccion de correo ADMIN_EMAIL tenga generadas y definidas las claves pública y privada en el anillo de claves que utiliza FreeVote. En la sección correspondiente a la configuración de PGP/GnuPG se detalla el procedimiento

NOTA:En el momento actual PGP no está soportado , debiendo utilizar GnuPG si se desea firmado digital de los mensajes

5.5 Soporte PGP/GnuPG

Free-Vote Incorpora la posibilidad de firmar y encriptar los mensajes generados por el sistema, de manera que se certifique el origen de éstos. Esto es necesario especialmente en las operaciones relacionadas con la intervención de una votación.

NOTA: En el momento actual, FreeVote no soporta PGP, sino sólo GnuPG. Del mismo modo no está habilitada la opción de encriptar los mensajes, funcionando solamente la firma de éstos

La variable USE_PGP del fichero de configuración indica el programa a utilizar. Seleccionaremos "NONE" , "PGP" ,o "GnuPG", según sea nuestro caso

El siguiente paso es crear las estructuras y directorios necesarios para el funcionamiento del soporte PGP desde el servidor Web: Los mensajes generados por Free-Vote van firmados por el usuario ADMIN_EMAIL, por lo que es necesario crear y exportar las claves para dicho usuario

El script de instalación freevote_install.sh contiene la opción --install-pgp que realiza las opereciones necesarias:

Si bien es posible realizar las operaciones de forma manual, se recomienda utilizar el script proporcionado para ello

BUG: La versión actual de freevote, presupone que los ejecutables de gpg y pgp residen en /usr/bin. En caso de que esto no sea así será preciso editar el fichero tools.php3 y corregirlo

5.6 Sistema de eventos y logging

El programa de personalización habrá configurado correctamente el fichero /etc/syslog.conf. Comprobaremos este punto, y en el caso de que todo sea correcto se deberá proceder a relanzar el demonio de syslog

FreeVote define diversos tipos de evento, asociados cada uno a un tipo de operaciones sobre el sistema:

EVENT_AUTH

Autentificacion de usuarios

EVENT_ADMIN

Operaciones de administracion

EVENT_ACCESS

Registro de accesos al web

EVENT_VOTE

Operaciones de voto y solicitud de clave

EVENT_REGISTRY

Registro de usuarios, consultas e interventores

EVENT_DEBUG

Operaciones de sistema, trazas, etc

Cada una deberá estar previamente definida en el fichero de configuración con el nivel adecuado, acorde con el comando syslog(3). Para la mayor parte de las instalaciones, la configuración propuesta será la correcta

5.7 SSL y Certificación digital

La variable USE_HTTPS del fichero de configuración, indica al sistema si se desea o no el uso de conexiones SSL para poder operar con FreeVote. Un valor de '0' ( cero ) hará que no se utilicen conexiones seguras en el sistema, activándose si dicha variable tiene el valor '1' (uno)

Si tenemos instalado el soporte para SSL y además el de certificación digital podemos proceder a personalizar la configuración para la aceptación de certificados digitales. Para ello, editamos el fichero /etc/httpd/conf/httpd.conf.freevote, generado en el proceso de instalación y ajustamos el valor de la variable SSLVerifyClient. Existen las siguientes opciones:

none

No se requiere el uso de certificación digital

optional

Se le pide certificado al cliente, pero se permite continuar la ejecución si no es presentado el certificado

required

Es precisa la presentación de un certificado digital para poder acceder a las páginas

Para poder utilizar certificados digitales, el sistema debe estar correctamente instalado y configurado. Se remite al lector a las páginas del manual sobre mod_ssl y OpenSSL, para la configuración del resto de parámentros del soporte SSL

5.8 Ajuste del crontab y gestión de tareas periódicas

Verificar que el programa de instalación ha modificado correctamente el fichero crontab del usuario root. En caso necesario, se almacena en BACKUPDIR una copia de las entradas del crontab asociadas a FreeVote

5.9 Pruebas finales

Una vez realizado este proceso, procederemos a relanzar el servidor web y el servidor de bases de datos. Accediendo al navegador a la página principal ( definida como WEBURL ) , deberemos obtener la página de bienvenida. Comprobaremos, accediendo a los menús de consultas que el acceso vía SSL funciona correctamente, y que el acceso a la base de datos tampoco da problemas.

En caso necesario se proporciona un script de ejemplo /usr/lib/freevote/lib/ejemplo.sql , con una serie de usuarios y consultas predeterminadas. El operador puede jugar con este script para familiarizarse con el sistema antes de ponerlo en producción

Es muy importante que el operador recuerde que en caso de modificar el fichero de configuración, será preciso reinstalar el sistema, o al menos aquellas partes que se hayan visto afectadas. En concreto el comando

/usr/bin/freevote_install.sh --install-files
será necesario ejecutarlo siempre, pues es preciso reconstruír unos ficheros internos necesarios para el funcionamiento del servidor PHP


Next Previous Contents