[[PageOutline(2-5,Índice)]] = Instalación del servidor Hidra-EAC = == Instalación de EACserver == EACserver 008r6 es una distribución Ubuntu 8.10 modificada con las funciones de clonación. Se instala como ''live-cd'' donde sólo se elige la distribución de particiones para el sistema. En el primer arranque del servidor se deben establecer los parámetros de red del servidor (IP, red, máscara, difusión, ''router'', parámetros para ''multicast'', etc), además de elegir las funciones básicas de clonación (por el momento: Partimage y NTFS Clone). === Configurar DHCP estático === El servidor DHCP por defecto de EAC asigna direcciones de forma dinámica. Para convertirlo en un DHCP estático (a la misma dirección MAC se le asigna la misma dirección IP), hacer los siguientes cmabios en el fichero {{{/etc/dhcp3/dhcpd.conf}}}: * Cambiar la línea "{{{autoritative;}}}" por "{{{not-autoritative;}}}". * Borrar la línea "{{{range ...;}}}". * Asignar las IPs a las Ethernet correspondientes. Por último reiniciar el servicio DHCP, ejecutando: {{{ /etc/init.d/dhcp3-server restart }}} === Instalar GNOME en el servidor EAC === (opcional) EAC incluye un entorno gráfico ligero que no se arranca automáticamente. Por comodidad, conviene instalar GNOME e incluirlo en el arranque del sistema, ejecutando: {{{ apt-get install gnome-common gnome-control-center gnome-terminal mv /etc/rc2.d/K01gdm /etc/rc2.d/S99gdm /etc/init.d/gdm start }}} === Configuración de !DansGardian === Si se va a utilizar el filtro para web !DansGuardian, hay que modificar la configuración de !DansGuardian para que use el proxy local, editando {{{/etc/dansguardian/dansguardian.conf}}}, añadiendo: {{{ #!sh ... # IP y puerto del proxy local al que se conecta DansGuardian. proxyip = 10.1.12.17 proxyport = 8080 ... }}} == Cargar el código del repositorio == Se tiene definido un repositorio Subversion para almacenar las modificaciones del proyecto, tanto los cambios propios en EAC como el desarrollo de Hidra. En primer lugar hay que hacer copia de seguridad del directorio de administración de EAC: {{{ mv /var/EAC/admin /var/EACadmin-orig }}} Cargar el repositorio en el directorio de trabajo: {{{ svn checkout svn://www.informatica.us.es:3690/opengnsys }}} Copiar el directorio de administración de EAC y los ''scripts'' de Hidra. {{{ #!sh cd eac-hidra/trunk cp -pr EAC/admin /var/EAC mkdir /var/EAC/hidra cp -pr Hidra/scripts /var/EAC/hidra }}} Recuperar el fichero original de configuración de EAC: {{{ cp -p /var/EAC/admin-orig/config/EAC.conf /var/EAC/admin/config }}} El fichero de configuración {{{parametrosaccesoBD.php}}} es un enlace simbólico a EAC.conf, al traerlo del repositorio viene mal. Lo borramos y creamos el enlace de nuevo: {{{ #!sh cd /var/EAC/admin/config rm parametrosaccesoBD.php ln -s EAC.conf parametrosaccesoBD.php }}} Comprobar que los ''scripts'' tienen permiso de ejecución. Si no es así haremos: {{{ chmod +x /var/EAC/{admin/procedimientos,hidra/scripts}/* }}} == Utilizando Hidra en los clientes == === Modificaciones en el servidor EAC === Para que los clientes ejecutar los scripts de Hidra es necesario que el servidor exporte por NFS el directorio {{{/var/EAC/hidra}}}, añadiendo la siguiente línea en el fichero {{{/etc/exports}}}: {{{ /var/EAC/hidra 10.1.12.0/255.255.252.0(ro,no_subtree_check,no_root_squash,sync) }}} Reexportar los directorios definidos, ejecutando: {{{ exportfs -va }}} === Modificaciones en el arranque de los clientes === Asimismo, hay que modificar el proceso de arranque de los clientes para importar dicho directorio y configurar el entorno. Para ello, hay que editar en el servidor EAC el fichero {{{/var/EAC/nfsroot/stable/etc/rc.local}}}, añadiendo: {{{ #!sh ... # Cambiar la IP del servidor NTP correspondiente. ntpdate 10.1.12.17 ... # Crear el directorio para Hidra mkdir -p /var/EAC/hidra 1>/dev/null 2>&1 ... # Montar el directorio de Hidra mount -t nfs ${IPservidor}:/var/EAC/hidra /var/EAC/hidra ... # Preparar el entorno y cargar las librerías de EAC. source /var/EAC/hidra/scripts/hidraEnviron # Comentar o quitar las líneas que recargan las librerías de EAC. ... }}} Modificar el entorno de ejecución de BASH, editando el fichero {{{/var/EAC/nfsroot/stable/etc/bash.bashrc}}}, añadiendo: {{{ #!sh ... # Preparar el entorno y cargar las librerías de EAC. source /var/EAC/hidra/scripts/hidraEnviron # Comentar o quitar las líneas que recargan las librerías de EAC. ... }}} Para no usar Qingy como programa de ''login'' gráfico en la tty1, editar el fichero {{{/var/EAC/nfsroot/stable/etc/event.d/tty1}}}, añadiendo: {{{ #!sh ... # Comentar la línea de Qingy. #exec /usr/sbin/qingy tty1 # Añadir la línea de Getty. exec /sbin/getty 38400 tty1 ... }}} == Compilación de servidor y cliente Hidra == === Compilación e instalación del cliente Hidra === En el servidor se compila el cliente Hidra, que luego será copiado a la imagen de arranque de los PCs clientes. Para compilarlo, ejecutar: {{{ #!sh cd /var/EAC/hidra/hidrac make }}} Copiar el ejecutable y el fichero de configuración bajo el directorio {{{/usr/local}}} del NFS del cliente: {{{ #!sh cp hidra /var/EAC/nfsroot/stable/usr/local/bin cp hidra.cfg /var/EAC/nfsroot/stable/usr/local/etc }}} === Compilación del servidor Hidra === Se necesita tener instalado el paquete de código para cliente MySQL ({{{libmysqlclient15-dev}}). Luego puede compilarse e instalarse el servidor: {{{ #!sh apt-get install libmysqlclient15-dev cd /var/EAC/hidra/hidra make make install }}} El ejecutable del servicio se copia en {{{/usr/local/sbin}}} y el fichero de configuración en {{{/usr/local/etc}}}. Hay que definir en dicho fichero las variables {{{IPhidra}}} y {{{DataSource}}} con la IP del servidor Hidra. === Compilación del servidor de repositorio Hidra === Para compilar e instalar el servicio de repositorio de imágenes de Hidra, ejecutar: {{{ #!sh cd /var/EAC/hidra/hidrarepos make make install }}} El ejecutable del servicio se copia en {{{/usr/local/sbin}}} y el fichero de configuración en {{{/usr/local/etc}}}. Hay que definir en dicho fichero las variables {{{IPlocal}}} e {{{IPhidra}}} con las IP del servidor de repositorio y del web de Hidra. === Crear la base de datos === Volcar el contenido del fichero SQL de la base de datos y establecer los permisos de acceso para que coincidan con los ficheros del web. {{{ cd /var/EAC/hidra/doc mysql -p <<<"CREATE DATABASE bdhidra; GRANT ALL PRIVILEGES ON bdhidra.* TO usuhidra@localhost IDENTIFIED BY 'passusuhidra'" mysql -u usuhidra -p bdhidra < hidra-bd.sql }}} === Instalar el web de Hidra === Se copian todos los ficheros del web de Hidra en el directorio del servicio web de la máquina. Deben estar previamente instalados los paquetes de Apache, PHP y MySQL. {{{ cd /var/EAC/hidra cp -pr webhidra /var/www }}} '''NOTA: hay que revisar los ficheros {{{controlacceso.php}}} y {{{vuelcadispositivos.php}}}.''' La URL de acceso al web de Hidra es {{{http://Servidor/webhidra/acceso.php}}}. ==== Instalar el modulo webeac a webhidra (proceso de migración) ==== copiar el directorio webeac a /var/www/webhidra/principal [[BR]] debemos asegurarnos que existe el enlace /var/www/webhidra/principal/webeac/EAC.conf a /var/EAC/config/EAC.conf (cuando hacemos svn update no mantiene correctamente el enlace) modificar la función eleccion() del fichero /var/www/webhidra/barrammenu.php para que añada un nuevo case {{{ case 11: href="./principal/webeac/status/contenido.php" href2="./principal/webeac/status/principal.php" break; }}} modificar la barra (tabla html) del fichero /var/www/webhidra/barramenu.php para que añada un nuevo elemento cuando idtipousuario no sea superadministrdor {{{ podemos copiar la primeras etiquetas TD, aquella de onclick=eleccion(this,1) ...... copiarla antes del else y cambiar el onclick=(eleccion(this,11) .... y }}}