Version 1 (modified by 14 years ago) (diff) | ,
---|
Instalación y configuración de OpenGnSys paso a paso
El objetivo es describir la instalación y configuración de todo el sistema OpenGnSys partiendo de una instalación mínima y limpia del servidor.
Instalando el sistema mínimo
Partimos del disco de instalación de Ubuntu Server 9.04 32 bits, cuando presente la pantalla de instalación pulsamos F4 para elegir el tipo de instalación "Máquina virtual mínima". Cuando presente la lista de paquetes a instalar marcamos únicamente el OpenSSH Server.
Al reiniciar reconfiguramos la red, para utilizar dirección IP estática.
Nota: En este ejemplo de instalación el servidor va a tener la dirección IP 10.2.0.12 y en el mismo servidor van a estar las funciones de OpenGNSys Server y OpenGNSys Repository Manager.
Instalando los servicios básicos
NFS: Para exportar los directorios con las utilidades que utilizarán los clientes que arranquen utilizando este sistema.
aptitude install nfs-kernel-server
Servidor DHCP (Si es necesario): Para la asignación de direcciones y configuración de red.
aptitude install dhcp3-server (ignorar el mensaje de error, lo configuraremos más tarde)
TFTP: Para servir las imagenes de arranque por PXE a los clientes.
aptitude install tftpd-hpa
udpcast: Distribución por multicast de las imagenes de las particiones a clonar.
aptitude install udpcast
bittorrent: Distribución por bittorrent de las imagenes de las particiones a clonar.
aptitude install bittorrent
apache2
aptitude install apache2
php
aptitude install php5
mysql y conector php5-mysql
aptitude install mysql-server aptitude install php5-mysql
El instalador pide la contraseña de root para mysql. Si no lo hiciera, o para otras distribuciones, ejecutar como root o mediante el comando sudo,
/usr/bin/mysqladmin -u root password ''nuevaclave''
Instalando las utilidades necesarias
Syslinux
aptitude install syslinux
wget
aptitude install wget
bzip2
live-helper
subversion
Instalando las utilidades necesarias para la compilación de los servicios de hidra (se podría realizar en otra máquina con la misma arquitectura)
aptitude install make aptitude install gcc aptitude install g++ aptitude install libmysqlclient15-dev
Instalando las utilidades recomendadas
memtest86+
Creación de directorios necesarios
Se crea el directorio del proyecto en /opt
mkdir /opt/opengnsys
y a continuación los directorios necesarios para los distintos componentes:
para los binarios del servidor
mkdir /opt/opengnsys/bin
para los archivos de configuracion creamos el directorio dentro del proyecto y lo enlazamos desde /etc/opengnsys
mkdir /opt/opengnsys/etc ln -s /opt/opengnsys/etc /etc/opengnsys
creamos el directorio donde estarán los componentes que se exportan por NFS a los clientes, aquí están los ejecutables con el motor de clonación y las utilidades asociadas.
mkdir /opt/opengnsys/client mkdir /opt/opengnsys/client/lib mkdir /opt/opengnsys/client/lib/udeb mkdir /opt/opengnsys/client/lib/engine mkdir /opt/opengnsys/client/lib/engine/bin mkdir /opt/opengnsys/client/cache mkdir /opt/opengnsys/client/etc mkdir /opt/opengnsys/client/etc/init mkdir /opt/opengnsys/client/etc/preinit mkdir /opt/opengnsys/client/etc/startpages
creamos el directorio para las librerias de las utilidades
mkdir /opt/opengnsys/lib
los directorios de logs y enlazamos desde /var/log/opengnsys
mkdir /opt/opengnsys/log mkdir /opt/opengnsys/log/client ln -s /opt/opengnsys/log /var/log/opengnsys
repositorio donde se almacenarán las imagenes de particiones y discos
mkdir /opt/opengnsys/images
Para el gestor web
mkdir /opt/opengnsys/www
Instalación de los componentes del proyecto
Nos situamos en el directorio de trabajo local y actualizamos el repositorio para tener la última versión:
svn co svn://www.informatica.us.es:3690/opengnsys
Instalación del gestor web (ogAdmWebCon)
Crear la base de datos
Crear en el gestor de base de datos el usuario con el que se accederá desde el gestor web con todos los privilegios:
mysql -p <<<"CREATE DATABASE bdopengnsys; GRANT ALL PRIVILEGES ON bdopengnsys.* TO usuog@10.2.0.12 IDENTIFIED BY 'passusuog'"
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.
mysql -u usuog -p bdopengnsys < opengnsys/trunk/admin/ogAdmSources/ogAdmWebCon/BD/ogBDAdmin.sql
Copiar la paginas web
Copiamos el directorio de la rama oficial:
cp -pr opengnsys/trunk/admin/ogAdmSources/ogAdmWebCon/* /opt/opengnsys/www
renombramos el /var/www original por si acaso y creamos un enlace simbólico al del proyecto
mv /var/www /var/www.orig ln -s /opt/opengnsys/www /var/www
Modificamos el propietario del directorio por el usuario y grupo que lanza el servidor web
chown www-data:www-data /opt/opengnsys/www -R
Modificamos la configuración en el fichero includes/controlacceso.inc
$cnx="10.2.0.12;usuog;passusuog;bdopengnsys;sqlserver"; // Cadena de conexión a la base de datos $ips="10.2.0.12"; // IP del servidor ogAdmServer $prt="2008"; // Puerto de comunicación con el servidor $wer="http://10.2.0.12/pagerror.php"; // Página de redireccionamiento de errores $wac="http://10.2.0.12/acceso.php"; // Página de login de la aplicación
Compilación e instalación del servidor ogAdmServer
Nos situamos dentro del repositorio en el directorio trunk/admin/ogAdmSources/ogAdmServer y creamos el ejecutable:
make
copiamos el ejecutable al directorio de binarios del servidor y el archivo de configuración al de configuraciones:
cp ogAdmServer /opt/opengnsys/bin/ cp ogAdmServer.cfg /opt/opengnsys/etc/
modificamos el archivo de configuración /opt/opengnsys/etc/ogAdmServer.cfg con los datos de nuestra configuración:
IPhidra=10.2.0.12 Puerto=2008 AulaUp=0 Usuario=usuog PassWord=passusuog DataSource=10.2.0.12 Catalog=bdopengnsys
Compilación e instalación del servidor de repositorio ogAdmRepo
Nos situamos dentro del repositorio en el directorio trunk/admin/ogAdmSources/ogAdmRepo y creamos el ejecutable:
make
copiamos el ejecutable al directorio de binarios del servidor y el archivo de configuración al de configuraciones:
cp ogAdmRepo /opt/opengnsys/bin/ cp ogAdmRepo.cfg /opt/opengnsys/etc/
modificamos el archivo de configuración /opt/opengnsys/etc/ogAdmRepo.cfg con los datos de nuestra configuración:
IPlocal=10.2.0.12 IPhidra=10.2.0.12 Puerto=2008
Antes de poder lanzar este proceso hay que dar de alta este repositorio en el gestor web.
Configuración NFS
Los clientes arrancan por red recibiendo un sistema operativo mínimo para reducir el tiempo de arranque, para poder realizar las tareas relacionadas con la clonación necesitan acceder además a tres directorios del servidor:
- /opt/opengnsys/client/ que contiene los ejecutables con el motor de clonación y las utilidades asociadas.
- /opt/opengnsys/images/ lugar de almacenamiento de las imagenes de las particiones y discos para crear/restaurar.
- /opt/opengnsys/log/clients donde se graban los logs con el resultado de la ejecución de las diferentes tareas.
para poder utilizar estos directorios hay que crear los directorios en el servidor y hacer que se exporten por NFS y, en el cliente, montarlos al inicio. La parte cliente la realiza el script loadenviron.sh que se ejecuta en el proceso de arranque del mismo.
Hay que modificar el fichero /etc/exports con las siguientes líneas:
/opt/opengnsys/client/ 10.2.1.0/255.255.255.0(ro,no_subtree_check,no_root_squash,sync) /opt/opengnsys/images/ 10.2.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync,crossmnt) /opt/opengnsys/log/client 10.2.1.0/255.255.255.0(rw,no_subtree_check,no_root_squash,sync)
y por último reiniciamos el demonio NFS para que recoja las modificaciones:
/etc/init.d/nfs-kernel-server restart
En este ejemplo los clientes reciben por DHCP direcciones ip pertenecientes a la subred 10.2.1.0, si hubiera más subredes habría que añadir estas tres líneas para cada una de ellas.
Configuración del sistema para los clientes
Arranque por PXE
Preparación del sistema de arranque por red para los ordenadores cliente:
Copiamos el fichero de arranque por PXE al directorio desde el que se lo descargarán los clientes, creamos el directorio donde se almacenan las diferentes opciones de arranque por cliente y copiamos del repositorio el fichero con la configuración de arranque por defecto.
cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/ mkdir /var/lib/tftpboot/pxelinux.cfg cp trunk/server/PXE/pxelinux.cfg/default /var/lib/tftpboot/pxelinux.cfg/
OpenGNSys Client Boot
Copiamos desde el repositorio los scripts y ficheros, ejecutables directamente desde el servidor de OpenGNSys, y que son necesarios para configurar los procesos de arranque de los clientes:
- initrd-generator:Script de generación de los básicos de arranque del cliente(initrd y kernel).
- upgrade-clients-udeb.sh: Script de descarga de paquetes udeb, que serán incluidos en el directorio de librerías importadas por los clientes.
- udeblist.conf: Fichero de configuración que incluye la lista de paquetes udeb que deben ser descargados o eliminados.
cp trunk/client/boot/initrd-generator /opt/opengnsys/bin/ cp trunk/client/boot/upgrade-clients-udeb.sh /opt/opengnsys/bin/ cp trunk/client/boot/udeblist.conf /opt/opengnsys/etc/
Generamos los ficheros básicos de arranque del cliente y los colocamos para que los cojan los clientes PXE:
/opt/opengnsys/bin/initrd-generator mv linux /var/lib/tftpboot/ mv initrd.gz /var/lib/tftpboot/
Descarga de los paquetes udeb que se deben exportar a los clientes
/opt/opengnsys/bin/upgrade-clients-udeb.sh
Copiamos el motor de clonación desde el repositorio
cp trunk/client/engine/* /opt/opengnsys/client/lib/engine/bin/